[SOLVED] ExamineDirectory() mehrere Pattern benutzen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

[SOLVED] ExamineDirectory() mehrere Pattern benutzen

Beitrag von R3booz »

Wie kann ich das bei dem Befehl machen? ich hab schon zwei arten ausprobiert:

Code: Alles auswählen

ExamineDirectory(0, folder.s, "*.png|*.bmp")
oder

Code: Alles auswählen

ExamineDirectory(0, folder.s, "*.png | *.bmp")
Da kommt nur, dass 'folder.s (= D:\) nicht geöffnet wurde.

Und:

Code: Alles auswählen

ExamineDirectory(0, folder.s, "*.png;*.bmp")
oder

Code: Alles auswählen

ExamineDirectory(0, folder.s, "*.png ; *.bmp")
Aber da findet er gar keine Dateien obwohl welche existieren :|

Bitte um Hilfe :(

mfg R3booz

EDIT:
ich hab hier einen Beitrag gefunden aber der bestätigt nur die 2. möglichkeit die nicht funktioniert:
http://www.purebasic.fr/english/viewtop ... =3&t=25537
Zuletzt geändert von R3booz am 30.12.2012 22:41, insgesamt 1-mal geändert.
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
bizzl
Beiträge: 82
Registriert: 08.09.2005 18:07
Computerausstattung: AMD Athlon II X4 635
Windows 7 64 Bit
Wohnort: Nordhessen - früher : Südniedersachsen

Re: ExamineDirectory() mehrere Pattern benutzen

Beitrag von bizzl »

Hallo,
ich würde es so machen:

Code: Alles auswählen

EnableExplicit

Define folder.s="C:\"
Define name.s

If ExamineDirectory(0,folder,"*.*") ;alles einlesen
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      name=DirectoryEntryName(0) ;Dateinamen holen
      ;und filtern
      If UCase(GetExtensionPart(folder+name))="JPG" Or UCase(GetExtensionPart(folder+name))="PNG"
        Debug name
      EndIf      
    EndIf   
  Wend
  FinishDirectory(0)
EndIf
Zuletzt geändert von bizzl am 30.12.2012 19:39, insgesamt 1-mal geändert.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: ExamineDirectory() mehrere Pattern benutzen

Beitrag von R3booz »

Ok vielen Dank :allright:
Problem gelöst machs nun so :D
und ich gelesen dass immer nur ein Pattern geht :(

mfg

EDIT:
anderes Problem wie kann ich das machen wenn ich eine String mit endungen hab die immer unterschiedlich ist?
z.B.

Code: Alles auswählen

*.png *.bmp *.jpg
und dann vom user zu

Code: Alles auswählen

*.txt *.bat *.png
geändert wird und dann nochmal examinedir() eingesetzt werden soll?

:?

mfg R3booz
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: ExamineDirectory() mehrere Pattern benutzen

Beitrag von Sicro »

Code: Alles auswählen

;und filtern
ExtensionsString.s = "*.png *.bmp *.jpg" ; Hier deine Endungen angeben

ExtensionsString = " " + ExtensionsString + " "
If FindString(UCase(ExtensionsString), " *." + UCase(GetExtensionPart(folder+name)) + " ")
  Debug name
EndIf
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: ExamineDirectory() mehrere Pattern benutzen

Beitrag von R3booz »

ok jetzt funktioniert es ausgezeichnet
endlich danke <)

mfg r3booz
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Antworten