FTP Inhalt im Treegadget darstellen
Verfasst: 03.06.2015 23:23
Hallo. Ich möchte meine Ordner und Dateien und alle Ebenen Unterordner und Dateinen vom Linux -Server in einem Treegadget darstellen, doch wie alle Unterordner und Dateien darstellen. Mir ist klar, das die Prozedurenschleife immer mit neuem Pfad wiederholt werden muss aber wie ich das im Code schreiben muss krieg ich im Kopf nicht rein.
Soweit bin ich :
Kann da jemand helfen ?
Soweit bin ich :
Code: Alles auswählen
EnableExplicit
Global Button_Backup, List_FTP
Enumeration Window
#Gui_1
#Gui_2
EndEnumeration
Declare.s DirScan( DirectoryName.s)
If OpenWindow(#Gui_1, 0, 0, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Button_Backup = ButtonGadget(#PB_Any, 212, 148, 196, 85, "Auswahl Backupdateien")
InitNetwork()
If OpenFTP(0, "192.168.40.1", "Username", "Password") ;bitte anpassen
Else
MessageRequester("Error", "Connecting failed")
DisableGadget(Button_Backup, 1)
EndIf
Else
MessageRequester("Error", "Can not open the Window")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Gui_1
End
Case #Gui_2
HideWindow(#Gui_1, 0)
CloseWindow(#Gui_2)
EndSelect
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case Button_Backup
HideWindow(#Gui_1, 1)
If OpenWindow(#Gui_2, 0, 0, 380, 700, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
List_FTP = TreeGadget(#PB_Any, 8, 8, 324, 632, #PB_Tree_CheckBoxes)
DirScan("/")
EndIf
EndSelect
EndSelect
ForEver
Procedure.s DirScan(DirectoryName.s)
Protected entry.l
If SetFTPDirectory(0, DirectoryName)
If ExamineFTPDirectory(0)
Repeat
entry.l = NextFTPDirectoryEntry(0)
If entry =1
If FindString(FTPDirectoryEntryName(0), ">")=0 ;Links werden rausgefiltert
AddGadgetItem(List_FTP, -1, FTPDirectoryEntryName(0))
EndIf
EndIf
Until entry = 0
EndIf
EndIf
EndProcedure