Ordner und Verzeichnisse auslesen
Übersicht

TritiumBetreff: Ordner und Verzeichnisse auslesen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da ich für mein aktuelles Projekt eine Funktion brauchte, die für mich alle Ordner ausliest, habe ich mir jetzt eine geschrieben (der Satz ist irgendwie sinnlos, aber mir ist keine bessere Einleitung eingefallen ![]() Code: [AUSKLAPPEN] Graphics 800,600
Color 0,255,0 ordner_auslesen() WaitKey End Function ordner_auslesen(ebene=0,dir$="A:\") If Right(dir,1) <> "\" Then dir = dir + "\" Repeat rdir = ReadDir(dir) If rdir > 0 Then Print dir ;Ordner-Node Repeat file$ = NextFile(rdir) If file <> "" And file <> "." And file <> ".." Then If FileType(dir+file) = 1 Then Print dir+file ;Datei-Node ElseIf FileType(dir+file) = 2 Then ordner_auslesen(ebene+1,dir+file) EndIf EndIf Until file = "" ElseIf ebene = 0 Then If Not Left(CurrentDir(),1) = "Z" Then dir = Chr(Asc(Left(dir,1))+1) + ":\" Else Exit EndIf EndIf Until file = "" And rdir > 0 End Function Der Code vor der Funktion ist logischerweise dazu da, diese aufzurufen, damit Ihr das sofort ausprobieren könnt. Die Verwendung der Funktion ist sehr einfach: ebene gibt die Rekursionstiefe der Funktion an. Standard-Wert ist 0, mit anderen Werten lassen sich aber ganz nützliche Effekte erzielen. dir$ gibt den Startordner an, von dem aus die Funktion alle Dateien, Ordner und Unterordner (auch wieder mit Dateien) ausliest. Die zwei kommentierten Stellen im Code sind die Stellen, an denen das Programm einen Ordner oder eine Datei "erkannt" hat. Ich hab da einfach mal Print hingeschrieben, damit man was sieht, das kann natürlich gegen was anderes getauscht werden. |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist nichts aussergewöhnliches.
Gibts sogar in der OH Beispiel dazu. |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich weiß, dass das nichts außergewöhnliches ist, viele scheinen aber damit Probleme zu haben. Deswegen hab ich das hier gepostet. | ||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ..
und es ist rekursiv ....... cool gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
in die reihe (einfach/nichts bemerkenswertes und hat mit ordnern zu tun) passt auch das hier von mir:
Code: [AUSKLAPPEN] Function killdir(dir$)
Local rd = ReadDir(dir$) NextFile(rd) Local nxf$ = NextFile(rd) While nxf$ <> "" nxf$ = NextFile(rd) If nxf$ <> "" Then If FileType(dir$+"\"+nxf$) = 1 Then DeleteFile(dir$+"\"+nxf$) ElseIf FileType(dir$+"\"+nxf$) = 2 Then killdir(dir$+"\"+nxf$) EndIf EndIf Wend DeleteDir(dir$) End Function diese funktion löscht einen ordner mit allen unterordnern und dateien. damit ham auch ein paar leute schon schwierigkeiten gehabt. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich find es ist relativ schnell, is sicher nützlich ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group