13. Dezember 200520 j am rande ich nutze Visual C++6. MEIN PROBLEM: beim Klicken auf eine Schaltfläche soll ein Dialog geöffnet werden, ähnlich wie bei Start/Ausführen/Durchsuchen unter windows. dieser dialog ermöglicht mir eine datei, auf dem system, aus zu wählen. das klapt alles soweit. ich habe leider keinen schimmer wie ich "laufwerk + pfad + dateiname" in meine variable m_edit1 bekomme. so das ich sie, nach dem klick auf öffnen, in edit1 sehe. das ist der original code den ich für mich angepasst habe. txt ist nur zum testen, ich möchte damit dateien zu einer playliste hinzufügen this->UpdateData(); CFile f; char strFilter[] = { "TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||" }; CFileDialog FileDlg(TRUE, ".txt", NULL, 0, strFilter); if( FileDlg.DoModal() == IDOK ) { if( f.Open(FileDlg.GetPathName(), CFile::modeRead) == FALSE ) return; CArchive ar(&f, CArchive::load); ar >> m_edit1; ar.Close(); } else return; f.Close(); this->UpdateData(FALSE); ich hoffe ihr könnt nem dau wie mir helfen. ich verstehe ja noch nicht mal alle teile des codes z.b. das "f" und das "ar"
13. Dezember 200520 j CFile und CArchive sind Klassen, d.h. f und ar sind Klassenobjekte. Über diese Objekte greifst du auf die Funktionen der jeweiligen Klasse zu. Ich selbst habe die Klasse CFileDialog nie benutzt, allerdings liegt die Annahme nahe das der komplette Dateipfad von FileDlg.GetPathName() zurückgegeben wird.
14. Dezember 200520 j danke für die hilfe mittlerweile hab ich mit "Visual C++ in 21 Tagen(online version)" das problem beheben können. CFileDialog m_edit2(TRUE); [COLOR="SeaGreen"]// Dialogfeld Öffnen zeigen und Ergebnis auffangen[/COLOR] if (m_edit2.DoModal() == IDOK){ [COLOR="seagreen"] // Gewählten Dateinamen ermitteln[/COLOR] m_edit1 = m_edit2.GetPathName(); [COLOR="seagreen"] // Dialogfeld aktualisieren[/COLOR] UpdateData(FALSE); }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.