Durchsuchen und Finden
-
Hallo,
Ich möchte in einer MFC-Anwendung über einen Durchsuchen-Button den Benutzer bitten einen Pfad auszuwählen, wichtig, er soll nur einen Pfad bzw. einen Ordner auswählen, keine spezielle Datei, wie ist dies möglich ?
Als Zweites möchte ich dann nun, alle Dateien, die sich in diesem Verzeichnis befinden in eine Liste ausgeben lassen, wie ist dies möglich ?
Dies ist wirklich sehr Wichtig, bitte um euere Hilfe, danke!
mfg
-
Ganz einfach
Der_Gast schrieb:
Ich möchte in einer MFC-Anwendung über einen Durchsuchen-Button den Benutzer bitten einen Pfad auszuwählen, wichtig, er soll nur einen Pfad bzw. einen Ordner auswählen, keine spezielle Datei, wie ist dies möglich ?
Such dir was aus:
http://www.codeguru.com/dialog/folder_dialog.shtml
http://www.codeguru.com/dialog/dir_picker.shtml
http://www.codeguru.com/dialog/dir_dialog.shtml
http://www.codeguru.com/dialog/SelectFolder.shtml
http://www.codeguru.com/dialog/dir_dialog2.shtml
http://www.codeguru.com/dialog/SelectFilesOrFolders.shtml
http://www.codeguru.com/dialog/DirDialogPhillips.shtml
http://www.codeguru.com/dialog/DirSelDlg.html
http://www.codeguru.com/dialog/pathdialog.shtml

Der_Gast schrieb:
Als Zweites möchte ich dann nun, alle Dateien, die sich in diesem Verzeichnis befinden in eine Liste ausgeben lassen, wie ist dies möglich ?
Versuchs mal mit
CFileFind FF; BOOL bWorking = FF.FindFile("D:\\*.exe"); while(bWorking) { bWorking = FF.FindNextFile(); AfxMessageBox(FF.GetFileName()); }Grüße Rapha
-
Hallo,
Danke, habe noch ein weiteres Problem. Ich möchte aus der Liste ein sogenanntes ListControl hinzufügen. Vor jedem Listeneintrag soll also noch eine Checkbox zum Auswählen. Wie kann ich dies realisieren ?
-
Hallo,
Und zum Schluß möchte ich jede Datei auch auslesen und einen bestimmten Wert rausziehen, wie kann ich dies dann realisieren ?
mfg
-
Hi
CStdioFile file; file.Open(blablabla); CString strLine; file.ReadString(strLine); file.Close();Grüße Rapha
-
Hallo,
Funktioniert leider nicht, gibt es andere Möglichkeiten ?
-
Hallo,
Nochmals, ich bekomme diesen Fehler:
error C2660: 'Open' : Funktion akzeptiert keine 1 ParameterAls Übergabewert habe ich den Pfad angegeben (ein CString-Objekt).
CString strPfad = "D:\bla.txt";
CStdioFile file;
file.Open(strPfad );
CString strLine;
file.ReadString(strLine);
file.Close();Was ist da falsch ?
Komme mit der Hilfe nicht klar, danke!
-
Laut msdn hat der Konstruktor von CFile 2 Parameter
:CFile( LPCTSTR lpszFileName, UINT nOpenFlags );
Versuchs also mal mit
CString strPfad = "D:\bla.txt"; CStdioFile file; file.Open(strPfad, CFile::typeText | CFile::modeRead); CString strLine; file.ReadString(strLine); file.Close();Grüße Rapha
-
Hallo,
Danke, gibt es keine Möglichkeit, auf einen Schlag den gesamten Inhalt der Datei auszulesen, dieser Schnipsel ließt ja immer nur eine Zeile ?
-
Hallo,
Sorry, nochmals. Wie kann ich da am einfachsten eine Schleife machen, damit ich Zeile für Zeile aus der Textdatei den Inhalt auslesen kann ?
Bitee, wirklich Wichtig, danke!
mfg
-
Klar
Habs mal wieder praktisch in eine Funktion verpackt

CString GetFileContent(CString strFile) { CString strContent; char cBuffer[512]; CFile fFile; BOOL bSuccess = fFile.Open(strFile, CFile::modeRead | CFile::typeText); if(!bSuccess) return ""; while(UINT nBytesRead = fFile.Read(cBuffer, 512)) { cBuffer[nBytesRead] = '\0'; strContent += cBuffer; } fFile.Close(); return strContent; }(Hat so natürlich nur bei Textdateien sinn :p )
Grüße Rapha
-
Hallo,
Wenn ich nun eine Log-Datei schreiben möchte, wie mache ich dies am einfachsten
?mfg
-
Also gut, noch eine Funktion

bool SaveLog(CString strLog, CString strFileName) { if(strFileName.IsEmpty()) return false; CStdioFile fFile; BOOL bSuccess = fFile.Open(strFileName, CStdioFile::modeCreate | CStdioFile::modeWrite | CStdioFile::typeText); if(!bSuccess) return false; fFile.WriteString(strLog); fFile.Close(); return true; }1. Parameter: Log-Inhalt
2. Parameter: Name der Log-DateiGrüße Rapha
-
Hi aus welcher Bibliothek stammt CFileFind?
Kennst du auch eine Möglichkeit Dateien vom selben Format nach einen Attribut zu sortieren?
Gruss