habe das FindFile aus dem englischen Forum auf Purebasic 4.10 Beta 4 angepasst. Wenn ich Zeit habe erweitere ich es um "Wildcards"...
Gruß Michael
Code: Alles auswählen
;-TOP
; Kommentar : Eine einzelne Datei wird gesucht
;
; Version : v1.00
; Author : by blueznl 15/Nov/2003 and by DiGe 03/Feb/2005
; Anpassung an 4.10 beta4 by Michael Paulwitz
;
; Datei : Findfile.pb
; Erstellt : 9.11.2007
; Sprache : Purebasic 4.10 Beta 4 Windows
; ***************************************************************************************
Procedure.s FindFile(Dir.s,file.s)
Protected ID.l, files.s
If Right(Dir, 1) <> "\"
Dir + "\"
EndIf
ID = ExamineDirectory(#PB_Any, Dir, "")
If ID
While NextDirectoryEntry(ID)
Select DirectoryEntryType(ID)
Case 0
Break
Case #PB_DirectoryEntry_File
If UCase(DirectoryEntryName(ID)) = UCase(file.s)
ProcedureReturn Dir + DirectoryEntryName(ID)
Break
EndIf
Case #PB_DirectoryEntry_Directory
If DirectoryEntryName(ID) <> "." And DirectoryEntryName(ID) <> ".."
files.s = FindFile(Dir + DirectoryEntryName(ID),file.s)
If files.s
Break
EndIf
EndIf
EndSelect
Wend
FinishDirectory(ID)
EndIf
ProcedureReturn files.s
EndProcedure
Dir.s = PathRequester("Pfad auswählen...", "C:\")
If Dir
Dateisuchen.s = "explorer.exe"
Datei.s = FindFile(Dir,Dateisuchen)
If Datei
MessageRequester(Dir, "Die Datei <" + Datei + "> wurde gefunden")
Else
MessageRequester(Dir, "Die Datei <" + Dateisuchen + "> wurde nicht gefunden")
EndIf
EndIf
End