@ MXVA: Danke, das habe ich schon gesehen!
@ Kiffi: Deinen Link habe ich auch schon gesehen! Funktioniert auch bei mir. Aber mit Unicode kenne´ich mich noch nicht richtig aus, außerdem läuft der Code nicht unter Windows 9x/ME oder niedriger.
Da habe ich mich bereits gestern hingesetzt und nen Code geschrieben, der die ganze Festplatte scannt, und alle Dateinamen und Ordnernamen un eine Linkedlist schreibt, braucht lt. Taskmanager nur ca. 7 MB RAM. Der Scan geht eiegntlich ganz schnell: 5 Sekunden. Ist das denn real? Würde es sich lohnen, bei Änderung mittels obigem Code die LinkedList zu durchlaufen?
Hier mein Code. Um den unter 4.00 zum Laufen zu bringen, bitte die LinkedList Global machen, UseDirectory() durch FinishDirectory() und NextDirectory() durch [...?...] ersetzen.
Code: Alles auswählen
NewList datei.s()
Procedure scan(pfad.s)
Protected dir, type
dir=ExamineDirectory(#PB_Any, pfad, "")
If dir
UseDirectory(dir)
type=NextDirectoryEntry()
While type
If DirectoryEntryName() <> ".." And DirectoryEntryName() <> "."
AddElement(datei())
If type = 1
datei()=pfad+DirectoryEntryName()
Else
datei()=pfad+DirectoryEntryName()+"\"
scan(datei())
UseDirectory(dir)
EndIf
EndIf
type=NextDirectoryEntry()
Wend
EndIf
EndProcedure
start=ElapsedMilliseconds()
scan("C:\")
Debug ElapsedMilliseconds()-start