ExamineDirectory et les filtres

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

ExamineDirectory et les filtres

Message 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() ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: ExamineDirectory et les filtres

Message 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,".")
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: ExamineDirectory et les filtres

Message par G-Rom »

tu as GetExtensionPart() qui te permet de récupérer l'extension , mon stringfield plus haut est caduc :D
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ExamineDirectory et les filtres

Message 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()
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ExamineDirectory et les filtres

Message 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.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: ExamineDirectory et les filtres

Message 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)
Répondre