[resolu] Nom de fichiers et prise en compte de l'ordre.
Publié : sam. 05/mars/2011 23:09
Je suis confronté à un problème bien informatique.
J'ai un dossier TEST contenant 4 fichiers image.
1.jpg, 2.jpg, 11.jpg et 25.jpg
Dans l'explorer en affichage "details" il apparaissent bien dans l'ordre :
1.jpg, 2.jpg, 11.jpg et 25.jpg
J'ai ma procédure pour compter et lister les fichiers d'un répertoire, le soucis et que lui va compter ça à sa façon et du coup si je décide de renommer les images avec un
je me retrouverai avec des fichiers dans le désordre car l'ordi considèrera que 111111 est positionné avec 2.
1.jpg, 11.jpg, 2.jpg et 25.jpg
Y'a t il moyen de placer le nom des images dans le bon ordre ?
J'ai un dossier TEST contenant 4 fichiers image.
1.jpg, 2.jpg, 11.jpg et 25.jpg
Dans l'explorer en affichage "details" il apparaissent bien dans l'ordre :
1.jpg, 2.jpg, 11.jpg et 25.jpg
J'ai ma procédure pour compter et lister les fichiers d'un répertoire, le soucis et que lui va compter ça à sa façon et du coup si je décide de renommer les images avec un
je me retrouverai avec des fichiers dans le désordre car l'ordi considèrera que 111111 est positionné avec 2.
1.jpg, 11.jpg, 2.jpg et 25.jpg
Code : Tout sélectionner
Enumeration
#IMG : #AFF
EndEnumeration
Global DernierDossier$,NouveauRep$,car$,fin,Repertoire$
Global NBRfich.l
Global NewList LesFichiers.s()
Procedure CompteFichiers(dir)
Repertoire$=EventDropFiles()
Debug "Repertoire droppé : "+Repertoire$
NBRfich=0
ClearList(LesFichiers())
If ExamineDirectory(dir, EventDropFiles(), "*.jpg")
While NextDirectoryEntry(dir)
If DirectoryEntryType(dir) = #PB_DirectoryEntry_File
fichier$=DirectoryEntryName(dir)
If LCase(GetExtensionPart(fichier$))="jpg" Or LCase(GetExtensionPart(fichier$))="jpeg" ; histoire d'être sur de chopper toutes les images
AddElement(LesFichiers())
LesFichiers()= Repertoire$+"\"+fichier$
Debug LesFichiers()+" C'est le fichier num "+Str(NBRfich+1)
NBRfich+1
EndIf
EndIf
Wend
FinishDirectory(dir)
EndIf
ProcedureReturn NBRfich
EndProcedure
;--------------------------------
;- LE PROGRAMME
;--------------------------------
OpenWindow(0, 583, 629, 319, 23, "LDVM Redim 1024/768 relatif"+v$, #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
StickyWindow(0,1)
StringGadget(#AFF, 0, 0, 315, 20, "Glissez/déposez le dossier image ici",#PB_String_ReadOnly|#ES_CENTER)
EnableWindowDrop(0, #PB_Drop_Files, #PB_Drag_Copy)
;{- Boucle
Repeat
Select WaitWindowEvent()
Case #PB_Event_WindowDrop
CompteFichiers(NumDir)
Debug "il y a "+Str(NBRfich)+" images jpg dans ce dossier"
Debug "...."
If NBRfich>0 ; s'il y a des images jpg ou jpeg
;traitement()
NBRfich=0
ClearList(LesFichiers())
Else
SetGadgetText(#AFF,"Il ni a pas d'images valides dans ce répertoire")
EndIf
Case #PB_Event_CloseWindow
Select EventWindow()
Case 0
CloseWindow(0)
Break
EndSelect
EndSelect
ForEver