Page 1 sur 1

ExamineDirectory()... quelques questions

Publié : ven. 26/nov./2004 22:49
par gansta93
Bonjour,

Dans le code suivant:

Code : Tout sélectionner

Procedure.s ListFiles(directory.s, filename.s, extension.s, directoryid.l )
  
  ; Deffinition de la variable pour connaître le nombre de MP3 que contiendra la PlayListe
  ; On la déclare en Global pour qu'elle puisse être utilisée à l'extérieure de la procedure
  Global compteur
  
  ; Vérification de l'existance du caractère \ à la fin du chemain du répertoir à lister
  If Right(directory, 1) <> "\"
    directory + "\"
  EndIf
  
  ; On liste touts les fichier du répertoir
  ExamineDirectory(directoryid, directory, "*.*")
  ; Fichier suivant
  dirid = NextDirectoryEntry()
  While dirid
    Select dirid
      Case 1 ; Si c'est un fichier
        file.s = DirectoryEntryName()
        this_extension.s = LCase(GetExtensionPart(file))
        this_filename.s = LCase(Left(file, Len(file) - Len(this_extension)))
        If Len(this_extension)
          this_filename = Left(this_filename, Len(this_filename) - 1)
          If this_extension = extension Or extension = "*"
            If this_filename = filename Or filename = "*"
              file.s = directory + DirectoryEntryName()
              
              ; Après avoir trouvé un MP3, on l'écrit dans le fichier que l'on initialisera avant d'appeler la procedure
              WriteStringN(file)
              ; On augmente le compteur de 1
              compteur = compteur + 1
            EndIf
          EndIf
        EndIf
      Case 2 ; Si sous-dossier découvert (pas sur expliquez-moi svp)
        If DirectoryEntryName() <> "." And DirectoryEntryName() <> ".."
          ; On rappel la procedure dans laquelle on est pour lister le sous-dossier
          ListFiles(directory + DirectoryEntryName() + "\", filename, extension, directoryid + 1)
          ; On utilise le répertoir suivant
          UseDirectory(directoryid)
        EndIf
    EndSelect
    dirid = NextDirectoryEntry()
  Wend
  ProcedureReturn ""
EndProcedure
à quoi correspond le répertoir ".". Je sais que ".." est le répertoir parent, mais ".", connais pas.
et puis pourquoi on mait ExamineDirectory(Directoryid,directory,"*.*") et pas ExamineDirectory(Directoryid,directory,"*.mp3") par exemple?
Si l'on faisait comme je le dit, ça ne rendrait pas le code plus lisible ou en tout cas ça l'optimiserais pas? vu qu'il y a moins de vérifications à faire.

Si quelqu'un pouvait m'éclairer.

Merci d'avance.

Publié : ven. 26/nov./2004 23:32
par Aranoth
Le "." symbolise le dossier dans lequel tu es

Pour ExamineDirectory(Directoryid,directory,"*.mp3") c'est si tu cherche des MP3, et ca ExamineDirectory(Directoryid,directory,"*.*") c'est pour tous types de fichiers

Publié : sam. 27/nov./2004 12:24
par gansta93
Oui mais dans la procedure que j'ai posté avec mon premier msg, on fait une recherche de *.*... mais j'ai compri... :-) en fait si on faisait pas *.* on aurait pas les dossiers... autant pour moi :-).

Merci pour la réponse.