Aus einem Verzeichnis jede Datei einzeln öffnen



  • such nach *.txt im Verzeichnis, das is bei FindFirstFile erlaubt



  • ehm, von welcher Member muss ich den denn machen?

    laut MSDN CDaoRecordSet() aber da bekomm ich doch nur einen BOOL zurück



  • FindFirstFile und FindNextFile, nicht FindFirst und FindNext^^ *rofl*



  • jo, das sieht schon besser aus *gg*



  • Suchst du Dateien oder DB-Einträge 😉

    Für Dateien gibt es FindFirstFile - auf der Seite gibt es auch ein Beispiel, wie es angewendet wird.



  • CStoll schrieb:

    Suchst du Dateien oder DB-Einträge 😉

    Für Dateien gibt es FindFirstFile - auf der Seite gibt es auch ein Beispiel, wie es angewendet wird.

    MSS-Software schrieb:

    Hallo.

    Ich muss in ein Verzeichnis gehen, wo x Textdateien drin sind. Diese muss ich dann einzeln nacheinander öffnen, aufbereiten, schließen und verschieben.

    Da die Dateien jedesmal unterschiedliche Namen haben, kann ich die nicht expliziet benennen. Desshalb müsste ich wissen, wie ich das machen kann, dass er automatisch eine nach der anderen nimmt.

    Dann müsste ich noch den Code zum verschieben einer Datei wissen.

    Wäre lieb, wenn ihr mir helfen könnt.

    mfg

    🙄 🙄 *lol*

    schon alles geklärt 😃



  • Das hier durchsucht dir ein Verzeichniss nach allen *.cpp Dateien und schreibt sie in ein CListCtrl

    void CListDirView::OnButton1() 
    {
    	CFileFind ff;
    	CString Pathname;
    	m_Dir.GetWindowText(Pathname);
    	SetCurrentDirectory(Pathname);
    	ff.FindFile("*.cpp");
    	m_Files.InsertColumn(0,"Files");
    	m_Files.SetColumnWidth(0,500);
    	CString FileName = "";
    	m_Files.DeleteAllItems();
    	while (ff.FindNextFile())
    	{
    		if (ff.IsDots()) continue;
    		FileName = ff.GetFileName();
    		m_Files.InsertItem(0,FileName);
    	}
    	FileName = ff.GetFileName();
    	m_Files.InsertItem(0,FileName);
    }
    

    vll hilft dir das weiter

    Edit: btw würd ich SO nicht übernehmen da die breite der Spalte sich mit jedem aufruft erhöht aber du brauchst ja sowieso nur das suchen.



  • eine frage hab ich noch

    wenn ich den code jetzt so stricke

    hFind = FindFirstFile("C:\\Test", &FindFileData);
    	if (hFind == INVALID_HANDLE_VALUE) 
    	{
    		MessageBox("Invalid File Handle.",NULL,MB_OK);
    	} 
    	else 
    	{
    		CString test;
    		test.Format("The first file found is %s",FindFileData.cFileName);
    		MessageBox(test);
    		FindClose(hFind);
    	}
    

    findet er mir wunderbar die erste file, gibt sie mir aber ohne endung aus.

    ich meine, da ich dahinter eh noch '\*.txt' anhänge, (was auch wunerbar funzt --> schon probiert) soll es mir eigentlich eh egal sein, aber ich würde es schon gern wissen.



  • Pellaeon schrieb:

    🙄 🙄 *lol*

    schon alles geklärt 😃

    Ja, das war mir klar - die "Frage" war als Denkanstoß für MSS-Software gemeint (bezüglich CDaoRecordSet) 😉

    findet er mir wunderbar die erste file, gibt sie mir aber ohne endung aus.

    Vermutlich hat das erste gefundene File keine Endung 😉 Etwas weiter unten auf der MSDN-Seite ist auch ein Beispiel verlinkt, mit dem man den kompletten Verzeichnisinhalt auslesen kann - dort mußt du nur noch "." durch "*.txt" ersetzen.



  • CStoll schrieb:

    Pellaeon schrieb:

    🙄 🙄 *lol*

    schon alles geklärt 😃

    Ja, das war mir klar - die "Frage" war als Denkanstoß für MSS-Software gemeint (bezüglich CDaoRecordSet) 😉

    Hm Auslöser war dein vergessenes File im Post^^ *lol*


Anmelden zum Antworten