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 !

DLL POUR CONNEXION FTP


Information sur la source

Catégorie :API Classé sous : connexion, ftp, dll, connection Niveau : Débutant Date de création : 20/08/2003 Date de mise à jour : 24/08/2003 04:21:46 Vu / téléchargé: 5 792 / 1 096

Note :
9,33 / 10 - par 6 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

J'ai réutilisé une DLL que j'ai piqué ailleurs (je ne sais plus où), auteur Sumeet Ahuja, que j'ai modifié en y ajoutant deux fonctions : Information et FileList.
Je m'en sers depuis plus d'un an sans bug.  

A la demande générale (cf Christophe) et chose promises, chose dûe :
Voici une petite application de démo.
Je me suis appliqué à mettre un maximum de commentaires pour vous aider à comprendre et à réutiliser cette DLL.
 

Source

Conclusion

Ouvrez le projet global (_TemplateFTP.vbg) du premier répertoire pour charger la démo ET le dll, en mode création : Vous pourrez ainsi suivre ce qui s'y passe.

Parmi les modifs, une gestion un peu compliquée du résultat de la liste des fichiers, mais très complète : Nom, Taille, Date/Heure, Type

En fait, j'ai insisté du côté des Collections. Je ne connaissais pas trop et je croyais que les Collections n'étaient que des tableaux. Or on peut y ranger des Objets. Du coup, j'ai pu y stocker les fiches d'une vingtaine de paramètres de chaque fichier.
L'utilisation en ai plus simple que de gérer des découpages de chaînes.

Vala
 

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 !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de TTMan le 20/08/2003 17:45:05

Bien, c'est exactement ce que je cherchais!!! Merci!

signaler à un administrateur
Commentaire de aminert2100 le 26/08/2003 12:58:30

c koi hConnectHandle ?

signaler à un administrateur
Commentaire de jack le 28/08/2003 19:53:54 administrateur CS

Salut Aminert2100 (quel pseudo)
hConnectHandle est une valeur de type Long qui est renvoyé par des fonctions pour s'identifier. Chaque objet (dans Windows) à un Handle.

Pour cette application et ma démo, tu verras que la variable "lConn" est utilisée à chaque fois que l'on fait appel à la DLL. C'est la valeur qu'a retourner la fonction Connect de la DLL = le fameux Handle.
Vala

signaler à un administrateur
Commentaire de aminert2100 le 07/09/2003 15:29:40

Merci , mais comment utiliser  hConnectHandle dans u projet externe

signaler à un administrateur
Commentaire de Mercury le 08/09/2003 09:44:33

Vraiment top, ça marche impec ! 10/10
Par contre, est-il possible d'intégrer le contenu de la DLL (fichier .bas et .cls) dans un le projet exemple. J'aimerai me passer de la dll en intégrant les fonctions directement dans mon prog ? Si oui, comment ? J'ai essayé, mais j'ai des erreurs de déclarations, de type ... :-(

Merci d'avance de ta réponse.

signaler à un administrateur
Commentaire de jack le 15/11/2003 16:52:44 administrateur CS

>>aminert2100 : le projet de démo est là pour te répondre. Il utilise la DLL comme une DLL externe
>>Mercury : Oui, il suffit d'intégrer à ton projet la classe et le module et de dimensionner un objet Dim MonFTP as new clsTemplateFTP

signaler à un administrateur
Commentaire de Nightcourrier le 19/01/2005 21:22:10

Super cette source !,

Ya p-e des gens d'entre vous qui pourraient me répondre j'essais de me connecter à une base de données qui est sur un serveur savez vous comment je pourrais efectuer cela ?

signaler à un administrateur
Commentaire de azehaf le 03/03/2005 13:18:45

Excellent rien a dire!

signaler à un administrateur
Commentaire de NeoMetaller le 04/04/2005 17:14:29

lConn = TemplateFTP.Connect("mon serveur", "login", "pass")

à cette instruction, VBA plante et me met une erreur 50002 sans plus !!

une idée ??

signaler à un administrateur
Commentaire de jack le 04/04/2005 19:13:26 administrateur CS

Salut NeoMetaller
D'apès ce que j'ai pu trouvé sur cette erreur, il smble que cela vienne d'une incompatibilité de langue.
Est ce que ton Excel (ou autre) est un US ?
Car dans ce cas, la DLL compilée ici en FR peut poser problème.
Deux solutions :
- Recompiler la DLL avec ton VB6 US
- Utiliser les classes/modules de la DLL directement dans ton VBA : Voir réponse à Mercury ci-dessus + dans l'éditeur de macro de VBA, dans la fenêtre qui liste les feuilles : Click-droit Insertion Module puis Module de Classe

signaler à un administrateur
Commentaire de thuillez le 23/04/2005 17:33:19

je n'y comprend pas grand chose mais est ce que quelqu'un a un petit exemple (ouvrir le serveur, lister les fichiers et pouvoir en ajouter)

Merci !

signaler à un administrateur
Commentaire de jack le 24/04/2005 00:18:30 administrateur CS

Devine poursoui j'ai  fais un Zip !

signaler à un administrateur
Commentaire de thuillez le 24/04/2005 11:19:31

Oui mais je n'arrive pas a lire "TemplateFTP.vbg".
J'ai visual studio (donc visual basic) entreprise architect 7.0.

Mais vu que la *.dll est compilee je peut la lire c'est pourquoi je demandais ca.

@+

signaler à un administrateur
Commentaire de sarl_adc le 17/08/2005 17:20:10

Merci pour ta source.

J'ai récupéré que quelques petits bouts pour mes besoins mais le tout a l'air pas mal.

Par contre niveau interface de ton client FTP, y'a quelques automatisations que tu pourrais faire facilement si tu devais t'en servir, du genre éviter de rentrer le nom des répertoires à la main lorsque tu navigues sur le serveur, etc...

Ca mérite quand même une super note :-)

