Page 1 sur 1

ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 17:07
par Ar-S
Si

Code : Tout sélectionner

ExamineDirectory(0, Repertoire$, "*.jpg)
ça marche

si

Code : Tout sélectionner

ExamineDirectory(0, Repertoire$, "*.jpg;*.tiff")
ça marche plus.

Quelle est la syntaxe pour imposer plusieurs types de fichiers dans un ExamineDirectory() ?

Re: ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 17:35
par G-Rom
j'ai eu le même problème à l'instant même :D

j'utilise le filtre *.*
puis à coup de stringfield je recupère le type.

Code : Tout sélectionner

 Filename.s = DirectoryEntryName(Dir)
 Type.s     = StringField(Filename,2,".")

Re: ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 17:41
par G-Rom
tu as GetExtensionPart() qui te permet de récupérer l'extension , mon stringfield plus haut est caduc :D

Re: ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 17:52
par Ar-S
j'utilise le filtre *.*
C'est justement ce que je voulais éviter ^^
Ce serait pas mal d'implanter ça dans une prochaine version de PB, sur le même principe que "filtre$" d'OpenFileRequester

Je vais donc me rabattre sur le GetExtensionPart()

Re: ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 18:04
par Ar-S

Code : Tout sélectionner

If ExamineDirectory(0, Repertoire$, "*.*")
              While NextDirectoryEntry(0)
                If DirectoryEntryType(0) = #PB_DirectoryEntry_File
                  fichier$=DirectoryEntryName(0)
                  extension$="."+LCase(GetExtensionPart(Repertoire$+fichier$))
                  Debug "Extension : "+extension$
                  If extension$=".jpg" Or extension$=".jpeg" Or extension$=".bmp" Or extension$=".png" Or extension$=".tiff"
                    Debug "fichier$ : "+fichier$
                 (...)
Claire que ça fait "lourd" pour une histoire de filtre.

Re: ExamineDirectory et les filtres

Publié : jeu. 08/avr./2010 18:38
par G-Rom
mais non...
voici une part d'asterotrix



Code : Tout sélectionner

 If ExamineDirectory(1,RessourceLocation(),"*.*")
    WriteLogDescription(*App\Log,"Ajout d'un repertoire de ressource : " +Path)    

    While NextDirectoryEntry(Dir)
       

      If DirectoryEntryType(Dir) = #PB_DirectoryEntry_File
        
        Filename.s = DirectoryEntryName(Dir)
        Type.s     = StringField(Filename,2,".")
        LogName$ = "Fichier pret a charger  : .........." +Filename
        
        Name$ = UCase(StringField(Filename,1,"."))
        
        
        
        Select SupportedFormat(Type) 
          Case "bmp","png","tga","jpeg","jpg","tif"
             Ressource(Name$)\Path   = Path
             Ressource(Name$)\Type   = #RESSOURCE_TYPE_IMAGE
             Ressource(Name$)\loaded = #False 
             Ressource(Name$)\Name   = Filename 
           Case "wav","ogg"
             Ressource(Name$)\Path   = Path
             Ressource(Name$)\Type   = #RESSOURCE_TYPE_SOUND
             Ressource(Name$)\loaded = #False 
             Ressource(Name$)\Name   = Filename 
           Case "pak","zip","rar"
             Ressource(Name$)\Path   = Path
             Ressource(Name$)\Type   = #RESSOURCE_TYPE_PAK
             Ressource(Name$)\loaded = #False 
             Ressource(Name$)\Name   = Filename 
           Case "ressource"
             Ressource(Name$)\Path   = Path
             Ressource(Name$)\Type   = #RESSOURCE_TYPE_SCRIPT
             Ressource(Name$)\loaded = #False 
             Ressource(Name$)\Name   = Filename 
        EndSelect 
        
        
        WriteLog(*App\Log,LogName$)
        
      EndIf
  
     Wend
    
    FinishDirectory(Dir)