probleme avec Drag & Drop

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
manababel
Messages : 144
Inscription : jeu. 14/mai/2020 7:40

probleme avec Drag & Drop

Message par manababel »

Bonjour
j'essaie de faire un drag & drop depuis un "ListViewGadget" vers le bureau(ou pc) et l'inverse.
la "ListViewGadget" représente les fichiers stoker dans un FTP.
Du bureau vers ma "ListViewGadget" , ca fonctionne.

voici le code :

Code : Tout sélectionner

           Case #PB_Event_WindowDrop
             Resultat$ = EventDropFiles()
                 If Resultat$ <> ""
                   copy = 0
                   For i = 0 To CountGadgetItems(#ftp_list) ; test si un fichier existe deja sur la CF
                     If GetFilePart(Resultat$) = GetGadgetItemText(#ftp_list, i)
                       var = MessageRequester("copy","voulez vous replacer le fichier existant",#PB_MessageRequester_YesNo)
                       If var  <> #PB_MessageRequester_Yes
                         copy = 1
                         Break
                       EndIf 
                     EndIf
                   Next
                   t$ = "a:\" + GetFilePart(Resultat$)                   
                   If err = 0 And ( t$ <> Resultat$ )            
                     ;t$ = "a:\" + GetFilePart(Resultat$)
                     SendFTPFile(0, Resultat$ , t$, 1)
                     Repeat
                       Delay(300)
                     Until FTPProgress(0) = -3 Or FTPProgress(0) = -2
                   EndIf
                 EndIf
                 ClearGadgetItems(#ftp_list) 
                 Ftp_sp()
mais je n'arrive pas à faire l'envers, copier un fichier du bureau(ou Pc) vers la "ListViewGadget"
( comment récupérer l'adresse du fichier stocker le Pc ?)

si quelqu'un a une idée ?

(pour le moment j'utilise "PathRequester" , j'aimerais pour l'éviter )

merci.
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: probleme avec Drag & Drop

Message par Marc56 »

Bonjour manababel,

Je ne comprend pas: tu écris la même chose ?
Du bureau vers ma "ListViewGadget" , ca fonctionne.
...
mais je n'arrive pas à faire l'envers, copier un fichier du bureau(ou Pc) vers la "ListViewGadget"
Quand tu fais un Dnd du bureau vers un gadget, « l'objet fichier » transmis par PB est simplement le nom (complet) du fichier. Format et actions sont: #PB_Drop_Files, #PB_Drag_Copy
Note que tu peux transférer plusieurs fichiers en même temps.

Exemple pour envoyer un ou des fichiers du bureau (ou de l'explorateur) vers une fenêtre PB

Code : Tout sélectionner

; Drop file(s) du bureau (ou de explorateur de fichiers)

EnableExplicit

Enumeration 
  #Win
  #ftp_list
EndEnumeration

OpenWindow(#Win, 100, 100, 800, 600, "", #PB_Window_SystemMenu)
; Permettre à la fenêtre de recevoir des fichiers
EnableWindowDrop(#Win, #PB_Drop_Files, #PB_Drag_Copy)

ListViewGadget(#ftp_list, 10, 10, 780, 500)

Repeat 
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End 
      
    Case #PB_Event_WindowDrop
      Define Drop_Files$ =  EventDropFiles()
      Define Nb_Files = FindString(Drop_Files$, Chr(10))
      If Nb_Files = 0
        ; 1 seul fichier
        AddGadgetItem(#ftp_list, -1, Drop_Files$)
      Else
        ; Plusieurs fichiers
      Define i
        For i = 1 To Nb_Files
          AddGadgetItem(#ftp_list, -1, StringField(Drop_Files$, i, Chr(10)))
        Next
      EndIf
      
  EndSelect
ForEver

End
:wink:
manababel
Messages : 144
Inscription : jeu. 14/mai/2020 7:40

Re: probleme avec Drag & Drop

Message par manababel »

dsl pour l'erreur,
ce que je n'arrive pas à faire, c'est de récupérer le lien de destination du Pc, quand je copiais le fichier du FTP vers le Pc.

"Dnd du bureau vers un gadget" ça, ça marche.
Répondre