Page 1 sur 1

Automatiquements liés des ExplorateursGadgets

Publié : mar. 30/mars/2010 8:53
par DarkIchigo
re-salut a tous, désolé c'est encore moi :)

Voila pour mon programme j'aimerai lié automatiquement :
- ExplorerTreeGadget
- ExplorerListGadget
- ExplorerComboGadget

pb je n'ai absolument aucune idée de comment faire :D

Dans mon programme cela ressemble un peu a cela :

Code : Tout sélectionner

EG_Pret$ = ""
    ExplorerTreeGadget(#ETG, 0, 0, 200, 100, EG_Pret$)
    ExplorerComboGadget(#ECG, 50, 0, 500, 30, EG_Pret$)
    ExplorerListGadget(#ELG, 100, 30, 500, 170, EG_Pret$)
Je suppose qu'il faut utiliser GetGadgetText() & SetGadgetText()
mais je ne sais pas trop comment mettre en place le fait que modifier 1 change les 2 autres le tout en ayant
un dossier "d'origine" ouvert automatiquement.

je serai pas contre un peu (ou beaucoup) d'aide :D

Merci d'avance

Re: Automatiquements liés des ExplorateursGadgets

Publié : mer. 31/mars/2010 15:43
par DarkIchigo
donc pour ce faire je pensais essayer quelque chose comme cela :

Code : Tout sélectionner

EG_Pret$ = "C:\TEMP\"
If
...

    ExplorerTreeGadget(#ETG, 0, 0, 200, 100, EG_Pret$)
    ExplorerComboGadget(#ECG, 50, 0, 500, 30, EG_Pret$)
    ExplorerListGadget(#ELG, 100, 30, 500, 170, EG_Pret$)
...
EndIf
Le 1er problème apparait ici, je ne sais pas pourquoi mais si je les règle comme ça, mes gadgets ne prennent pas
la cible 'EG_Pret$'

Donc mettons, je remplace le EG_Pret$ directement par "C:\TEMP\" puis go la boucle :

Code : Tout sélectionner

Quit = 0
   Repeat
      Event = WaitWindowEvent()
      Select EventWindow()
         Case #Window ; Main window event
            Select Event
               Case #PB_Event_CloseWindow
                  Quit = 1
               Case #PB_EventType_Change
                  Select EventType()
                     Case #ETG
                        SetGadgetText(#ECG , GetGadgetText(#ETG))
                        SetGadgetText(#ELG , GetGadgetText(#ETG))
                        SetGadgetText(#ETG , GetGadgetText(#ETG))

                     Case #ECG
                        SetGadgetText(#ELG , GetGadgetText(#ECG))
                        SetGadgetText(#ETG , GetGadgetText(#ECG))
                        SetGadgetText(#ECG , GetGadgetText(#ECG))

                     Case #ELG
                        SetGadgetText(#ETG , GetGadgetText(#ELG))
                        SetGadgetText(#ECG , GetGadgetText(#ELG))
                        SetGadgetText(#ELG , GetGadgetText(#ELG))

                  EndSelect
            EndSelect
      EndSelect
      
   Until Quit = 1
Ensuite mon 2eme problème est simple malgré cela rien ne se remet a jours, je suppose que c'est parcequ'il faut simplement
expliquer au programme de rafraichir les donnés mais je ne sais pas avec quoi ni comment :/

Une âme charitable pour voler à mon secours ? :p

Re: Automatiquements liés des ExplorateursGadgets

Publié : mer. 31/mars/2010 18:17
par venom
Salut DarkIchigo,

lie un peut plus la doc en faisant F1 tu aurais vu que dans chaque gadget que tu indique plus haut il est expliquer comment recuperer un repertoire et comment le renvoyé :wink:
voici quand même un code qui fonctionne :)
a l'avenir essaie de poster un code qu'ont peut lancer direct, pas des morceau de droite et gauche :D :wink: . Car la j'ai refait un code complet

Et pour ton EG_Pret$ cela fonctionne chez moi est tu sur du chemin que tu avance ? car chez moi C:\TEMP\ n'existe pas :D :

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #ExplorerTree_0
  #ExplorerList_0
  #Combo_0
EndEnumeration

  If OpenWindow(#Window_0, 220, 0, 600, 300, "New window",  #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
     EG_Pret$ = "C:\Program Files\" 
      ExplorerTreeGadget(#ExplorerTree_0, 10, 10, 220, 270, EG_Pret$)
      ExplorerComboGadget(#Combo_0, 240, 10, 350, 20, EG_Pret$)
      ExplorerListGadget(#ExplorerList_0, 240, 50, 350, 230, EG_Pret$)

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
       Case #ExplorerTree_0
        chemainExplorerTree_0$ = GetGadgetText(#ExplorerTree_0); --- ici chemainExplorerTree_0$ te renvoie le chemain que tu viens de modifier
        SetGadgetText(#Combo_0, chemainExplorerTree_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #Combo_0
        SetGadgetText(#ExplorerList_0, chemainExplorerTree_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #ExplorerList_0
       
       Case #Combo_0
        chemainCombo_0$ = GetGadgetText(#Combo_0); --- ici chemainCombo_0$ te renvoie le chemain que tu viens de modifier
         SetGadgetText(#ExplorerTree_0, chemainCombo_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #ExplorerTree_0
          SetGadgetText(#ExplorerList_0, chemainCombo_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #ExplorerList_0
       
       Case #ExplorerList_0
        chemainExplorerList_0$ = GetGadgetText(#ExplorerList_0); --- ici chemainExplorerList_0$ te renvoie le chemain que tu viens de modifier
         SetGadgetText(#Combo_0, chemainExplorerList_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #Combo_0
          SetGadgetText(#ExplorerTree_0, chemainExplorerList_0$); --- ici SetGadgetText permet de changer le chemain du gadget entre autre #ExplorerTree_0

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
Voilou a bientôt.





@++

Re: Automatiquements liés des ExplorateursGadgets

Publié : mer. 31/mars/2010 20:14
par DarkIchigo
Oui désolé effectivement il y a tellement peu de logiciels avec une vraie Aide incluse que j'oublie très fréquemment de le faire, j'y ferai attention maintenant.

Pour les bouts de codes dsl j'étais au boulot et j'avais peu de temps et je n'ai pas remis tout le programme, idem pour C:\Temp\ il existe sur mon PC au taf, et je trouvai étrange que en tapant en ttes lettres ca marchais mais pas avec EG_Pret$.

Merci de ton aide en tout cas