Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLIENT FTP AVEC L'API WINDOWS (WININET.DLL)


Information sur la source

Catégorie :API Classé sous : ftp, client, api, winninet, connexion Niveau : Initié Date de création : 30/08/2005 Date de mise à jour : 21/09/2005 22:12:24 Vu / téléchargé: 30 905 / 2 207

Note :
9,67 / 10 - par 3 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Client FTP utilisant l'API windows WININET.
Ce client FTP ne necessite aucun composant delphi pour la connection FTP.
 

Source

  • procedure Main;
  • begin
  • ChercherSource( DansLeZip );
  • end;
procedure Main;
begin
   ChercherSource( DansLeZip );
end;

Conclusion

Laissez vos commentaires.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • About.dcuTélécharger ce fichier [Réservé aux membres club]3 761 octets
  • About.dfmTélécharger ce fichier [Réservé aux membres club]9 785 octets
  • About.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier732 octets
  • FTP.dcuTélécharger ce fichier [Réservé aux membres club]5 238 octets
  • FTP.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 280 octets
  • main.dcuTélécharger ce fichier [Réservé aux membres club]11 477 octets
  • main.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
  • main.dfmTélécharger ce fichier [Réservé aux membres club]5 615 octets
  • main.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 818 octets
  • module.dcuTélécharger ce fichier [Réservé aux membres club]3 672 octets
  • module.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 017 octets
  • TinyFTP.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier386 octets
  • TinyFTP.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 434 octets
  • TinyFTP.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier544 octets
  • TinyFTP.exeTélécharger ce fichier [Réservé aux membres club]508 416 octets
  • TinyFTP.resTélécharger ce fichier [Réservé aux membres club]4 620 octets

Télécharger le zip

Historique

09 septembre 2005 16:48:13 :
Simplification du programme.
21 septembre 2005 22:07:00 :
Ajout : choix du numéro de port Modification : Effacement de la StringGrid
21 septembre 2005 22:12:24 :
Correction bug sur la grille ...

Commentaires et avis

signaler à un administrateur
Commentaire de elguevel le 31/08/2005 16:32:49

Je vois que mon code n'interesse pas grand monde :s

Sinon j'ai repondu a ma question pour faire une recherche recursive qui permet de lister tout les fichiers d'un FTP :

{ Lit tout les fichier d'un serveur FTP en partant d'un chemin de depart ! }
procedure Recursive( tList : TListBox; Repertoire : string );
var
    STRUCT_DATA : _WIN32_FIND_DATAA;
    FoundFile   : Pointer;
    bFound      : Boolean;
    TypeFile    : String;
    Memorise    : Array[0..50] of string;
    idx         : Integer;
    i           : Integer;
begin

    // Init
    i := 0;
    idx := 0;
    FoundFile := nil;
    bFound := False;

    if PConnexionFTP <> nil then
    begin

        FtpSetCurrentDirectory( PConnexionFTP, Pchar( SlachFTP(Repertoire) ) );
        FoundFile := FtpFindFirstFile( PConnexionFTP, PChar('*.*'), STRUCT_DATA, 0, 0 );

        if FoundFile <> nil then
        repeat

            if (STRUCT_DATA.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY ) = FILE_ATTRIBUTE_DIRECTORY  then
            begin
                if ( Trim(STRUCT_DATA.cFileName) <> '.' ) and ( Trim(STRUCT_DATA.cFileName) <> '..' ) then
                begin
                    Memorise[idx] := STRUCT_DATA.cFileName;
                    inc( idx );
                end;
            end else
            begin

//              TypeFile := AttributeToStr( STRUCT_DATA.dwFileAttributes );
                tList.Items.Add( SlachFTP(GetCurrentDirectory( PConnexionFTP )) + STRUCT_DATA.cFileName  );
            end;

            bFound := InternetFindNextFile( FoundFile, @STRUCT_DATA );

        until not bFound;

        InternetCloseHandle( FoundFile );
    end;

    for i := 0 to High( Memorise ) do
    begin
        if ( Memorise[i] <> '' ) then
        begin
            Recursive( tList,  Memorise[i] );
            FtpSetCurrentDirectory( PConnexionFTP, PChar( ExtractBeforeFolder( GetCurrentDirectory( PConnexionFTP ) ) ) );
            Application.ProcessMessages;
        end;
    end;

end;

Voila ..

Damien

signaler à un administrateur
Commentaire de slopes le 21/09/2005 15:11:35

