J'avais fait ça y a un petit moment si ça t'intéresse. Malheureusement sans commentaire, si tu veux des infos n'hésite pas.
Code : Tout sélectionner
Enumeration
#Window
EndEnumeration
Enumeration
#selection_list
#explorateur_list
#explorateur
#quit
#ajouter_sel
#Frame3D_0
#frame3d_1
#Frame3D_3
#lancer
#String_pre
#String_num
#String_suf
#String_ext
#apercu
#Text_2
#Text_3
#Text_4
#Text_5
#Text_6
#ajouter_tout
#effacer_sel
#effacer_tout
#String_point
#Text_7
#Text_9
#String_5
#Button_7
#String_nom
#Text_10
EndEnumeration
Procedure Open_Window()
If OpenWindow(#Window, 272, 149, 637, 668, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Multi Renommeur ")
If CreateGadgetList(WindowID())
;-
ListIconGadget(#selection_list, 20, 290, 500, 210, "Nom", 400, #PB_ListIcon_MultiSelect | #PB_ListIcon_FullRowSelect)
ExplorerListGadget(#explorateur_list, 220, 30, 300, 180, "", #PB_Explorer_AlwaysShowSelection | #PB_Explorer_FullRowSelect | #PB_Explorer_MultiSelect | #PB_Explorer_NoDriveRequester | #PB_Explorer_NoFolders | #PB_Explorer_NoParentFolder)
ExplorerTreeGadget(#explorateur, 20, 30, 170, 220, "")
ButtonGadget(#quit, 540, 630, 90, 30, "Quitter")
ButtonGadget(#ajouter_sel, 410, 220, 110, 30, "Ajouter à la selection")
Frame3DGadget(#Frame3D_0, 210, 10, 320, 250, "Fichiers")
Frame3DGadget(#frame3d_1, 10, 10, 190, 250, "Explorateur")
Frame3DGadget(#Frame3D_3, 10, 270, 520, 390, "Sélection")
ButtonGadget(#lancer, 540, 20, 90, 30, "Lancer")
StringGadget(#String_pre, 20, 580, 120, 20, "")
StringGadget(#String_num, 260, 580, 40, 20, "1")
StringGadget(#String_suf, 310, 580, 110, 20, "")
StringGadget(#String_ext, 470, 580, 50, 20, "")
TextGadget(#apercu, 20, 630, 500, 20, "", #PB_Text_Border)
TextGadget(#Text_2, 20, 610, 190, 20, "Aperçu")
TextGadget(#Text_3, 20, 560, 120, 20, "Préfixe")
TextGadget(#Text_4, 260, 560, 40, 20, "n° base")
TextGadget(#Text_5, 310, 560, 110, 20, "Sufixe")
TextGadget(#Text_6, 470, 560, 50, 20, "Extension")
ButtonGadget(#ajouter_tout, 290, 220, 110, 30, "Ajouter tout")
ButtonGadget(#effacer_sel, 410, 510, 110, 30, "Effacer la selection")
ButtonGadget(#effacer_tout, 290, 510, 110, 30, "Effacer tout")
StringGadget(#String_point, 430, 580, 30, 20, "")
TextGadget(#Text_7, 430, 560, 30, 20, "Point")
TextGadget(#Text_9, 20, 500, 60, 20, "Destination")
StringGadget(#String_5, 20, 520, 220, 20, "")
ButtonGadget(#Button_7, 250, 520, 30, 20, "...")
StringGadget(#String_nom, 150, 580, 100, 20, "")
TextGadget(#Text_10, 150, 560, 100, 20, "Nom d'origine")
EndIf
EndIf
EndProcedure
Declare.s Get_ext(n.s)
Declare.s Get_File(n.s)
Declare make_apercu()
Open_Window()
Repeat
Event = WaitWindowEvent()
If Event = #PB_EventGadget
;Debug "WindowID: " + Str(EventWindowID())
GadgetID = EventGadgetID()
If GadgetID = #selection_list
Debug "GadgetID: #selection_list"
make_apercu()
ElseIf GadgetID = #explorateur_list
Debug "GadgetID: #explorateur_list"
ElseIf GadgetID = #explorateur
SetGadgetText(#explorateur_list,GetGadgetText(#explorateur))
ElseIf GadgetID = #quit
Quit=#True
ElseIf GadgetID = #effacer_sel
;Debug "GadgetID: #effacer_sel"
For n = 0 To CountGadgetItems(#selection_list) - 1
If GetGadgetItemState(#selection_list, n) = #PB_ListIcon_Selected
RemoveGadgetItem(#selection_list,n)
EndIf
Next n
ElseIf GadgetID = #effacer_tout
;Debug "GadgetID: #effacer_sel"
ClearGadgetItemList(#selection_list)
ElseIf GadgetID = #ajouter_sel
;Debug "GadgetID: #ajouter_sel"
For n = 0 To CountGadgetItems(#explorateur_list) - 1
If GetGadgetItemState(#explorateur_list, n) = (#PB_Explorer_Selected | #PB_Explorer_File)
AddGadgetItem(#selection_list,-1,GetGadgetItemText(#explorateur_list,n,0))
EndIf
Next n
ElseIf GadgetID = #ajouter_tout
;Debug "GadgetID: #ajouter_tout"
For n = 0 To CountGadgetItems(#explorateur_list) - 1
AddGadgetItem(#selection_list,-1,GetGadgetItemText(#explorateur_list,n,0))
Next n
ElseIf GadgetID = #lancer
Debug "GadgetID: #lancer"
ElseIf GadgetID = #String_pre
;Debug "GadgetID: #String_pre"
make_apercu()
ElseIf GadgetID = #String_nom
;Debug "GadgetID: #String_nom"
make_apercu()
ElseIf GadgetID = #String_num
;Debug "GadgetID: #String_num"
make_apercu()
ElseIf GadgetID = #String_suf
;Debug "GadgetID: #String_suf"
make_apercu()
ElseIf GadgetID = #String_point
;Debug "GadgetID: #String_point"
make_apercu()
ElseIf GadgetID = #String_ext
;Debug "GadgetID: #String_ext"
make_apercu()
EndIf
EndIf
Until Event = #PB_EventCloseWindow Or Quit
End
Procedure make_apercu()
If CountGadgetItems(#selection_list)>0
apercu_pre.s=GetGadgetText(#String_pre)
;If apercu_pre=""
; apercu_pre=Get_File(GetGadgetItemText(#selection_list,0,0))
;EndIf
apercu_nom.s=GetGadgetText(#String_nom)
If apercu_nom=""
apercu_nom=Get_File(GetGadgetItemText(#selection_list,0,0))
EndIf
apercu_num.s=GetGadgetText(#String_num)
apercu_suf.s=GetGadgetText(#String_suf)
apercu_point.s=GetGadgetText(#String_point)
apercu_ext.s=GetGadgetText(#String_ext)
If apercu_ext=""
apercu_ext=Get_ext(GetGadgetItemText(#selection_list,0,0))
EndIf
SetGadgetText(#apercu,apercu_pre+apercu_nom+apercu_num+apercu_suf+apercu_point+apercu_ext)
EndIf
EndProcedure
Procedure.s Get_File(n.s)
For i=1 To Len(n)
c.s=Mid(n,i,1)
If c <>"."
file.s=file+c
Else
Break
EndIf
Next i
ProcedureReturn file.s
EndProcedure
Procedure.s Get_ext(n.s)
For i=Len(n) To 1 Step -1
c.s=Mid(n,i,1)
If c <>"."
temp.s=temp+c
Else
For j=Len(temp) To 1 Step -1
ext.s=ext+Mid(temp,j,1)
Next j
Break
EndIf
Next i
ProcedureReturn ext.s
EndProcedure