signaler à un administrateur
Commentaire de Dalton le 23/11/2005 11:09:57

Félicitation Jack, cette source est super. Jusqu'a nprésent j'utilisais l'objet Inet qui me posait de gros problème à la fermeture (très longue attente avant fermeture total du programme sur mon portable.), avec ta source, plus de problème, la fermeture est immédiate. Et de plus source très bien expliqué. Je te mets 10!

signaler à un administrateur
Commentaire de ozar le 14/05/2009 16:37:19 8/10

Bonjour,

J'ai corrigé quelques erreurs concernant deux méthodes :
Connect => connexion par défaut en mode actif (permet ou non au client de gérer le port de connexion)
GetFile => supression d'un flag et oblige l'API à retélécharger le fichier si déjà présent dans le cache)

Voici le code modifié :

'Connect To Server
    If hOpen <> 0 Then
        iFlags = INTERNET_FLAG_EXISTING_CONNECT Or IIf(bOpenPassive, INTERNET_FLAG_PASSIVE, 0)
        
        iConnHandle = InternetConnect(hOpen, _
                                      sServerName, _
                                      INTERNET_INVALID_PORT_NUMBER, _
                                      sUserName, _
                                      sPassWord, _
                                      INTERNET_SERVICE_FTP, _
                                      iFlags, &H0)

Dans la méthode GetFile :

bRet = FtpGetFile(hConnectHandle, _
                      sSourceFileWithPath, _
                      sDestFileWithPath, _
                      False, _
                      FILE_ATTRIBUTE_NORMAL, _
                      lTransferType Or INTERNET_FLAG_RELOAD, _
                      &H0)

signaler à un administrateur
Commentaire de jack le 14/05/2009 18:05:27 administrateur CS

Salut et merci de partagé.

Ta première modif doit faire partie d'une amélioration globale personnelle du projet permettant d'offrir le choix du mode PASSV (avec bOpenPassive) qui n'existait pas dans la source.

La seconde permet de s'affranchir de la mémoire tampon, oui.

signaler à un administrateur
Commentaire de ozar le 15/05/2009 09:46:56

En effet, j'avais omis la partie déclarative de la méthode connect qui est la suivante :

Public Function Connect(ByVal sServerName As String, _
                        ByVal sUserName As String, _
                        ByVal sPassWord As String, _
                        Optional ByVal bOpenPassive As Boolean = False) As Long

Concernant la méthode getFile, le flag INTERNET_FLAG_RESYNCHRONIZE n'était pas correcte puisqu'il s'agit de la gestion des attributs du fichier, c'est pourquoi il vaut mieux utiliser le flag FILE_ATTRIBUTE_NORMAL.

Voilà c'est tout, merci beaucoup pour cette DLL vraiment très pratique (à utiliser sans modération ^^)

signaler à un administrateur
Commentaire de ozar le 15/05/2009 09:50:16

Pour ceux qui veulent connaître la différence entre mode actif et passif, allez voir :

http://knol.google.com/k/yann-riviere/ftp-active-and-passive-mode/6i5b6z50f82p/2#

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Déclaration DLL et OCX [ par Guiguouz ] Bonjour, J'ai crée une application qui gère les descriptions d'imprimantes d'une entrprise. On a créé une base oracle. Jusque là pas de Pb. Je cré mo Fermer une connexion FTP avec Wininet [ par Rome05 ] Hello, Voila, j'ai une application qui tourne et qui se connecte toutes les 5 secondes &#224; un serveur FTP. Toutes les 5 secondes, ils ouvrent une FTP socket, je ne recois rien de la part du serveur [ par MuPuF ] Bonjour, j'essais de recoder des fonctions de wininet en socket, le probleme c'est que lors de ma connection au serveur ftp, il ne m'envois rien, alor Connexion à un FTP sans PASV ! [ par ZedMaTrix ] Saltu a tous !!Je r&#233;alise un client FTP actuellement, et j'utilise les winsock pour pouvoir me connecter en mode passif et actif.En mode passif p couper une connexion FTP avec inet [ par Robinwood01 ] BonjourJ'utilise la ligne suivant pour envoy&#233; un fichier sur un FTP :Inet_ftp.Execute , "PUT " &amp; fich &amp; " " &amp; "/tmp_transfert/" &amp; connexion VB / mysql [ par riadh100 ] J'utilise easyphp 1-6. je veut faire un connexion à MySQL grâce au fonction ci-dessous, mais je n'arrive pas.Où-est le probléme ? S'il vous plais aide echec de connexion oracle sur vb.net [ par abd_manel ] je travaille sur un poste client sur lequel est install&#233; oracle developper 6 &nbsp;et je charge la base depuis le serveur sur lequel est install& Connexion ftp a un a un site hébergé sous on-line. [ par mouajria ] bonjourJe travaille maintenant sur un module &nbsp;d&#8217;envoie de fichiers par ftp a un site h&#233;berg&#233; sous on-line en passant par un proxy Connexion à un FTP [ par sg71master ] Bonjourje suisen train d'ecrire un code sous VB6 permettant d'envoyer une image sur un FTP. En fait, je ne cherche pas &#224; afficher le contenue du Partage de connexion [ par Guidelor ] Ceci s'adresse à ceux qui ont un forfait internet et qui doivent le partager entre membres d'une famille ou entres amisJe viens d'achever un programme


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


HTC G1

Entre 449€ et 449€


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 : 1,607 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é.