Bon, je croi que tout marche bien.
Au cas où ça interresse quelqu'un, voici le code.
Code : Tout sélectionner
Procedure.s ListFiles(directory.s , filename.s, extension.s , directoryid.l )
Global compteur
If Right(directory,1)<>"\"
directory+"\"
EndIf
ExamineDirectory(directoryid,directory,"*.*")
dirid=NextDirectoryEntry()
While dirid
Select dirid
Case 1
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()
;file contains the full path and filename
;you must insert here what to do with the file
WriteStringN(file)
compteur=compteur+1
EndIf
EndIf
EndIf
Case 2
If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."
ListFiles(directory+DirectoryEntryName()+"\",filename,extension,directoryid+1)
UseDirectory(directoryid)
EndIf
EndSelect
dirid=NextDirectoryEntry()
Wend
ProcedureReturn ""
EndProcedure
folder$=PathRequester("Dossier où seront listés les MP3","C:\")
If folder$
m3u$=SaveFileRequester("Enregistrer la PlayListe sous",folder$+"musiques.M3U","PlayListe M3U(*.M3U)|*.M3U)",0)
If m3u$
ext$=GetExtensionPart(m3u$)
If ext$<>"m3u"
temp$=Right(m3u$, 4) ; On ne prand que les quatre derniers caractères de m3u$ que l'on mait dans la variable temp$ pour ne pas effacer m3u$
temp$=Left(temp$,1) ; On ne prand que l'éventuel point d'une extension
If temp$="."
m3u$=Left(m3u$, Len(m3u$)-4) ; Important il faut retirer les 4 derniers characteres (l'extention+le point)
EndIf
m3u$=m3u$+".M3U" ; maintenant on met la bonne extention
EndIf
If CreateFile(0,m3u$)
ListFiles(folder$,"*","mp3",0) ; the last parameter should be zero
CloseFile(0)
If compteur=0
MessageRequester("M3U Generator","La PlayListe "+m3u$+" n'a pas été créée car le répertoire "+folder$+" ne contenait aucun MP3.",#mb_ok|#mb_iconasterisk)
If DeleteFile(m3u$)=0
MessageRequester("Erreur","La Playliste vide n'a pas pu être supprimée.",#mb_ok|#mb_iconstop)
EndIf
Else
nombre$=Str(compteur)
MessageRequester("M3U Generator","La PlayListe "+m3u$+" a été créée."+#crlf+"Elle contient "+nombre$+" MP3.",#mb_ok|#mb_iconasterisk)
EndIf
Else
MessageRequester("Erreur","Impossible de créer la PlayListe.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreur","Tu n'as pas sélectionné de titre pour la PlayListe.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreur","Tu n'as pas sélectionné le docier où les MP3 doivent être listés.",#mb_ok|#mb_iconstop)
EndIf
About("M3U Generator","Copyright "+#copyright+" "+FormatDate("%yyyy par Gansta93. Tous droits réservés.",Date()),0)
End
Et voila un générateur de PlayListe MP3 d'un répertoir ainsi que de ses sous-répertoires.
Je n'ai pas pu testé beaucoup, mais en tout cas la playliste fabriquée est compatible avec le très célèbre Winamp.
Si quelqu'un souhaite améliorer ce code, qu'il poste ici, j'adore évoluer dans ma passion qu'est la programmation, en PureBasic biensur

.
Et en ce qui concerne le correcteur, je suis très sérieux!
Bon il est sur que je ne ferait pas le dictionnair, mais je peux aider pour les codes

.
Bon comme je l'ai dis si quelqu'un veut améliorer mon petit M3U Generator, qu'il le face, s'il veut le produire à son nom, qu'il le face mais quand même qu'il me remerci

j'ai quand même maché le travail.
Encore merci à vous!!!!!!!!
