ExamineDirectory()... quelques questions

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

ExamineDirectory()... quelques questions

Message 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.
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message 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
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

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