Et si j'y arrive pas, tu me dira un truc du genre, ouais et ba laisse béton
et va jouer aux billes et j'aurais fait tous sa pour rien alors ? snif
Ne me donne pas l'occasion de le faire
Si j'y arrive pas, faudra que mon maitre m'aide hein quand même
sinon où est l'intérêt, et sinon j'aurais droit à une image si je réussi
N'appelle pas les gens qui t'aident "maitre", c'est gênant et surtout injustifié car je ne te considère pas comme mon élève.
Revenons à nos moutons.
Bon, alors là y'a des erreurs, le level 2 n'est pas trop dur mais ce n'est pas du level 1 non plus ^^
Lorsque l'on navigue dans l'explorergadget et que l'on clique sur les boutons, le repertoire actuel du gadget n'est pas pris en compte..
Il faut que tu corriges ça. Pour ce faire, tu dois vérifier avec un simple
GetGadgetText le nom du répertoire en cours.
Dans mon code, tu vas devoir réutiliser
DossierCible$
Erreur plus grave
, car la tu touches à l'écriture de fichier.
Pour tout Openfile, tu dois le terminer par la commande CloseFile (regarde ce que dit la doc pour openfile) !
Grave toi ça dans la tête car c'est important !
Utilise ce code et ajoute les fonctions de listing des fichiers.
J'ai ajouter un simple stringgadget pour afficher le repertoire courant de l'explorergadget, ainsi tu sais ou tu te trouves.
J'ai aussi converti les IF / GadgetID en Select / Case
C'est bien plus lisible sinon tu vas te paumer dans les if else endif à répétition.
Code : Tout sélectionner
Enumeration
#Window_0
#lister_fichier
#lister_dossier
#ExplorerGadget
#INFO
EndEnumeration
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 636, 85, 534, 561, "Window_0", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
ButtonGadget(#lister_fichier, 35, 510, 190, 35, "Lister fichier")
ButtonGadget(#lister_dossier, 230, 510, 190, 35, "Lister Dossier")
ExplorerListGadget(#ExplorerGadget, 10, 10, 515, 455, "c:\")
; Pour le 1er lancement, on vérifier ou se trouve l'explorer (logiquement dans c:\
DossierCible$=GetGadgetText(#ExplorerGadget)
; et on l'affiche dans la barre d'info
StringGadget(#INFO, 15, 470, 510, 20, "Localisation : "+DossierCible$, #PB_String_ReadOnly)
EndIf
EndProcedure
OpenWindow_Window_0()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #lister_fichier
Fichiers$ = ""
DossierCible$=GetGadgetText(#ExplorerGadget) ; ICI TU RE VERIFIES QU'ON EST TOUJOURS AU MÊME ENDROIT DANS L'EXPLORER
;(A TOI DE CODER ICI)
Case #lister_dossier
Repertoire$ = ""
DossierCible$=GetGadgetText(#ExplorerGadget) ; ICI TU RE VERIFIES QU'ON EST TOUJOURS AU MÊME ENDROIT DANS L'EXPLORER
;(A TOI DE CODER ICI)
Case #ExplorerGadget
DossierCible$=GetGadgetText(#ExplorerGadget)
SetGadgetText(#INFO,"Localisation : "+DossierCible$)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
CloseWindow(#Window_0)
Break
EndSelect
EndSelect
ForEver
Je préfère que tu réfléchisses et que tu pondes un code sans erreurs "lourdes" (comme
closefile()) plutôt que tu te précipites.
Et use toi les yeux sur la doc !
Au boulot ! ET
PRENDS TON TEMPS on fait pas la course.