Repertoire+fichier dans un StringGadget()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Repertoire+fichier dans un StringGadget()

Message par SPH »

Salut, :?

Mon StringGadget(100,... n'affiche que le repertoire cliqué a gauche mais ne se complete pas avec un nom de fichier cliqué a droite...
Comment faire ?

Code : Tout sélectionner

OpenWindow(0, 0, 0, 749, 515, "SPH", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

Global Repertoire$
calcul=0

ExplorerTreeGadget(1, 11, 73, 230, 280, Repertoire$, #PB_Explorer_NoFiles)
ExplorerListGadget(2, 247,73,490,280, "*.*", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder)
SendMessage_(GadgetID(2),#LVM_SETCOLUMNWIDTH,0,188) ; largeur colonne
SendMessage_(GadgetID(2),#LVM_SETCOLUMNWIDTH,1,80) ; largeur colonne

StringGadget(100,20,360,709,20,""); contient le chemin+fichier complet

Procedure Afficher_fichiers()
  SetGadgetText(2, "")                    
  Repertoire$ = GetGadgetText(1)    
  SetGadgetText(2, Repertoire$)       
  SetGadgetText(100, Repertoire$)    ;;;;;;;;;;;;     ici, je ne sais pas comment faire
EndProcedure

BindGadgetEvent(1, @Afficher_fichiers(), #PB_EventType_Change) ; #PB_EventType_LeftClick) 


Repeat
  Evenement = WindowEvent()
  If Evenement = #PB_Event_Gadget
    If EventGadget()=6 ; hide button
      If GetGadgetState(6)=1         
        StringGadget(5, 80,  366, 570, 20, GetGadgetText(5),#PB_String_Password)
      Else
        StringGadget(5, 80,  366, 570, 20, GetGadgetText(5))
      EndIf
    EndIf
    window_event = WaitWindowEvent(5) ;changing the progressbar's will always cause this to catch an event
    While window_event <> 0
      If window_event = #PB_Event_CloseWindow : Break 2: EndIf
      window_event = WindowEvent()
    Wend
   
  EndIf
Delay(5)
Until Evenement = #PB_Event_CloseWindow
End

;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;
Thx a lot 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Repertoire+fichier dans un StringGadget()

Message par kernadec »

bjr SPH
j 'ai cette exemple ... je sais plus ou je l'ai récupéré :?:

Cordialement

Code : Tout sélectionner

Enumeration
  #WINDOW
  #ExplorerGadget
  #Bouton
EndEnumeration

;NewList qui capture les éléments sélectionnés
NewList SelectedItems.s()

If OpenWindow(#WINDOW, 0, 0, 400, 230, "ExplorerListGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  ExplorerListGadget(#ExplorerGadget, 10, 10, 380, 180, "*.*", #PB_Explorer_MultiSelect)
  ButtonGadget(#Bouton, 265, 200, 125, 25, "Get selected Items")
  
  Repeat 
    Event=WaitWindowEvent()
    Select Event   
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Bouton
            ClearList(SelectedItems())
            
            ; Déterminer les entrées sélectionnées et les sauvegarder dans SelectedItems ()
            For item = GetGadgetState(#ExplorerGadget) To CountGadgetItems(#ExplorerGadget)-1
              If GetGadgetItemState(#ExplorerGadget, item) & #PB_Explorer_Selected
                AddElement(SelectedItems())
                SelectedItems() = GetGadgetText(#ExplorerGadget) + GetGadgetItemText(#ExplorerGadget, item, 0)
              EndIf
            Next item
            
            ; Pour le test: du contenu en sortie de SelectedItems ()
            ForEach SelectedItems()
              Debug SelectedItems()
            Next 
        EndSelect   
    EndSelect
  Until Event = #PB_Event_CloseWindow
endif
Dernière modification par kernadec le dim. 18/août/2019 10:35, modifié 1 fois.
Mesa
Messages : 1098
Inscription : mer. 14/sept./2011 16:59

Re: Repertoire+fichier dans un StringGadget()

Message par Mesa »

Code : Tout sélectionner

OpenWindow(0, 0, 0, 749, 515, "SPH", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 

Global Repertoire$ 
calcul=0 

ExplorerTreeGadget(1, 11, 73, 230, 280, Repertoire$, #PB_Explorer_NoFiles) 
ExplorerListGadget(2, 247,73,490,280, "*.*", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder) 
SendMessage_(GadgetID(2),#LVM_SETCOLUMNWIDTH,0,188) ; largeur colonne 
SendMessage_(GadgetID(2),#LVM_SETCOLUMNWIDTH,1,80)  ; largeur colonne 

StringGadget(100,20,360,709,20,""); contient le chemin+fichier complet 



Repeat 
  Evenement = WaitWindowEvent(5) 
  gadget=EventGadget()
  type=EventType() 
  
  Select Evenement 
    Case #PB_Event_Gadget 
      Select gadget
        Case 6 ; hide button 
          If GetGadgetState(6)=1          
            StringGadget(5, 80,  366, 570, 20, GetGadgetText(5),#PB_String_Password) 
          Else 
            StringGadget(5, 80,  366, 570, 20, GetGadgetText(5)) 
          EndIf
          
        Case 1	
          Select type
            Case #PB_EventType_LeftClick
              Repertoire$ = GetGadgetText(1)     
              SetGadgetText(2, Repertoire$)
              SetGadgetText(100, Repertoire$)
          EndSelect
          
        Case 2
          Select type
            Case #PB_EventType_LeftClick 
              Repertoire$=GetGadgetText(2)+GetGadgetItemText(2, GetGadgetState(2))
              SetGadgetText(100, Repertoire$)
          EndSelect
          
      EndSelect   
      
  EndSelect

Until Evenement = #PB_Event_CloseWindow 
End 


M.
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Repertoire+fichier dans un StringGadget()

Message par kernadec »

bjr Mesa
merci pour ce code :D
peut être que l'on pourrait avoir un exemple de ce type dans la doc et dans les sources du package PB

Cordialement
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: Repertoire+fichier dans un StringGadget()

Message par SPH »

Merci Mesa, c'est exactement ce que je cherchais ! :P
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Répondre