Entwickler-Ecke
Dateizugriff - Dateien eines Ordners auflisten
Nano-Ware - So 20.06.10 20:33
Titel: Dateien eines Ordners auflisten
Hey
ich suche heute schon den ganzen Tag ... ich finde dazu immer nur Codes mit sehr vielen Zeilen :P und für mich leider sehr unverständlich. Also ich habe einen bestimmten Pfad (z.B. c:/) und möchte nach einem bestimmten Format (*.png) suchen. Wie ist das möglich?
lG Nano-Ware
Nano-Ware - So 20.06.10 20:43
Vielen Dank schon viel besser^^ nur was ist Rekursiv^^ thx ;D
ZeitGeist87 - So 20.06.10 20:45
Rekursiv bedeutet, dass Unterordner bei der Suche einbezogen werden ;-)
elundril - So 20.06.10 20:49
Die beste Erklärung für Rekursion liefert wohl die englische Seite von
Google [
http://www.google.com/webhp?q=recursion], wenn man sich den "Meinten Sie"-Link ansieht, wenn man nach "Recursion" sucht. ;)
lg elundril
Nano-Ware - So 20.06.10 20:59
Es tut mir leid aber ich muss euch noch etwas fragen ... ich muss immer alles verstehn^^
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if (FindFirst(ADirectory+AMask,faAnyFile-faDirectory,SR)=0) then begin repeat if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then AList.Add(ADirectory+SR.Name) until FindNext(SR)<>0; FindClose(SR); end; |
Außer AList.Add() versteh ich nichts ;D bitte bitte wenn ihr zeit habt jedes wort erklären^^
ZeitGeist87 - So 20.06.10 21:10
Wir sind da, um zu helfen.
Somit nervt das nicht ;-)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| if (FindFirst(ADirectory+AMask,faAnyFile-faDirectory,SR)=0) then begin repeat if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then AList.Add(ADirectory+SR.Name) until FindNext(SR)<>0; FindClose(SR); end; |
Nano-Ware - So 20.06.10 22:01
Vielen Dank nur was stellen diese Worte jetzt da?
faAnyFile-faDirectory
und warum -?
ZeitGeist87 - So 20.06.10 22:03
Aus der Delphi-Hilfe
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| Beschreibung
FindFirst sucht im Verzeichnis Path nach dem ersten Eintrag, der mit dem angegebenen Dateinamen und den festgelegten Attributen übereinstimmt. Das Ergebnis wird im Parameter F zurückgegeben. Den Feldern dieses Datensatzes können Sie die benötigten Informationen entnehmen. FindFirst gibt im Erfolgsfall 0 zurück, ansonsten einen Fehlercode.
Der Konstantenparameter Path enthält das Verzeichnis und die Dateinamensmaske. Es können auch Platzhalterzeichen verwendet werden. '.\test\*.*' gibt beispielsweise alle Dateien im aktuellen Laufwerk an.
Der Parameter Attr gibt an, welche speziellen Dateien zusätzlich zu den normalen Dateien angezeigt werden. Die folgenden Konstanten können verwendet werden:
Konstante Beschreibung faReadOnly Schreibgeschützte Datei faHidden Verborgene Datei faSysFile Systemdatei faVolumeID Laufwerks-ID faDirectory Verzeichnis faArchive Archivdatei faAnyFile Beliebige Datei Sie können auch mehrere Attribute kombinieren, indem Sie die betreffenden Konstanten hinzufügen (Delphi) bzw. eine ODER-Verknüpfung (C++) durchführen. Soll beispielsweise zusätzlich zu den normalen auch nach schreibgeschützten und versteckten Dateien gesucht werden, übergeben Sie als Parameter Attr in Delphi den Wert (faReadOnly + faHidden) bzw. in C++ den Wert (faReadOnly | faHidden). |
Nano-Ware - Sa 03.07.10 12:38
Ich habe jetzt doch noch eine Frage ;'D Ich habe in einem Ordner mehrere Dateien ( *irgendeinName*_entitie.png) jetzt möchte ich alle Dateien, die dem entsprechen (also Endung _entitie.png). Geht das auch so einfach?
Ich habe schon einiges versucht, z.B in der geposteten Funktion einfach die Datei bevor sie in die Stringlist eingetragen wird zu filtern aber ich bekomm das nicht hin ._.
Lg Nano-Ware
ZeitGeist87 - Sa 03.07.10 12:40
Du musst einfach nach findfirst(pfad + '*_entitie.png', ...) suchen
Nano-Ware - Sa 03.07.10 12:43
Achso ohh Gott das tut mir leid ich habe das so verstanden, dass das wirklich nur für die Endung ist ;'D DANKE!
ZeitGeist87 - Sa 03.07.10 12:45
Nano-Ware hat folgendes geschrieben : |
Achso ohh Gott das tut mir leid ich habe das so verstanden, dass das wirklich nur für die Endung ist ;'D DANKE! |
Kein Problem :)
Deswegen nachfragen und geholfen werden :lol:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!