Je cherche à faire un mini client ftp, avec juste les fonctions de base qui me permettraient d'envoyer des fichiers sur mon site, sans avoir à lancer une usine à gaz pour trois fois rien.
J'ai donc commencé en faisant ça:
(Soit dit en passant, j'ai piqué une partie du code se trouvant dans la procédure Send, dans le post sur l'Anti-Spam.
On va pas s'emm....er, non plus... )
Code : Tout sélectionner
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#ExplorerTree_Ftp
#ExplorerTree_Local
#Message
EndEnumeration
Global NetID
Adresse$ = "ftp.monsite.com" ;<-- Serveur ici
Login$ = "MonLogin" ;<-- Login ici
Pass$ = "MonPass" ; <-- Mot de passe ici
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 535, 400, #PB_Window_SystemMenu | #PB_Window_TitleBar , "Mini-Ftp")
If CreateGadgetList(WindowID())
ExplorerTreeGadget(#ExplorerTree_Local, 5, 5, 260, 210, "")
ExplorerTreeGadget(#ExplorerTree_Ftp, 270, 5, 260, 210, "")
EditorGadget(#Message, 5, 220, 525, 175)
EndIf
EndIf
EndProcedure
Procedure Send(texte.s)
Eol.s = Chr(13) + Chr(10)
SendNetworkString(NetID, texte + Eol)
Repeat
FreeMemory(0)
*Buffer = AllocateMemory(0,2000)
ReceiveNetworkData(NetID,*Buffer,2000)
Until NetworkClientEvent(NetID) <> 2
ProcedureReturn UseMemory(0)
EndProcedure
Open_Window_0()
InitNetwork()
*Buffer = AllocateMemory(0,2000) ; Buffer pour recevoir les données
NetID = OpenNetworkConnection(Adresse$, 21)
ReceiveNetworkData(NetID,*Buffer,2000) : AddGadgetItem(#Message,-1,PeekS(*Buffer))
*Ret = Send("USER"+Login$) : AddGadgetItem(#Message,-1,PeekS(*Ret))
*Ret = Send("PASS"+Pass$) : AddGadgetItem(#Message,-1,PeekS(*Ret))
*Ret = Send("SYSTEM") : AddGadgetItem(#Message,-1,PeekS(*Ret))
*Ret = Send("LIST") : AddGadgetItem(#Message,-1,PeekS(*Ret))
*Ret = Send("QUIT") : AddGadgetItem(#Message,-1,PeekS(*Ret))
CloseNetworkConnection(NetID)
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #ExplorerTree_Ftp
Case #ExplorerTree_Local
EndSelect
Case #PB_Event_CloseWindow
quit = 1
EndSelect
Until quit = 1
End
;
J'ai essayé de faire afficher le contenu de mon site sur l'editeur, mais je n'ai rien qui s'affiche.
En plus, j'ai l'impression que les chaines retournées par le serveur, le sont avec une commande de retard, ce qui fait que la chaine concernant la dernière commande, n'est jamais retournée.
Vous n'avez rien compris...??. Rassurez vous, moi non plus
Bref, si quelqu'un pouvait m'expliquer brièvement, sans me renvoyer sur un site web, (salemioche.com, pour ne citer que lui), ce serait sympa.
Chris