oui, ton code m'interesse mais.... (il y a toujours un mais) je cherche à faire la même chose en .net.
J'ai réaliser une classe de connexion FTP, qui fonctionne trés bien sur un serveur FTP type UNIX, mais depuis que je suis sur un serveur FTP microsoft mon programme ne fonctionne plus, donc je me tourne vers les API windows pour trouver une solution :( et ton code va certainement m'aider...

merci

signaler à un administrateur
Commentaire de elguevel le 21/09/2005 21:49:31

désolé je ne fait pas de .Net :-(

Par contre si tu as des questions à poser à propos de cette application, ou des améliorations à apporter n'hesite pas.

J'en ai pas mal chier pour le faire ce programme car l'API Wininet est très peu rependu ... la plupart préferant utiliser les composants Indy !

PS : J'ai fait une mise a jour pour ceux que çà interesse !

Damien.

signaler à un administrateur
Commentaire de SISKODS9 le 21/10/2005 06:38:14

Trés util dans mon cas, je ne connaissait pas Wininit.Dll, cela m'a permit d'integrer des fonctionnalités FTP dans la gestion des scripts de mon application (L'utilisateur peut écrire ses scripts lui-même).

signaler à un administrateur
Commentaire de Ludolpif le 10/08/2006 10:33:14

Je rencontre un soucis aussi bien avec ce prog qu'avec le client Indy FTP :
Au moment du tranfert de données, c'est le serveur qui établi la connexion pour les datas (donc connexion entrante) et BitDefender 9 pour ne citer que lui bloque ces connexions, même si on ajoute un règle qui autorise mon appli à accéder à internet (avec tout les droits possibles !)
J'ai testé avec FileZilla, ça ne se produit pas, FileZilla va établir la connexion de données lui-même, et n'attend pas que le serveur le fasse.
Nb : avec Indy j'ai testé les modes actif et passif, le comportement est quelque peu différent (N° de ports) mais il y a toujours ce pb de connexion entrante !

signaler à un administrateur
Commentaire de elguevel le 10/08/2006 11:01:33

es tu sur que celà soit un problème de BitDefendeur... dans ce cas décoche FireWall, au moins t'es fixé !

A mon avis il doit y avoir un argument à changer pour que la connexion se fasse du client ... va voir la MSDN, ou alors dit moi sur quel serveur tu te connecte car je n'ai jamais eut ce problème !

A oui puis un autre truc tout con mais qui revient souvent ... As tu un routeur ou un modem routeur ?

++

signaler à un administrateur
Commentaire de Ludolpif le 16/08/2006 08:07:47

Oui, c'est sûr ça venai de BitDefender... Et bien du fait qu'il bloquai les connexions entrantes !
Je n'ai pas de routeur sur la machine sur laquelle j'ai testé (je suis encore avec un pauvre 56k... ouin !)
Mais je suis un boulet : je pensai avoir testé le mode passif avec mon IndyFTP, mais queneni car j'avais 2 feuilles contenant chacune un idFTP (dont 1 inutle et collé par erreur !) et j'ai modifié la propriété passive de celui qui n'était pas utilisé !
Donc en mode passive, c'est le prog qui établi la conenxion de contrôle, mais aussi la conenxion de données, donc tout fonctionne bien avec BitDefender, ainsi qu'avec un routeur...
NB : Utiliser un FTP en mode actif de nos jours, et sous Widnows (pusiqu'ici, delphifr.com on parle surtout Windows) n'est utilisable que dans des cas extrèmes :
- utilisable par un geek qui laisse une plage de port user en connexion entrante sur son PC et qui n'a pas de routeur, ou bien que ce dernier translate (NAT) tout le traffic sur les mêmes numéros de port sur son PC
- Un 56k-iste un peu fou ou encore un adepte des modem ADSL USB non routeurs (parce qu'il est à peu près impossible d'avoir une machine qui marche en acceptant toute connexion entrante...)

signaler à un administrateur
Commentaire de exyacc le 20/11/2006 10:12:52

salut,
je voulais savoir s'il y avait moyen d'avoir une progression du telechargement ?
merci

signaler à un administrateur
Commentaire de elguevel le 20/11/2006 11:04:50

oui en récupérant la taille du fichier avec "FtpGetFileSize" et en comparant avec ce qui est telechargé, je pense que l'affichage d'une barre de progression est possible.

signaler à un administrateur
Commentaire de exyacc le 20/11/2006 11:40:41

oki, merci

signaler à un administrateur
Commentaire de phephelavi le 16/01/2007 08:28:41

Bonjour,

J'ai pris connaissance de votre code et je l'ai "interprêté" pour l'intégrer dans un programme dont j'avais besoin d'une simple connexion et d'un envoi d'un fichier par session sur un serveur.

Voici le bout de code :

  if OpenConnexion(Self.Handle, IServeur, IUtilisateur, ILogin, StrToInt(IPort))
  then begin
         IsConnected := true;
         UpLoadFile(Fichier, ExtractFileName(Fichier));
         ...
       end;

  Tout se passe bien mais je rencontre un seul problème : le fichier n'est pas  
  mis sur le serveur, il est absent alors que la procédure a réussie. Pour
  mieux  comprendre le problème, j'ai repris un peu de votre code avec
Opendialog :

  if OpenConnexion(Self.Handle, IServeur, IUtilisateur, ILogin, StrToInt(IPort))
  then begin
         IsConnected := true;
         if OpenDialog.Execute
         then begin
                OpenDialog.Title := 'Uploader';
                Fichier := OpenDialog.FileName;
                UpLoadFile(Fichier, ExtractFileName(Fichier));
                ....
              end;
       end;
Et là, ca marche le fichier est sur le serveur ! Il y a bien un autre moyen de placer un fichier sans passer pas la boite de dialogue OpenDialog. Pourtant, j'ai vérifié le chemin du fichier ?

Avez-vous une suggestion ?

Merci d'avance

Phephelavi

signaler à un administrateur
Commentaire de elguevel le 16/01/2007 09:12:34

A quoi ressemble votre fonction ?
Avez vous indiqué un chemin complet ?
La variable IsConnected ne devrai plus vous servir, c'est juste une valeur utilisé par mon soft.

signaler à un administrateur
Commentaire de phephelavi le 16/01/2007 09:45:11

Bonjour,

Suite à votre message de 09:12:34

Oui, j'ai bien indique le chemin complet du fichier :
C:\CobraS\Main\CSmc.txt.

Voilà le fichier qui est sur mon poste et je dois l'envoyer régulièrement à un serveur. ET j'ai vérifié les valuers des variables dans l'EDI Delphi, il m'indique bien :

avant extracFilename : C:\CobraS\Main\CSmc.txt
après extracFilename : CSmc.txt

Ma fonction est tout simple : juste envoyé ce fichier sur un serveur si tout. Sans OpenDialog, le fichier n'est pas placé sur le serveur : problème de chaine ? Au niveau des Slash / Qu'est-ce qui ferait que la même chaine formatée
n'aboutit pas dans mon code .

La manière doit être transparente pour l'utilisateur. Mon programme doit faire cet envoi sans que l'utilisateur intervienne.

Oui, j'utilise votre variable ailleurs pour être sûr que la connexion est coupée.

Merci pour aide !



signaler à un administrateur
Commentaire de elguevel le 16/01/2007 10:19:03

J'ai trouvé la cause de ton probleme.

Le problème vient du fait qu'en utilisant mon programme tu declenche les evenements un par un.
Alors qu'en faisant tout d'un coup çà ne passe pas ... mais pourquoi ?
Tout simplement car a peine le fichier envoyé la connexion se termine trop vite.
Il faut simplement mettre une pause très courte après l'upload avant la fermeture des connexions.
PS : a la place de la pause il doit y avoir un systeme pour çà ; a voir.

Voila le bout de code:

var
  FichierLocal   : string;
  FichierServeur : string;
  Serveur        : string;
  Login          : string;
  MotPasse       : string;

  PConnexionInternet: HINTERNET;
  PConnexionFTP     : HINTERNET;

begin

  FichierLocal := 'C:\Documents and Settings\leveugle\Bureau\test.txt';
  FichierServeur := 'fichier.txt';

  Serveur :=  'serveurftp';
  Login   :=  'login';
  MotPasse:=  'motdepasse';


  // Connexion
  PConnexionInternet := InternetOpen( PChar('tralalala'), INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 );

  if PConnexionInternet = nil then Exit;

  PConnexionFTP := InternetConnect( PConnexionInternet, Pchar(Serveur), 21, Pchar(Login), Pchar(MotPasse), INTERNET_SERVICE_FTP, 0, 0 );

  if ( PConnexionFTP = nil ) then
  begin
    InternetCloseHandle( PConnexionInternet );
    Exit;
  end;

  try
    // Envoi le fichier "test.txt" vers le serveur sous le nom de "fichier.txt"
    FtpPutFile( PConnexionFTP, PChar(FichierLocal), PChar(FichierServeur), FTP_TRANSFER_TYPE_BINARY, 0 );
    Sleep( 2000 );     // Mettre une pause ici (cause de ton probleme)
  finally
    // On ferme la connexion
    InternetCloseHandle(PConnexionInternet);
    InternetCloseHandle(PConnexionFTP);
  end;

end;

signaler à un administrateur
Commentaire de phephelavi le 16/01/2007 19:31:53

Bonsoir Damien,

J'ai lu ton message, ExtractFolder est bien dans ton unité module.

Je vais modifié mon code et je vous tiens au courant demain.

Merci !

signaler à un administrateur
Commentaire de phephelavi le 16/01/2007 21:05:56

Encore moi Damien,

Voilà, j'ai modifié mon code, voici la procédure entière mais rien n'y fait, le fichier n'est toujours pas sur le serveur alors que la connexion et le transfert se sont bien déroulé (message de fin)

procedure TFCobraSAgent.EnvoyerFichierFTP;
//Se connecte au serveur et envoie le fichier de service de l'agent en cours

var
  FichierLocal       : string;    //Nom du fichier en local Windows
  FichierServeur     : string;    //Nom du fichier pour le serveur
  Serveur            : string;    //Adresse serveur, ex : perso-ftp.wanadoo.fr
  Login              : string;    //Nom utilisateur, ex : mr.martin@wanadoo.fr
  MotPasse           : string;  
  Port               : string;    //Le n° du port, FTP par défaut = 21
  PConnexionInternet : HINTERNET;
  PConnexionFTP      : HINTERNET;

begin
  //On récupère d'abord les paramètres du serveur (par un Reguitry
  FCobraS.LireParamFTP(Serveur, Login, MotPasse, Port);
  ShowMessage('Handle : ' + IntToStr(Self.Handle) + #13#10 +
              'Adresse : ' + Serveur + #13#10 +
              'Login : ' + Login + #13#10 +
              'Mot de passe : ' + MotPasse + #13#10 +
              'Port : ' + Port);

  FichierLocal   := 'C:\CobrasSecurite\MainCourante\CSmc.txt';
  FichierServeur := 'CSmc.txt';

  //Connexions : Internet, puis FTP
  PConnexionInternet := InternetOpen(PChar('CobraSecurite'),  
  INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
  
  if PConnexionInternet = nil
  then Exit;
  
  PConnexionFTP := InternetConnect(PConnexionInternet, Pchar(Serveur), StrToInt
  (Port), Pchar(Login), Pchar(MotPasse), INTERNET_SERVICE_FTP, 0, 0 );
  
  if PConnexionFTP = nil
  then begin
         InternetCloseHandle(PConnexionInternet);
         Exit;
       end;

  //Envoi du fichier
  Try
    FtpPutFile(PConnexionFTP, PChar(FichierLocal), PChar(FichierServeur),
    FTP_TRANSFER_TYPE_BINARY, 0);
    Sleep(2000);
  Finally
    //On ferme la connexion
    InternetCloseHandle(PConnexionInternet);
    InternetCloseHandle(PConnexionFTP);
  end;
  ShowMessage('Transfert réussi !');
end;

Je n'ai pas d'erreur mais le fichier 'CSmc.txt' n'est toujours pas sur le serveur (je vérifie avec FTPExpert).

Merci pour votre réponse

Phephelavi

signaler à un administrateur
Commentaire de elguevel le 16/01/2007 21:11:19

attention tu poste toujours deux fois :D

sinon n'a tu pas de probleme lié au reseau comme par exemple un firewall (ou anti virus genre norton) ou meme un routeur (meme si çà serai etonnant que çà vienne de là ) ?

signaler à un administrateur
Commentaire de phephelavi le 17/01/2007 08:43:28

Non aucun problème et pas de message d'erreur. Je peux envoyer le fichier en question avec ton programme TinyFTP, c'est OK sur le serveur mais quand j'interprète ton code dans mon programme, c'est comme s'il ne se passe rien.

Je continue à chercher  et je vous contacterai

Oui, excusez moi, j'ai posté 2 fois

A+

signaler à un administrateur
Commentaire de phephelavi le 17/01/2007 09:46:38

Bonjour Damien,

J'ai fini l'intégration d'une gestion de procédure d'envoi FTP en suivant votre code mais je n'arrive toujours pas à envoyer le fichier sur le serveur.Dans l'exemple ci-dessous, j'ai repris votre premier code pour expliquer :

Voici une partie du code qui concerne l'envoi du fichier :

  if OpenConnexion(Self.Handle, Serveur, Login, MotPasse, StrToInt(Port))
  then begin
         UpLoadFile(FichierLocal, ExtractFileName(FichierServeur));
         Sleep(2000);
         ShowMessage('Transfert réussi !');
         ...
       end;

Dans ce cas, le fichier n'est pas mis sur le serveur (pas d'erreur, les variables contiennent bien les bonnes données)

Si je modifie le code comme ci-dessous :

  if OpenConnexion(Self.Handle, Serveur, Login, MotPasse, StrToInt(Port))
  then begin
        if OpenDialog.Execute
        then begin
               OpenDialog.Title := 'CobraSecurite';
               FichierLocal     := OpenDialog.FileName;
               UpLoadFile(FichierLocal, ExtractFileName(FichierServeur));
             end;
         Sleep(3000);
         ShowMessage('Transfert réussi !');
       end;

Là, ca marche, le fichier est sur le serveur. Je ne comprends pas pourquoi avec OpenDialog c'est OK, c'est au niveau de la chaine ? Je n'ai pas de routeur, juste le parefeu de Windows XP, un anti-virus, rien de plus conventionnel. Puis de toute façon, ca marche avec FTPExpert ou votre TinyFTP.

Mais l'envoi du fichier doit-être "transparent" pour l'utilisateur, il ne doit pas être obligé de passer par une boite de dialogue.

Merci encore pour aide, je continue...

Phephelavi

signaler à un administrateur
Commentaire de elguevel le 17/01/2007 11:38:42

Je comprend pas parce qu'avec le code que je vous est fourni quelque poste plus haut, avec le nom de fichier ecrit en dur, çà passe sans probleme. et c'etait juste un probleme de "Sleep()" !

Reprenez le, et augmenté le temps de pause, et aller y au pas à pas ... franchement là je vois pas !

Sinon on peut aussi sniffer la trame qui passe pour voir ce qui se deroule réelement :-s mais bon ..

signaler à un administrateur
Commentaire de phephelavi le 18/01/2007 18:19:51

Bonsoir Elguevel !

Je ne sais pas pourquoi cela ne veut pas fonctionner mais j'ai trouvé une solution.

J'ai beau mettre même en "dur" le chemin et le nom du fichier, après un envoi du fichier, il n'est toujours pas sur le serveur. Que je passe par un String ou un FileName, et même un OpenDialog.FileName, rien n'y fait !

Tous les exemples que j'ai trouvé sur les forums, c'est toujours une application avec envoi, suppression, téléchargement en passant par une boite de dialogue mais jamais en passant par des variables et par une tâche de fond.

Alors, j'ai posé un panel, unTDirectoyListBox relié à un TFileListBox et un composant OpenDialog. Je mets le panel en invisible pour par que l'utilisateur le voit !

Dans la procédure d'envoi, je place :
...
OpenDialog1.FileName := FileListBox1.Items[FileListBox1.ItemIndex];
+ ton code d'envoi du fichier
...

Et là, je n'ai plus de problème.

Si tu as une info sur le sujet, je suis preneur pour comprendre le problème pourquoi je suis obligé de passer par un TFileListBox pour que le nom du fichier soit bien compris et que le fichier soit placé sur le serveur.

Merci et bon weekend à toi et à tous les développeurs !

Phephelavi

signaler à un administrateur
Commentaire de elguevel le 18/01/2007 20:18:30

c'est pas normal, mon code plus haut ... le chemin du fichier est ecrit en dur et aprs l'avoir executé.. j'ai retouvé le fichier sur mon FTP.

As tu essayé de mettre un Application.ProcessMessages après l'upload ?

Je suis sur que c'est une connerie de rien du tout en plus ....

signaler à un administrateur
Commentaire de phephelavi le 19/01/2007 04:24:25

Oui, J'ai mis un Application.ProcessMessages mais rien n'y fait.

Bon pour l'instant, ça fonctionne bien !

Je voulais savoir comment on peut atteindre directement un sous répertoire sur le serveur ?

Merci et à bientôt Damien

Phephelavi

signaler à un administrateur
Commentaire de elguevel le 19/01/2007 09:55:50

Tu peux acceder à un autre repertoire grace à "FtpSetCurrentDirectory".. j'ai du faire une fonction pour se ballader dans les dossier, regarde dans le module ElgFTP :-)

signaler à un administrateur
Commentaire de phephelavi le 19/01/2007 18:11:57

Je n'ai pas trouvé le module ElgFTP, tu as livré que Module.pas avec ton projet TintyFTP. J'ai regardé dans le FTP.pas, il y a bien des commandes pour le répertoire mais pas celle là.

Peux t-être une j'ai mal lu ?

A tout a l'heure

Merci

signaler à un administrateur
Commentaire de yomane51100 le 13/03/2007 18:37:33

bonjour a tous peut ton utiliser se programme en libre ou pa je nes pa besouin de faire des modif.

signaler à un administrateur
Commentaire de elguevel le 13/03/2007 21:34:25

Tout ce que je poste ici est entièrement libre, utilisable et modifiable par la communauté.

Vas y lache toi :-D

signaler à un administrateur
Commentaire de veki51 le 15/05/2007 18:32:32

j'ai entraine d'aissai merci boucoup

signaler à un administrateur
Commentaire de veki51 le 17/05/2007 13:26:57

merci boucoup pour ton code.mais ca marche pas avec moi??????

signaler à un administrateur
Commentaire de Ludolpif le 17/05/2007 14:31:01

Veki51 : Sois plus précis si tu as besoin d'aide pour faire fonctionner ces sources. Qu'est ce qui bloque au juste ?
Je voudrai pas être rabat-joie, mais le langage SMS ou phonétique, c'est pénible à lire...

signaler à un administrateur
Commentaire de veki51 le 18/06/2007 15:24:48

bonjour ton code est vraiment formidable merciiiiiiiiiiiii.
j'ai besoin de ton aide.

InternetOpen( PChar('Tiny FTP'), INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 ); les paramètre de cette instruction je les pas compris.  

STRUCT_DATA : _WIN32_FIND_DATAA; ???????????????
InternetConnect( PConnexionInternet, Pchar(Serveur), Port, Pchar(Login), Pchar(MotDePasse), INTERNET_SERVICE_FTP, 0, 0 ); les 3 paramètre qui son à la fin.

merci d'avance

signaler à un administrateur
Commentaire de francois04 le 27/02/2008 16:16:49 10/10

Je cherchais qqch de simple et pédagogique sur le sujet (ftp et delphi) :
c'est exactement ce qu'il me fallait !
Merci,
François

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

client ftp [ par isa150183 ] salut je dois realiser un client ftp reception upload avec vu des fichiers de la machine ftp treeview qqn pourrait il me dire comment faire ou qqn la Envoi de fichier / Client FTP [ par SMoG ] BsoirJ'ai fait un petit chat trankilou avec serversocket et clientsocket. J'ai voulu y ajouter une fenetre pour envoyer des fichiers mais j'y suis pas [Access] problème avec des TClientDataSet [ par isnotgood ] Bonjour,Pour mon application de type client/serveur j'utilise une base access97.L'architecture de l'application est la suivante :Pour le serveur :Conn client serveur Socket avec API ?? [ par Hack_arab ] Salut je cherche un exemple en delphi de client/serveur socket avce API Client/serveur Socket avec API ?? [ par Hack_arab ] Salut je cherche un exemple en delphi de client/serveur socket avce API Interbase 6.0 - Perte de connexion Client [ par ninnie00 ] Bonjour,Nous avons install&#233; une application client/serveur avec Interbase 6.0 chez un de nos clients.Le serveur est en Windows NT4 et les clients [Client FTP] Fonction d'upload. [ par kinkey_wizard ] Bonjour à tous...Je suis en train de tenter de faire un client FTP avec les composants Indy (ben oui je debute encore...) et j'ai donc recherché quelq Client FTP par ClientSocket et Retour Chariot, [ par Filipe35 ] Comment faire un retour chariot dans une variable ?Exemple: ( \n dans PHP )Var:= 'Bob \n Henri \n Jack';ShowMessage (var); donneraBobHenriJackIl sembl Connexion à un serveur ftp [ par captainfalko ] Salut &#224; tous,Je souhaiterais &#233;tablir une connexion entre mon programme delphi et mon serveur ftp.Je souhaiterais &#233;tablir la connexion v Connexion a plusieurs serveurs [ par tenrod ] Salut a tous,Je suis nouveau dans la communauté Delphi, j'ai codé deux appli distinctes (un client et un serveur) et j'amerais que mon client soit cap


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.