[résolu] Entrée dans un répertoire ftp
Publié : dim. 05/juil./2009 15:31
Bonjour,
voila en ce moment je m'attaque a la bibliothèque ftp sous linux bon le code est 100% compatible windows je pense
.
le souci qui me viens c'est comment ont fait pour ouvrir un dossier sur le serveur ftp en double clic ?
j'ai déjà récupérer la fonction double-clic mais je n'arrive pas a lui dire d'ouvrir tel ou tel dossier
c'est surement pas difficile mais bon j'avoue que...
voici le code:
ps: option supplémentaire est ce que quel qu'un pourrais faire un screen sous windows que je voie ce que sa donne svp ? d'avance merci
@++
voila en ce moment je m'attaque a la bibliothèque ftp sous linux bon le code est 100% compatible windows je pense

le souci qui me viens c'est comment ont fait pour ouvrir un dossier sur le serveur ftp en double clic ?
j'ai déjà récupérer la fonction double-clic mais je n'arrive pas a lui dire d'ouvrir tel ou tel dossier

c'est surement pas difficile mais bon j'avoue que...
voici le code:
Code : Tout sélectionner
;--- Window Constants
Enumeration
#Window_0
EndEnumeration
;--- Gadget Constants
Enumeration
#TextGadget_0
#StringGadget_0
#TextGadget_1
#StringGadget_1
#TextGadget_2
#StringGadget_2
#ButtonGadget_0
#ExplorerListGadget_0
#ListIconGadget_0
#ListViewGadget_0
#Ftp
EndEnumeration
;--- initialisation
InitNetwork()
;--- ouverture de la fenetre
If OpenWindow(#Window_0, 0, 0, 1000, 630, "VFTP", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowColor(#Window_0, RGB(0,0,0))
;--- texte plus string 1
TextGadget(#TextGadget_0, 10, 15, 40, 20,"Hote :")
SetGadgetColor(#TextGadget_0, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#TextGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255))
StringGadget(#StringGadget_0, 60, 10, 120, 25, "")
SetGadgetColor(#StringGadget_0, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#StringGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255))
;--- texte plus string 2
TextGadget(#TextGadget_1, 250, 15, 80, 20,"")
SetGadgetColor(#TextGadget_1, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#TextGadget_1, #PB_Gadget_FrontColor, RGB(255,255,255))
StringGadget(#StringGadget_1, 340, 10, 120, 25, "")
SetGadgetColor(#StringGadget_1, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#StringGadget_1, #PB_Gadget_FrontColor, RGB(255,255,255))
;--- texte plus string 3
TextGadget(#TextGadget_2, 550, 15, 100, 20,"mot de passe :")
SetGadgetColor(#TextGadget_2, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#TextGadget_2, #PB_Gadget_FrontColor, RGB(255,255,255))
StringGadget(#StringGadget_2, 660, 10, 120, 25, "", #PB_String_Password)
SetGadgetColor(#StringGadget_2, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#StringGadget_2, #PB_Gadget_FrontColor, RGB(255,255,255))
;--- bouton connexion
ButtonGadget(#ButtonGadget_0, 870, 10, 120, 25, "Connexion")
;--- explorateur de fichier gauche
ExplorerListGadget(#ExplorerListGadget_0, 10, 50, 480, 450, GetHomeDirectory()+"*.*", #PB_Explorer_FullRowSelect|#PB_Explorer_AutoSort)
SetGadgetColor(#ExplorerListGadget_0, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#ExplorerListGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255))
;--- explorateur de fichier droite
ListIconGadget(#ListIconGadget_0, 510, 50, 480, 450, "Name", 148,#PB_ListIcon_FullRowSelect |#PB_ListIcon_AlwaysShowSelection )
AddGadgetColumn(#ListIconGadget_0, 1, "Size", 110)
AddGadgetColumn(#ListIconGadget_0, 2, "Type", 110)
AddGadgetColumn(#ListIconGadget_0, 3, "Modified", 110)
SetGadgetColor(#ListIconGadget_0, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#ListIconGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255))
;--- ListViewGadget affiche les divers activitées
ListViewGadget(#ListViewGadget_0, 10, 510, 980, 80)
SetGadgetColor(#ListViewGadget_0, #PB_Gadget_BackColor, RGB(0,0,0))
SetGadgetColor(#ListViewGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255))
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #ButtonGadget_0
ClearGadgetItems(#ListViewGadget_0)
If OpenFTP(#Ftp, GetGadgetText(#StringGadget_0), GetGadgetText(#StringGadget_1), GetGadgetText(#StringGadget_2))
AddGadgetItem (#ListViewGadget_0, -1," Connection réussi avec succès a : "+GetGadgetText(#StringGadget_0))
If ExamineFTPDirectory(#Ftp)
While NextFTPDirectoryEntry(#Ftp)
If FTPDirectoryEntryType(#Ftp) = 1
type$ = "fichier"
ElseIf FTPDirectoryEntryType(#Ftp) = 2
type$ = "Dossier"
EndIf
listeftp$ = FTPDirectoryEntryName(#Ftp) +Chr(10)+ Str(FTPDirectoryEntrySize(#Ftp))+" Ko" +Chr(10)+ type$ +Chr(10) + FormatDate("%dd/%mm/%yyyy",FTPDirectoryEntryDate(#Ftp))
AddGadgetItem(#ListIconGadget_0, -1, listeftp$, 0)
Wend
EndIf
AddGadgetItem (#ListViewGadget_0, -1, "Il y a un total de : "+Str(CountGadgetItems(#ListIconGadget_0)-2)+ " Fichiers")
Else
AddGadgetItem (#ListViewGadget_0,-1,"Impossible de se connecter à l'Hote : "+GetGadgetText(#StringGadget_0))
EndIf
EndSelect
EndIf
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case #ListIconGadget_0
Select EventType()
Case #PB_EventType_LeftDoubleClick
;--- enplacement du double clic qui ouvre le dossier
Debug GetGadgetItemText(#ListIconGadget_0, GetGadgetState(#ListIconGadget_0), 0)
EndSelect
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
End
@++