geloescht_avoid Geschrieben 13. Dezember 2005 Geschrieben 13. Dezember 2005 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" Zitieren
Exodus Geschrieben 13. Dezember 2005 Geschrieben 13. Dezember 2005 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. Zitieren
geloescht_avoid Geschrieben 14. Dezember 2005 Autor Geschrieben 14. Dezember 2005 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); } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.