Seite 1 von 2

ExamineDirectory mit mehreren Pattern ??

Verfasst: 31.12.2005 10:05
von nco2k
guten morgen community,

gibt es eine möglichkeit bei ExamineDirectory() mehrere pattern anzugeben, so dass z.b. nur *.bmp und *.mp3 dateien aufgelistet werden, oder muss ich *.* angeben und jede einzelne datei manuel überprüfen ??

vielen dank im voraus und guten rutsch ins neue jahr!

c ya,
nco2k

Re: ExamineDirectory mit mehreren Pattern ??

Verfasst: 31.12.2005 10:43
von walker
nco2k hat geschrieben:
oder muss ich *.* angeben und jede einzelne datei manuel überprüfen ??
...leider ja...

Verfasst: 31.12.2005 21:46
von nco2k
schade. :(

naja halb so schlimm, trotzdem danke für die antwort. :)

wünsch dir noch einen guten rutsch ins neue jahr.

c ya,
nco2k

Verfasst: 04.01.2006 00:26
von Andre
Ich habe Fred aufgrund dieses Threads mal vorgeschlagen, den Befehl ExamineDirectory() so zu erweitern, dass mehrere Pattern (z.B. ".bmp|.gif") als Parameter übergeben werden können.

Er findet die Idee gut und zieht eine Umsetzung in Betracht. :)

Verfasst: 04.01.2006 00:33
von nco2k
das erspart dann wohl einiges an schreibarbeit und sollte zudem noch schneller sein, danke andre! :allright:

c ya,
nco2k

Verfasst: 04.01.2006 12:42
von PAMKKKKK
Na auf die Schnelle....

Um nicht das Directory mehrmahls mit jedem Pattern durchsuchen zu müssen:

1. Erstell dir eine (LinkedList = LiLi) mit allen Dateien (und ihren Pfaden)

2. durchsuche die LiLi nach den Pattern und kopier das gefundenen LiLi-Element in eine zweite LiLi

3. nutze als ergebnis die zweite LiLi

4. leere beide LiLis um Speicher (zu sparen)

Verfasst: 04.01.2006 13:16
von nco2k
@PAMKKKKK
ist doch total umständlich, ich machs dann lieber so in etwa:

Code: Alles auswählen

If ExamineDirectory(0, "c:\", "*.*")
  
  Repeat
    
    FileType = NextDirectoryEntry()
    If FileType = 1
      FileName.s = DirectoryEntryName()
      If FileName
        FileExtension.s = LCase(GetExtensionPart(FileName))
        If FileExtension = "bmp" Or FileExtension = "mp3"
          Debug FileName
        EndIf
      EndIf
    EndIf
    
  Until FileType = 0 
  
EndIf
c ya,
nco2k

Verfasst: 04.01.2006 13:20
von Kiffi
nco2k hat geschrieben:ich machs dann lieber so in etwa:
ACK, diese Methode würde ich auch bevorzugen.

allerdings:
nco2k hat geschrieben:

Code: Alles auswählen

FileExtension.s = GetExtensionPart(FileName)
mach um's GetExtensionPart() noch ein LCase(), damit Du auch wirklich alle Schreibarten berücksichtigst.

Grüße ... Kiffi

Verfasst: 04.01.2006 13:22
von nco2k
@Kiffi
ja stimmt, in meinem eigentlichen projekt habe ich auch ein LCase() eingebaut, aber in dem beispielcode hab ichs grad vergessen. :oops:

tortzdem danke für den hinweis. :)

c ya,
nco2k

Verfasst: 04.01.2006 13:50
von PAMKKKKK
Die Methode ist natürlich besser und schlanker!

(Wieder was gerlernt ) :)