ExamineDirectory()

Archive.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

ExamineDirectory()

Message par Anonyme2 »

Pour moi c'est un bug

Pour tester, allez dans le dossier Resident de PureBasic, sélectionnez un fichier et faites copier.

renommer l'extension res en res1 ou res 123 ou ce que vous voulez pour laisser au moins les 3 premières lettres.

lancez ce code avec le debugger on, il contient le filtre *.res, on ne devrait voir que les fichiers .res, mais les fichiers dont l'extension commence par res sont également pris en compte, le filtre a un bug.

Code : Tout sélectionner

Procedure.s CheminPureBasic() 
          Buffer$=Space(10000):BufferSize=Len(Buffer$)-1 
          If GetVersion_() & $FF0000 ; Windows NT/XP 
                    If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "Applications\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS 
                              If RegQueryValueEx_(key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS 
                                        OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7)) 
                              EndIf 
                    EndIf 
          Else ; La même chose pour Win9x 
                    If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "Software\Classes\PureBasic.exe\shell\open\command", 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS 
                              If RegQueryValueEx_(key, "", 0, @Type, @Buffer$, @BufferSize) = #ERROR_SUCCESS 
                                        OutputDirectory$ = GetPathPart(Mid(Buffer$, 2, Len(Buffer$)-7)) 
                              EndIf 
                    EndIf 
          EndIf 
          ProcedureReturn OutputDirectory$ 
EndProcedure 

PbConstantFolder$ = CheminPureBasic() + "Residents\"
If ExamineDirectory(0, PbConstantFolder$, "*.res")
   CheminDir = NextDirectoryEntry()
      While CheminDir
         If CheminDir = 1
            Debug DirectoryEntryName()
         EndIf
         CheminDir = NextDirectoryEntry()
      Wend
EndIf
Dernière modification par Anonyme2 le mer. 09/mars/2005 20:27, modifié 1 fois.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

c clair je trouve çà etrange 8O

et inversement, regardes çà :

Code : Tout sélectionner

ExamineDirectory(0, PbConstantFolder$, "*.res.......     ")
la fonction retourne tout les .res du dossier
Image
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Flype a écrit :c clair je trouve çà etrange 8O

et inversement, regardes çà :

Code : Tout sélectionner

ExamineDirectory(0, PbConstantFolder$, "*.res.......     ")
la fonction retourne tout les .res du dossier
Oui, il semble que le test ne se fasse que sur les 3 premiers caractères du filtre
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Je relance ce post car le bug est toujours là avec la nouvelle version et m'oblige toujours à corriger mes codes chaque fois.
Répondre