Aktuelle Zeit: 05.12.2020 07:35

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Programm nach ExplorerListGadget verschieben , wie ?
BeitragVerfasst: 20.11.2020 14:11 
Offline

Registriert: 31.12.2009 11:58
Hallo, guten Tag.

Ich möchte bitte Programme von einem ExplorerListGadget zu einem anderen ExplorerListGadget schieben.
Oder vom Windowsscreen in das ExplorerListGadget.
Beides funktioniert nicht.

Geht nur wenn ich das auf das Windowsfenster schiebe von beiden.

Danke.
Gruss

Code:
Global files.s

Enumeration
  #window_1
  #expl_1
  #expl_2
 
EndEnumeration

OpenWindow(#window_1, 1100, 5, 220, 400, "CPCT", #PB_Window_SystemMenu)

ExplorerListGadget(#expl_1, 10, 25, 200, 350,  "d:\cygwin\home\pebi\pebi-cpct\*.txt;*.c;*.h")
SetGadgetAttribute(#expl_1,#PB_Explorer_DisplayMode,#PB_Explorer_List)

Repeat
  Event = WaitWindowEvent()
 
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
     
      If EventGadget() = #expl_1 And EventType() = #PB_EventType_DragStart
        Files = ""
        For i = 0 To CountGadgetItems(#expl_1)-1
          If GetGadgetItemState(#expl_1, i) & #PB_Explorer_Selected
            Files + GetGadgetText(#expl_1) + GetGadgetItemText(#expl_1, i) + Chr(10)
          EndIf
        Next i     
        DragFiles(Files)
      EndIf
           
      If EventGadget() = #expl_2 And EventType() = #PB_EventType_DragStart
        Files = ""
        For i = 0 To CountGadgetItems(#expl_2)-1
          If GetGadgetItemState(#expl_2, i) & #PB_Explorer_Selected
            Files + GetGadgetText(#expl_2) + GetGadgetItemText(#expl_2, i) + Chr(10)
          EndIf
        Next i
        DragFiles(Files)
      EndIf     
   
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_1
        CloseWindow(#Window_1)
        Break
      EndIf
  EndSelect
 
  ReleaseDC_(WindowID(0), *DC)
ForEver


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm nach ExplorerListGadget verschieben , wie ?
BeitragVerfasst: 21.11.2020 14:35 
Offline

Registriert: 29.10.2011 16:54
Hallo,

bis jetzt hast Du nur eingebaut das die Elemente weggezogen werden können.
Lese in der Hilfe mal die Beispiele zu Drag und Drop durch - vor allem >EnableGadgetDrop(#Gadget, Format, Aktionen [, PrivatTyp])<.
Ohne diesen Befehl werden keine Gadget irgendwelche Drops annehmen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm nach ExplorerListGadget verschieben , wie ?
BeitragVerfasst: 24.11.2020 10:55 
Offline
Benutzeravatar

Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten
Hallo funkheld,

Code:
; Kopiere Dateien per "Drag and Drop" vom Schreibtisch / Windowsdesktop auf ein ExplorerListGadget Ziel.
Global files.s

Enumeration
  #window_1
  #expl_1
EndEnumeration

OpenWindow(#window_1, 100, 5, 620, 400, "CPCT", #PB_Window_SystemMenu)
Zielpfad$="d:\cygwin\home\pebi\pebi-cpct\"
If -2<>FileSize(Zielpfad$) ; Wenn der Zielpfad kein Verzeichnis ist, dann 
  Zielpfad$ = PathRequester("Bitte wählen Sie einen Pfad aus", "") ; wähle einen Pfad aus.
  CompilerIf #PB_Compiler_OS=#PB_OS_Windows
    If "\"<>Right(Zielpfad$,1)
      Zielpfad$+"\"
    EndIf
  CompilerEndIf
EndIf
ExplorerListGadget(#expl_1, 10, 25, 600, 350, Zielpfad$+"*.*")
EnableGadgetDrop(#expl_1,    #PB_Drop_Files,   #PB_Drag_Copy) ; Aktiviere Gadget als Ziel für Drop.
fertig=#False
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case  #PB_Event_GadgetDrop ; Für den Fall eines Ereignis GadgetDrop:
      DiesesGadget=EventGadget()
      Files = EventDropFiles() ; Besorge die betroffenen Dateien.
      Count  = CountString(Files, Chr(10)) + 1
      For i = 1 To Count ; Verarbeite die Dateien einzeln.
        QuellDatei.s=StringField(Files, i, Chr(10))
        ZielDatei.s= GetGadgetText(DiesesGadget)+GetFilePart(StringField(Files, i, Chr(10)))     
        Select EventDropAction()
          Case #PB_Drag_Copy
            CopyFile( QuellDatei,ZielDatei)
            ; Debug "CopyFile("+QuellDatei+", "+ZielDatei+")"
        EndSelect
      Next i
      Zielpfad$= GetGadgetText(DiesesGadget) ; Besorge den aktuellen Zielpfad von DiesesGadget.
      FreeGadget(DiesesGadget)               ; Schließe das Gadget und öffne es neu.
      ExplorerListGadget(DiesesGadget, 10, 25, 600, 350,  Zielpfad$+"*.*")
      EnableGadgetDrop(DiesesGadget,    #PB_Drop_Files,   #PB_Drag_Copy)
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_1
        CloseWindow(#Window_1)
        fertig=#True
      EndIf
  EndSelect
Until fertig
; offen:  kopiere Ordner, Fehlemeldung wenn CopyFile fehlschlägt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm nach ExplorerListGadget verschieben , wie ?
BeitragVerfasst: 02.12.2020 14:00 
Offline

Registriert: 31.12.2009 11:58
Hallo, danke für die Hilfe.

Funktioniert wunderbar.

Gruss


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 20 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye