title image


Smiley Re: Kann mir bitte jemand diesen Code erklären?
Der Code listet alle Dateien und einem Verzeichnis und dessen Unterverzeichnissen auf.Um diesen Code zu testen, benötigst Du ein neues Standardprojekt.Füge folgende Steuerelemente hinzu:Zwei Textfelder, "Text1" und "Text2",Zwei Bezeichnungsfelder, "Label5" und "Label6",Ein Listenfeld, "List1" undEine Schaltfläche, "Command1"Und der Code ist lauffähig.In Text1 wird das Stammverzeichnis, das durchsucht werden soll, eingetragen. Standard: "C:\Windows\"In Text2 der Dateiname, nach dem gesucht weden soll. Beispiel "*.exe". Standard: *.*Im Ereichnis Command1_Click wird zunächst die Funktion GetAllFiles aufgerunfen, die das String-Array Files() mit den Dateinamen füllt.Danach wird der Inhalt dieses Arrays in das Listenfeld übertragen und die Zähler Label5 (Verzeichnisse) und Label6 (Dateien) aktualisiert.Die Funktion GetAllFiles öffnet zunächst mit FindFirstFile ein sog. Such-Handle hFile, den ich deshalb nicht hFile, sondern hFind nennen würde.Dann wird mit FindNextFile unter Angabe von hFile die nächste Datei gesucht, bis keine mehr gefunden wird.Schließlich wird mit FindClose der Handle wieder geschlossen (Speicherfreigabe)Die Ergebnisse von FindFirstFile und FinNextFile werden in einer WIN32_FIND_DATA Struktur abgelegt, von der für uns nur das Element cFileName interessant ist.Der Rückgabewert cFileName ist ein String der Länge MAX_PATH (=259), der wie in C üblich, Nullterminiert ist.Die ZeileFile = Left(FD.cFileName, InStr(FD.cFileName, Chr(0)) - 1)Extrahiert daraus den Teilstring, den wir in VB brauchen, also alles vor dem Null-Character.Interessant ist vielleicht noch, daß es sich bei GetAllFiles um eine rekursive Funktion handelt, denn wenn ein gefundener Dateiname ein Verzeichnis ist, ruft die Funktion sich selbst auf, um den Inhalt dieses Verzeichnisses der Liste hinzuzufügen.Viel Erfolg!Thomas Prötzschcu
Thomas Prötzsch

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: