Vous pouvez choisir les fichiers à renommer, si ce sont des images établir une conversion avec un aperçu image mais je vous laisse découvrir.
Comme la plupart de mes trucs c'est pas fini lol
Code : Tout sélectionner
;- constantes window
Enumeration
#window_0
#fenetre_efface
#fenetre_info
#fenetre_progression
EndEnumeration
;- constantes menu
;
Enumeration
#Master_menu
EndEnumeration
Enumeration
#MENU_quitter
#MENU_aide
#MENU_credit
EndEnumeration
;- constantes gadget
;
Enumeration
#frame_fichier
#explorer
#Bouton_all
#Bouton_deselect
#Check_filtre
#Combo_extention
#Liste_fichier
#Frame_renommer
#valid_rename
#label_renommer
#check_compteur1
#Check_prefixe
#Check_nom
#Check_suffixe
#Check_compteur2
#entry_prefixe
#Text_prefixe_rename
#entry_nom
#Text_nom_rename
#entry_suffixe
#Text_suffixe_rename
#Frame_apercu
#Frame_resize
#Check_resize
#Text_reechantillonage
#Frame_sortie
#Check_bmp
#Check_jpeg
#Check_png
#Frame_taille
#choix_taille
#Text_rapport
#check_rapport
#bar_compression
#indice_compression
#Bouton_lancer
#Frame_chemin
#Bouton_parcourir
#entry_chemin
#chaine_resultat
#Text_resultat
#Image_apercu
#Image_sous_menu
#Frame_lancer
#text_copie
#check_copie
#Info_efface
#Bouton_efface_oui
#Bouton_efface_tous
#Bouton_efface_non
#Text_info_1
#Text_info_version
#Text_info_2
#Text_info_3
#Text_info_4
#lien_web
#button_info_ok
#label_temps_ecoule
#Text_fichier_traite
#Bouton_ok_progression
#Bouton_arret_progression
#Text_temps_ecoule
EndEnumeration
Global FontID1
FontID1 = LoadFont(2, "arial", 22)
;- Image Globals
Global Image_sous_menu = 9002
Global Image_fond_apercu = 9000
Global image_apercu = 9001
Global image_affiche = 9003
Global selection_chemin = 0
Global first_warning_copie = 3
Global choix_format_image = 0
Structure fichier
chemin.s
fichier.s
extention.s
EndStructure
Global NewList liste_tampon.fichier()
Global NewList liste.fichier()
Global dossier_save.s = "c:\"
Global chemin_fichier.s
Global nom_fichier.s
Global taillex.l
Global tailley.l
Global rename.s
Global temps.l
Global tempo_nom.s
UseTIFFImageDecoder()
UseTGAImageDecoder()
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
;- Catch Images
Image_sous_menu = CatchImage(0, ?Image_sous_menu)
CreateImage(Image_fond_apercu,350,220)
StartDrawing(ImageOutput(image_fond_apercu))
Box(0,0,350,220,RGB(195,200,200))
StopDrawing()
CreateImage(image_affiche,350,220)
;- Images
DataSection
extend:
Data.s "bmp","doc","jpg","mp3","png","tga","tif","wav"
Image_sous_menu:
;IncludeBinary ""
EndDataSection
;----- declaration des macros et procedures
Macro active_gadget(dep,fin,valid)
For i=dep To fin
DisableGadget(i,valid)
Next
EndMacro
Macro traitement_fichier()
lenom$ = construction_nom(i,compteur_chaine)
If GetGadgetState(#check_copie)
While ReadFile(4,dossier_save+lenom$+"."+liste()\extention)
CloseFile(4)
lenom$ = lenom$ + "_copie"
Wend
CopyFile(chemin_fichier+nom_fichier, dossier_save+lenom$+"."+liste()\extention)
Else
If ReadFile(7, dossier_save+lenom$+"."+liste()\extention)
CloseFile(7)
If first_warning_copie = 3 Or first_warning_copie < 2
first_warning_copie = gestion_fenetre_efface(lenom$+"."+liste()\extention)
EndIf
If first_warning_copie > 0
RenameFile(chemin_fichier+nom_fichier, dossier_save+lenom$+"."+liste()\extention)
EndIf
Else
RenameFile(chemin_fichier+nom_fichier, dossier_save+lenom$+"."+liste()\extention)
EndIf
EndIf
EndMacro
Procedure Open_fenetre_info()
If OpenWindow(#fenetre_info, 216, 0, 300, 300, "Crédit", #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#fenetre_info))
TextGadget(#Text_info_1, 100, 25, 95, 40, "FRIZE", #PB_Text_Center)
GadgetToolTip(#Text_info_1, "FRIZE")
SetGadgetFont(#Text_info_1, FontID1)
TextGadget(#Text_info_version, 195, 40, 30, 20, "v 2.1")
TextGadget(#Text_info_2, 10, 80, 280, 30, "FRIZE , all the provided tools and components are copyrighted (c) 2006 by Kwandjeen Studio.", #PB_Text_Center)
TextGadget(#Text_info_3, 10, 130, 280, 40, "FRIZE , copyright (c) Kwandjeen Studio tous droits toutes destinations.", #PB_Text_Center)
TextGadget(#Text_info_4, 35, 180, 230, 40, "Un grand merci à Yannick Desprez pour ses tests et son soutien.", #PB_Text_Center)
HyperLinkGadget(#lien_web, 90, 220,280,20,"http://www.kwandjeen.fr", RGB(0,0,255), #PB_HyperLink_Underline)
ButtonGadget(#Button_info_ok, 100, 260, 100, 30, "OK")
EndIf
EndIf
StickyWindow(#fenetre_info, 1)
DisableWindow(#window_0,1)
action.s = ""
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #lien_web
ShellExecute_(0,"open","http:\\www.kwandjeen.fr","","",#SW_SHOWNORMAL)
;chemin_programfiles.s = folderprogramfiles()
;RunProgram(chemin_programfiles+"Internet Explorer\IEXPLORE.EXE" , "http://www.kwandjeen.fr", "")
Case #button_info_ok
CloseWindow(#fenetre_info)
DisableWindow(#window_0,0)
SetActiveWindow(#window_0)
action = "fermeture"
EndSelect
EndIf
Until action = "fermeture"
EndProcedure
Procedure fenetre_progression()
If OpenWindow(#fenetre_progression, 230, 9, 250, 100, "Progression", #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#fenetre_progression))
TextGadget(#label_temps_ecoule, 50, 8, 80, 20, "Temps écoulé :")
TextGadget(#Text_fichier_traite, 15, 30, 235, 40, "fichier", #PB_Text_Center)
ButtonGadget(#Bouton_ok_progression, 170, 70, 60, 20, "OK")
ButtonGadget(#Bouton_arret_progression, 90, 70, 60, 20, "Arreter")
TextGadget(#Text_temps_ecoule, 140, 8, 90, 20, "00 : 00")
DisableGadget(#bouton_ok_progression,1)
EndIf
EndIf
EndProcedure
Procedure fenetre_efface()
If OpenWindow(#fenetre_efface, 210, 0, 300, 100, "Attention",#PB_Window_ScreenCentered | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#fenetre_efface))
TextGadget(#Info_efface, 30, 20, 240, 40, "Le fichier xx sera écrasé voulez vous continuer ?", #PB_Text_Center)
ButtonGadget(#Bouton_efface_oui, 10, 70, 80, 20, "Oui")
ButtonGadget(#Bouton_efface_tous, 110, 70, 80, 20, "Oui (pour tous)")
ButtonGadget(#Bouton_efface_non, 210, 70, 80, 20, "Non")
EndIf
EndIf
EndProcedure
Procedure fenetre_principale()
If OpenWindow(#window_0, 209, 8, 810, 604, "FRIZE 2.1 --- KWANDJEEN Studio --- 2006", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateMenu(#Master_menu, WindowID(#window_0))
MenuTitle("FRIZE")
MenuItem(#MENU_quitter, "Quitter")
MenuTitle("?")
MenuItem(#MENU_aide, "Aide")
MenuBar()
MenuItem(#MENU_credit, "Crédit")
EndIf
If CreateGadgetList(WindowID(#window_0))
Frame3DGadget(#Frame_fichier, 10, 10, 400, 510, "Sélection des fichiers")
ExplorerTreeGadget(#Explorer, 20, 30, 170, 480, "", #PB_Explorer_NoFiles)
ListViewGadget(#Liste_fichier, 200, 60, 200, 420,#PB_ListView_Multiselect|#PB_ListView_Clickselect)
ButtonGadget(#Bouton_all, 210, 30, 80, 20, "Tout select.")
ButtonGadget(#Bouton_deselect, 310, 30, 80, 20, "Déselect.")
CheckBoxGadget(#Check_filtre, 230, 490, 50, 20, "Filtre")
ComboBoxGadget(#Combo_extention, 310, 490, 60, 200)
Restore extend
For i=1 To 8
Read extend$
AddGadgetItem(#Combo_extention,-1,extend$)
Next
SetGadgetState(#Combo_extention,0)
Frame3DGadget(#Frame_renommer, 420, 10, 370, 170, "Renommer")
CheckBoxGadget(#valid_rename, 430, 30, 80, 20, "Renommer")
CheckBoxGadget(#Check_compteur1, 430, 60, 71, 20, "compteur +")
CheckBoxGadget(#Check_prefixe, 506, 60, 58, 20, "préfixe +")
CheckBoxGadget(#Check_nom, 567, 60, 52, 20, "nom +")
CheckBoxGadget(#Check_suffixe, 621, 60, 60, 20, "suffixe +")
CheckBoxGadget(#Check_compteur2, 683, 60, 70, 20, "compteur")
StringGadget(#entry_nom, 440, 90, 150, 20, "")
StringGadget(#entry_prefixe, 440, 120, 150, 20, "")
StringGadget(#entry_suffixe, 440, 150, 150, 20, "")
TextGadget(#Text_nom_rename, 600, 93, 140, 20, "Nom des fichiers renommés")
TextGadget(#Text_prefixe_rename, 600, 123, 140, 20, "Préfixe ajouté au début")
TextGadget(#Text_suffixe_rename, 600, 153, 140, 20, "Suffixe ajouté en fin")
StringGadget(#chaine_resultat, 600, 30, 180, 20, "fichier_copie", #PB_String_ReadOnly)
TextGadget(#Text_resultat, 555, 34, 42, 16, "Résultat")
Frame3DGadget(#frame_chemin, 10, 524, 400, 50, "Dossier de sortie")
ButtonGadget(#Bouton_parcourir, 315, 543, 80, 20, "Parcourir")
StringGadget(#entry_chemin, 20, 543, 280, 20, "")
Frame3DGadget(#Frame_apercu, 420, 185, 370, 245, "Aperçu image sélectionnée")
Frame3DGadget(#Frame_lancer, 700, 490, 90, 84, "Execution")
CheckBoxGadget(#Check_copie, 715, 512, 50, 20, "Copie")
GadgetToolTip(#check_copie,"Copie ou remplace les fichiers pour un même dossier")
SetGadgetState(#check_copie,1)
ButtonGadget(#Bouton_lancer, 710, 543, 70, 20, "Lancer")
Frame3DGadget(#Frame_resize, 420, 434, 270, 140, "Rééchantillonnage")
CheckBoxGadget(#Check_resize, 430, 460, 110, 20, "Rééchantillonnage")
Frame3DGadget(#Frame_sortie, 430, 500, 250, 62, "Format de sortie")
CheckBoxGadget(#Check_bmp, 440, 530, 45, 20, "BMP")
CheckBoxGadget(#Check_jpeg, 580, 510, 45, 20, "JPEG")
CheckBoxGadget(#Check_png, 500, 530, 45, 20, "PNG")
TrackBarGadget(#bar_compression, 553, 530, 90, 20, 1, 10, #PB_TrackBar_Ticks)
SetGadgetState(#bar_compression, 8)
DisableGadget(#bar_compression, 1)
TextGadget(#indice_compression, 650, 530, 20, 16, Str(GetGadgetState(#bar_compression)), #PB_Text_Center | #PB_Text_Border)
Frame3DGadget(#Frame_taille, 550, 445, 130, 52, "Taille")
ComboBoxGadget(#choix_taille, 560, 468, 70, 300)
AddGadgetItem(#choix_taille, -1, "Original")
AddGadgetItem(#choix_taille, -1, "320*200")
AddGadgetItem(#choix_taille, -1, "320*240")
AddGadgetItem(#choix_taille, -1, "640*480")
AddGadgetItem(#choix_taille, -1, "800*600")
AddGadgetItem(#choix_taille, -1, "1024*768")
AddGadgetItem(#choix_taille, -1, "1152*864")
AddGadgetItem(#choix_taille, -1, "1280*720")
AddGadgetItem(#choix_taille, -1, "1280*768")
AddGadgetItem(#choix_taille, -1, "1280*960")
AddGadgetItem(#choix_taille, -1, "1280*1024")
AddGadgetItem(#choix_taille, -1, "1400*1050")
AddGadgetItem(#choix_taille, -1, "1600*900")
AddGadgetItem(#choix_taille, -1, "1600*1200")
SetGadgetState(#choix_taille, 0)
CheckBoxGadget(#Check_rapport, 647, 475, 16, 16, "")
GadgetToolTip(#check_rapport,"conserve les proportions de l'image, pas de déformation")
TextGadget(#Text_rapport, 635, 457, 39, 15, "Rapport")
ImageGadget(#Image_apercu, 430, 200, 350, 220, Image0)
ImageGadget(#Image_sous_menu, 0, 0, 800, 2, Image1)
active_gadget(#check_compteur1,#Text_suffixe_rename,1)
active_gadget(#frame_sortie,#indice_compression,1)
SetGadgetState(#Image_apercu,ImageID(image_fond_apercu))
EndIf
EndIf
EndProcedure
Procedure gestion_fenetre_efface(nom$)
HideWindow(#fenetre_efface,0)
fin = 0
SetGadgetText(#Info_efface,"Le fichier "+nom$+" sera écrasé voulez vous continuer ?")
Repeat
event = WaitWindowEvent(#fenetre_efface)
If event = #PB_Event_Gadget
Select EventGadget()
Case #Bouton_efface_oui
validation = 1 : fin = 1
Case #Bouton_efface_tous
validation = 2 : fin = 1
Case #Bouton_efface_non
validation = 0 : fin = 1
EndSelect
EndIf
Until fin = 1
HideWindow(#fenetre_efface,1)
SetActiveWindow(#fenetre_progression)
ProcedureReturn validation
EndProcedure
Procedure.s construction_nom(id.l,count.s)
chaine1$ = ""
chaine2$ = ""
chaine3$ = ""
chaine4$ = ""
chaine5$ = ""
longueur = Len(GetGadgetItemText(#liste_fichier,id,0))-4
nom_fichier$ = Left(GetGadgetItemText(#liste_fichier,id,0),longueur)
If GetGadgetState(#check_copie)
nom_fichier$ = nom_fichier$ + "_copie"
EndIf
If GetGadgetState(#valid_rename)
If GetGadgetState(#check_compteur1)
nom_fichier$ = Left(nom_fichier$,longueur)
chaine1$ = count
EndIf
If GetGadgetState(#Check_compteur2)
nom_fichier$ = Left(nom_fichier$,longueur)
chaine5$ = count
EndIf
If GetGadgetState(#Check_prefixe)
nom_fichier$ = Left(nom_fichier$,longueur)
chaine2$ = GetGadgetText(#entry_prefixe)
EndIf
If GetGadgetState(#Check_suffixe)
nom_fichier$ = Left(nom_fichier$,longueur)
chaine4$ = GetGadgetText(#entry_suffixe)
EndIf
If GetGadgetState(#Check_nom)
nom_fichier$ = ""
chaine3$ = GetGadgetText(#entry_nom)
EndIf
EndIf
chaine3$ = nom_fichier$+chaine3$
nom_final$ = chaine1$+chaine2$+chaine3$+chaine4$+chaine5$
ProcedureReturn nom_final$
EndProcedure
Procedure apercu_nom()
index = GetGadgetState(#liste_fichier)
If index>0
name$ = construction_nom(index,"001")
SetGadgetText(#chaine_resultat,name$)
EndIf
EndProcedure
Procedure apercu_image()
index = GetGadgetState(#liste_fichier)
ext_im$ =LCase(Right(GetGadgetItemText(#liste_fichier,index,0),3))
If ext_im$ = "bmp" Or ext_im$ = "tif" Or ext_im$ = "jpg" Or ext_im$ = "png" Or ext_im$ = "tga"
LoadImage(image_apercu,GetGadgetText(#explorer)+GetGadgetItemText(#liste_fichier,index,0))
sizex = ImageWidth(image_apercu)
sizey = ImageHeight(image_apercu)
rapsizex.f = sizex/350
rapsizey.f = sizey/220
If rapsizex > rapsizey
resizex = sizex/rapsizex
resizey = sizey/rapsizex
Else
resizex = sizex/rapsizey
resizey = sizey/rapsizey
EndIf
ResizeImage(image_apercu,resizex,resizey)
;StartDrawing(ImageOutput(image_apercu))
;DrawText(10, 10, Str(sizex)+" X "+Str(sizey))
;StopDrawing()
StartDrawing(ImageOutput(image_affiche))
Box(0, 0, 350, 220 ,RGB(200,205,205))
DrawImage(ImageID(image_apercu),(350-resizex)/2,(220-resizey)/2)
DrawText(10, 10, Str(sizex)+" X "+Str(sizey))
StopDrawing()
SetGadgetState(#Image_apercu,ImageID(image_affiche))
Else
SetGadgetState(#Image_apercu,ImageID(image_fond_apercu))
EndIf
EndProcedure
Procedure format_image(numero.l,i.l,count.s)
result_test = 0
LoadImage(numero, liste()\chemin+liste()\fichier)
If GetGadgetState(#check_rapport)
largeur_image = ImageWidth(numero)
hauteur_image = ImageHeight(numero)
rapportx.f = largeur_image/Taillex
rapporty.f = hauteur_image/tailley
If rapportx > rapporty
taillex = largeur_image/rapportx
tailley = hauteur_image/rapportx
Else
taillex = largeur_image/rapporty
tailley = hauteur_image/rapporty
EndIf
EndIf
If taillex > 0
ResizeImage(numero,taillex,tailley)
EndIf
lenom$ = construction_nom(i,count)
If GetGadgetState(#check_copie) ;*************************************
If GetGadgetState(#Check_bmp)
While ReadFile(4,dossier_save+lenom$+".bmp")
CloseFile(4)
lenom$ = lenom$ + "_copie"
Wend
SaveImage(numero, dossier_save+lenom$+".bmp" ,#PB_ImagePlugin_BMP)
EndIf
If GetGadgetState(#Check_jpeg)
While ReadFile(4,dossier_save+lenom$+".jpg")
CloseFile(4)
lenom$ = lenom$ + "_copie"
Wend
SaveImage(numero, dossier_save+lenom$+".jpg" ,#PB_ImagePlugin_JPEG,GetGadgetState(#bar_compression))
EndIf
If GetGadgetState(#Check_png)
While ReadFile(4,dossier_save+lenom$+".png")
CloseFile(4)
lenom$ = lenom$ + "_copie"
Wend
SaveImage(numero, dossier_save+lenom$+".png" ,#PB_ImagePlugin_PNG)
EndIf
Else
If GetGadgetState(#Check_bmp)
;If ReadFile(4,dossier_save+lenom$+".bmp") And GetGadgetState(#check_copie)
;CloseFile(4)
;lenom$ = lenom$ + "_copie"
;EndIf
If ReadFile(3, dossier_save+lenom$+".bmp")
CloseFile(3)
If first_warning_copie = 3 Or first_warning_copie < 2
first_warning_copie = gestion_fenetre_efface(lenom$+".bmp")
EndIf
If first_warning_copie > 0
DeleteFile(dossier_save+lenom$+".bmp")
SaveImage(numero, dossier_save+lenom$+".bmp" ,#PB_ImagePlugin_BMP)
EndIf
Else
SaveImage(numero, dossier_save+lenom$+".bmp" ,#PB_ImagePlugin_BMP)
EndIf
EndIf
If GetGadgetState(#Check_jpeg)
;If ReadFile(4,dossier_save+lenom$+".jpg") And GetGadgetState(#check_copie)
;CloseFile(4)
;lenom$ = lenom$ + "_copie"
;EndIf
If ReadFile(3, dossier_save+lenom$+".jpg")
CloseFile(3)
If first_warning_copie = 3 Or first_warning_copie < 2
first_warning_copie = gestion_fenetre_efface(lenom$+".jpg")
EndIf
If first_warning_copie > 0
DeleteFile(dossier_save+lenom$+".jpg")
SaveImage(numero, dossier_save+lenom$+".jpg" ,#PB_ImagePlugin_JPEG,GetGadgetState(#bar_compression))
EndIf
Else
SaveImage(numero, dossier_save+lenom$+".jpg" ,#PB_ImagePlugin_JPEG,GetGadgetState(#bar_compression))
EndIf
EndIf
If GetGadgetState(#Check_png)
;If ReadFile(4,dossier_save+lenom$+".png") And GetGadgetState(#check_copie)
;CloseFile(4)
;lenom$ = lenom$ + "_copie"
;EndIf
If ReadFile(3, dossier_save+lenom$+".png")
CloseFile(3)
If first_warning_copie = 3 Or first_warning_copie < 2
first_warning_copie = gestion_fenetre_efface(lenom$+".png")
EndIf
If first_warning_copie > 0
DeleteFile(dossier_save+lenom$+".png")
SaveImage(numero, dossier_save+lenom$+".png" ,#PB_ImagePlugin_PNG)
EndIf
Else
SaveImage(numero, dossier_save+lenom$+".png" ,#PB_ImagePlugin_PNG)
EndIf
EndIf
EndIf ;******************************************
FreeImage(numero)
EndProcedure
Procedure contenu_dossier()
chemin_dossier$ = GetGadgetText(#explorer)
ClearList(liste_tampon())
If ExamineDirectory(0,chemin_dossier$,"*.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
If GetGadgetState(#Check_filtre)
If GetGadgetText(#Combo_extention) = GetExtensionPart(DirectoryEntryName(0))
AddElement(liste_tampon())
liste_tampon()\chemin = chemin_dossier$
liste_tampon()\fichier = DirectoryEntryName(0)
liste_tampon()\extention = GetExtensionPart(DirectoryEntryName(0))
EndIf
Else
AddElement(liste_tampon())
liste_tampon()\chemin = chemin_dossier$
liste_tampon()\fichier = DirectoryEntryName(0)
liste_tampon()\extention = GetExtensionPart(DirectoryEntryName(0))
EndIf
EndIf
Wend
FinishDirectory(0)
EndIf
FirstElement(liste_tampon())
ClearGadgetItemList(#liste_fichier)
ForEach liste_tampon()
AddGadgetItem(#Liste_fichier,-1,liste_tampon()\fichier)
Next
EndProcedure
Procedure execution()
temps_depart = ElapsedMilliseconds()
If Right(dossier_save,1) <> "\"
dossier_save = dossier_save+"\"
EndIf
If ExamineDirectory(255, dossier_save,"")
If GetGadgetState(#Check_resize)
Select GetGadgetState(#choix_taille)
Case 0
taillex = 0 : tailley = 0
Case 1
taillex = 320 : tailley = 200
Case 2
taillex = 320 : tailley = 240
Case 3
taillex = 640 : tailley = 480
Case 4
taillex = 800 : tailley = 600
Case 5
taillex = 1024 : tailley = 768
Case 6
taillex = 1152 : tailley = 864
Case 7
taillex = 1280 : tailley = 720
Case 8
taillex = 1280 : tailley = 768
Case 9
taillex = 1280 : tailley = 960
Case 10
taillex = 1280 : tailley = 1024
Case 11
taillex = 1400 : tailley = 1050
Case 12
taillex = 1600 : tailley = 900
Case 13
taillex = 1600 : tailley = 1200
EndSelect
EndIf
HideWindow(#fenetre_progression,0)
DisableGadget(#Bouton_ok_progression,1)
DisableGadget(#Bouton_arret_progression,0)
DisableWindow(#window_0,1)
minute$ = "00"
seconde$ = "00"
compteur = 0
ClearList(liste())
;il faut modifier ici avec la sélection du chemin et du nom fichier dans la liste tampon
For i=0 To CountGadgetItems(#Liste_fichier)-1
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #Bouton_arret_progression
HideWindow(#fenetre_progression,1)
DisableWindow(#window_0,0)
SetActiveWindow(#window_0)
FinishDirectory(255)
contenu_dossier()
apercu_nom()
Goto boucle_principale
EndSelect
EndIf
If GetGadgetItemState(#Liste_fichier, i)
SelectElement(liste_tampon(), i)
compteur+1
chemin_fichier = liste_tampon()\chemin
nom_fichier = liste_tampon()\fichier
SetGadgetText(#Text_fichier_traite,chemin_fichier+nom_fichier)
compteur_chaine.s = Right("000"+Str(compteur),3)
AddElement(liste())
liste()\chemin = chemin_fichier
liste()\fichier = nom_fichier
liste()\extention =liste_tampon()\extention
If GetGadgetState(#Check_resize)
If liste()\extention = "bmp" Or liste()\extention = "jpg" Or liste()\extention = "tga" Or liste()\extention = "tif" Or liste()\extention = "png"
format_image(compteur,i,compteur_chaine)
Else
traitement_fichier()
EndIf
Else
traitement_fichier()
EndIf
EndIf
temps_ecoule = ElapsedMilliseconds()-temps_depart
minute$ = Str((temps_ecoule/1000)/60)
seconde$ = Str((temps_ecoule/1000)-(60*Val(minute$)))
SetGadgetText(#Text_temps_ecoule,minute$+" : "+seconde$)
Next
Delay(2000)
SetGadgetText(#Text_fichier_traite,"Opérations terminées")
DisableGadget(#Bouton_ok_progression,0)
DisableGadget(#Bouton_arret_progression,1)
Else
MessageRequester("Problème","Le dossier de destination n'existe pas",#PB_MessageRequester_Ok)
EndIf
action.s = ""
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #Bouton_ok_progression
HideWindow(#fenetre_progression,1)
DisableWindow(#window_0,0)
SetActiveWindow(#window_0)
action = "fermeture"
EndSelect
EndIf
Until action = "fermeture"
FinishDirectory(255)
contenu_dossier()
apercu_nom()
first_warning_copie = 3
SetGadgetText(#Text_fichier_traite,"")
EndProcedure
;----- boucle principale
fenetre_efface()
HideWindow(#fenetre_efface,1)
fenetre_progression()
HideWindow(#fenetre_progression,1)
fenetre_principale()
boucle_principale:
Repeat
event =WaitWindowEvent()
If event = #PB_Event_Menu
Select EventMenu()
Case #menu_quitter
End
Case #MENU_credit
open_fenetre_info()
EndSelect
EndIf
If Event = #PB_Event_Gadget
Select EventGadget()
Case #Bouton_all
For i=0 To CountGadgetItems(#Liste_fichier)-1
SetGadgetItemState(#Liste_fichier, i, 1)
Next
Case #Bouton_deselect
For i=0 To CountGadgetItems(#Liste_fichier)-1
SetGadgetItemState(#Liste_fichier, i, 0)
SetGadgetState(#Image_apercu,ImageID(image_fond_apercu))
Next
Case #Check_filtre
contenu_dossier()
apercu_nom()
Case #Combo_extention
contenu_dossier()
apercu_nom()
Case #explorer
If selection_chemin = 0
dossier_save = GetGadgetText(#explorer)
SetGadgetText(#entry_chemin,dossier_save)
EndIf
contenu_dossier()
apercu_nom()
Case #Liste_fichier
apercu_nom()
apercu_image()
Case #valid_rename
If GetGadgetState(#valid_rename)
active_gadget(#check_compteur1,#check_compteur2,0)
If GetGadgetState(#Check_prefixe)
active_Gadget(#entry_prefixe,#Text_prefixe_rename,0)
EndIf
If GetGadgetState(#Check_nom)
active_Gadget(#entry_nom,#Text_nom_rename,0)
EndIf
If GetGadgetState(#Check_suffixe)
active_Gadget(#entry_suffixe,#Text_suffixe_rename,0)
EndIf
Else
active_gadget(#check_compteur1,#Text_suffixe_rename,1)
EndIf
apercu_nom()
Case #check_compteur1
If GetGadgetState(#check_compteur1)
SetGadgetState(#Check_compteur2,0)
EndIf
If GetGadgetState(#Check_nom) And GetGadgetState(#check_compteur2)=0
SetGadgetState(#Check_compteur1,1)
EndIf
apercu_nom()
Case #Check_prefixe
If GetGadgetState(#Check_prefixe)
active_Gadget(#entry_prefixe,#Text_prefixe_rename,0)
Else
active_Gadget(#entry_prefixe,#Text_prefixe_rename,1)
EndIf
apercu_nom()
Case #Check_nom
If GetGadgetState(#Check_nom)
active_Gadget(#entry_nom,#Text_nom_rename,0)
If GetGadgetState(#check_compteur1)=0 And GetGadgetState(#check_compteur2)=0
SetGadgetState(#Check_compteur2,1)
EndIf
Else
active_Gadget(#entry_nom,#Text_nom_rename,1)
EndIf
apercu_nom()
Case #Check_suffixe
If GetGadgetState(#Check_suffixe)
active_Gadget(#entry_suffixe,#Text_suffixe_rename,0)
Else
active_Gadget(#entry_suffixe,#Text_suffixe_rename,1)
EndIf
apercu_nom()
Case #check_compteur2
If GetGadgetState(#check_compteur2)
SetGadgetState(#Check_compteur1,0)
EndIf
If GetGadgetState(#Check_nom) And GetGadgetState(#check_compteur1)=0
SetGadgetState(#Check_compteur2,1)
EndIf
apercu_nom()
Case #entry_nom
apercu_nom()
Case #entry_prefixe
apercu_nom()
Case #entry_suffixe
apercu_nom()
Case #Check_resize
If GetGadgetState(#Check_resize)
active_gadget(#frame_sortie,#check_rapport,0)
If GetGadgetState(#Check_jpeg)
active_gadget(#bar_compression,#indice_compression,0)
EndIf
Else
active_gadget(#frame_sortie,#indice_compression,1)
EndIf
Case #Check_jpeg
If GetGadgetState(#check_jpeg)
active_gadget(#bar_compression,#indice_compression,0)
Else
active_gadget(#bar_compression,#indice_compression,1)
EndIf
Case #bar_compression
SetGadgetText(#indice_compression, Str(GetGadgetState(#bar_compression)))
Case #entry_chemin
dossier_save = GetGadgetText(#entry_chemin)
Case #Bouton_parcourir
new_chemin$ = PathRequester("Choisissez un répertoire", dossier_save)
If new_chemin$
selection_chemin = 1
dossier_save = new_chemin$
SetGadgetText(#entry_chemin,dossier_save)
;SetGadgetState(#check_copie,0)
;DisableGadget(#check_copie,1)
EndIf
Case #check_copie
If first_warning_copie = 0
MessageRequester("Attention","S'ils comportent le même nom(dans le dossier de sortie) les fichiers seront écrasés, laissez coché pour faire une copie des fichiers",#PB_MessageRequester_Ok)
first_warning_copie = 1
EndIf
apercu_nom()
Case #Bouton_lancer
If GetGadgetState(#Check_resize)
If GetGadgetState(#Check_bmp) Or GetGadgetState(#Check_jpeg) Or GetGadgetState(#Check_png)
choix_format_image = 1
Else
choix_format_image = 0
EndIf
Else
choix_format_image = 1
EndIf
If choix_format_image = 1
execution()
Else
MessageRequester("Attention","Vous devez sélectionner un format de sortie pour le rééchantillonage.",#PB_MessageRequester_Ok)
EndIf
EndSelect
EndIf
Until event = #PB_Event_CloseWindow