CLIENT FTP PROFESSIONEL ET ÉNORME (NOUVEAU VERSION 5!)

diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008 - 15 déc. 2006 à 08:58
patriceB2 Messages postés 10 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 17 novembre 2011 - 17 nov. 2011 à 17:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40729-client-ftp-professionel-et-enorme-nouveau-version-5

patriceB2 Messages postés 10 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 17 novembre 2011
17 nov. 2011 à 17:12
Bonjour,

Code super. Rien à envier à des logiciels du commerce. Je n'ai pas trouvé, malgré tous mes essais, la méthode pour se connecter à un serveur ftp au travers d'un proxy (hConn vaut toujours 0). En Utilisant INTERNET_OPEN_TYPE_PROXY, Hconn ne vaut pas 0, mais la connexion n'existe pas.... Pourtant, il semble posséder cette possibilité.

Comment faut-il faire?
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
2 nov. 2009 à 13:04
Un bref aperçu et je suis resté ébahie !! 10/10 pour ce travail qui a du te prendre un temps fou !
Dommage que tu ne mettes plus à jour ce Soft et que tout soit en anglais (doc comprise)!
j'ai bien du mal à l'étudier, moi faché avec Sheakspire !
soundpanther Messages postés 68 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 31 janvier 2009
30 sept. 2008 à 14:09
Bonjour,

C'est vrais que je n'est jamais vus une source aussi bien écrite, j'aurais aimer voté 10/10 mais il n y as plus les étoiles pour cela.

Sinon très très bonne source

Merci
cs_jipef Messages postés 55 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 1 août 2008
22 août 2008 à 11:40
c'est trés trés bien 9,5/10

manque un tratement d'erreur sur les repertoires qui sont absents
on error goto MKDIR_LOGS et on error goto MKDIR_TEMP

dans FtpWriteResponse
**************************
exit function
MKDIR_LOGS:
mkdir app.path & "\LOGS"
resume


dans FtpGetDirectoryContents
**************************
exit sub
MKDIR_TEMP:
mkdir app.path & "\TEMP"
resume

il manque aussi

Sub menu_exit_Click()
btnDisconnect_Click
btnQuit_Click
End Sub




dans mon applic j'ai juste besoin d'envoyer un Zip sur mon ftp
j'ai fait quelques essais avec Inet mais c'est merdique
ici avec wininet.dll c'est impeccable
je vais tirer la quintescence de ce code quand j'en aurais besoin

merci beaucoup11:34 22/08/2008




MKDIR_TEMP:
mkdir app.path & "\TEMP"
resume

j'ai fait quelques essais avec Inet mais c'est merdique
ici ave wininet.dll c'est impeccable

il y a un site http://www.protofile.com qui propose l'exe
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
21 juil. 2007 à 18:30
je ne travaille plus dans le visual basic, ce logiciel était comme mon initiation à la programmation, maintenant je travaille dans le java
cs_miata Messages postés 86 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 19 août 2008
21 juil. 2007 à 14:43
Sous Server 2003 R2 : Dès que je clique sur Connect =>

Open logfile For Output As #1 (Path Not Found)

Si je désactive le log avant de me connecter :

Open App.Path & "\temp" & filename For Random As #1 (Path Not Found)
dead33 Messages postés 29 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 4 décembre 2007
22 févr. 2007 à 11:48
bonjour
moi j'aime vbfrance pour ca grtuiter il ya des sources que leur createur doi les commersialise
j'ai vouleu maitre 10/10 plein
bravooooooooooooooo!!!
a+
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
25 janv. 2007 à 21:48
Merci pour vos commentaires. Je travaille actuellement sur une version Java du programme et je refait tout à neuf.
hdeumpty Messages postés 5 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 9 janvier 2014
25 janv. 2007 à 14:51
Salut,
excellent (!!) prog mais je tombe sur un os au démarrage: la procédure ListFolders donne des erreurs d'exécution sur certains répertoires system (Win 2k) et plante en passant sur le lecteur CD avec une erreur d'execution '52', "Nom ou numéro de fichier incorrcet sur l'instruction "fname = Dir(Src, vbDirectory + vbHidden + vbArchive + vbSystem + vbReadOnly)" si le lecteur est vide.
Pb aussi sur les disques réseau avec mot de passe... mais peut être ma config (au boulot) est-elle trop particulière!
icdfr Messages postés 1 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 9 janvier 2007
9 janv. 2007 à 22:36
excellent
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
2 janv. 2007 à 11:12
Une idée : comme je teste cette application, je travaille souvent pas à pas et qd je suis sûre , je lance le programme par F5 . Hors j'ai lu dans l'aide vb, que doevents peut "avoir des conséquences inattendues......." et doevents est utilisé un peu partout....

Je ne pourrai certainement plus tester cette application écrite en Java. Bon courage et bonne chance pour la suite.
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
2 janv. 2007 à 09:24
MErci, je vais commencer la versiom Java sous peu, et renseigne-toi pour le serveur.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
2 janv. 2007 à 09:22
Je vais me renseigner auprès de la Société qui me loue le serveur et vous tiendrai au courant.

Difficile de recréer cette erreur car elle s'est produite à la suite de mauvaise utilisation du logiciel.Je devais détruire un fichier mal placé sur le serveur. J' étais un peu perdu , j'ai cliqué quelque part....... et c'est parti à détruire tout le serveur........

Je désire faire une remarque générale. Si vous voulez commmercialiser un jour ce "bijou", il faut absoluement être moins radical dans les déroulements et demander des confirmations en disant à l'utilisateur le risque qu'il prend.
Avec un clic, un utilisateur peut vider le contenu d'un disque ou d'un serveur! Des erreurs de manipulation sont inévitables. Prévoir un système de restauration "comme la corbeille de Windows"

Encore une fois, mais remarques ne sont aucunement des critiques. Cette application est une merveille dans ce qu'elle fait , mais aussi ds l'apprentissage de VB que l'on peut en retirer. Tout y est. C'est un cours professionnel.
J'essaye seulement de vous aider dans son "debogage".
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
2 janv. 2007 à 08:36
Pour certains serveurs français, wininet.dll confond la date avec le nom de fichier (bug de l'API). Je vais travailler sur une version Java du programme, sans l'API donc ça devrait être résolu. J'aurait besoin de savoir sur quelle instruction il boucle.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
2 janv. 2007 à 08:33
Oui, j'ai vérifié ça juste après mon message envoyé trop tôt.

Problème du Upload
J' ai constaté à mes dépends que ce problème est plus général
(Rename / Delete ) . Je n'ai pas noté la manipulation car je ne m'y attendais pas. Le programme boucle sur une instruction.... Hier malheureusement c'etait sur l'instruction Delete d'un repertoire sur le serveur. ! J 'ai arrêté le programme à temps. Mais 4 répertoires avaient déjà disparu........
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
1 janv. 2007 à 19:18
c'est ton ordi ou le serveur, ce n'est pas le programme.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
1 janv. 2007 à 12:10
une petite anomalie:
les fichiers transférés sur le serveur sont à la date du 1/1/2006 au lieu de 1/1/2007
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
1 janv. 2007 à 09:23
Le dépassement de capacité s'est produit en additionnant les tailles de chaque fichier de la file d'attente pour affichage dans la barre de statut. Le nombre était trop élevé avec 5000 fichiers.
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
1 janv. 2007 à 09:22
le buffer size peut être n'importe quel chiffre, de 10 jusqu'a l'infini. c'est le nombre d'octets lus/écrits sur le fichier distant chaque fois que le loop s'exécute.

La file d'attente est mise "en marche" lorsque le programme commence. tu n'a qu'a envoyer les fichiers dans la liste d'attente et tout se fera.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
1 janv. 2007 à 09:18
Problème du Upload

J'ai sélectionné un sous repertoire local contenant une liste de fichiers (14) . Puis dans TreeView1, le menu Upload. La liste ds ListView2 a été correctement préparée. Comme rien de plus ne se passait j'ai sélectionné le menu Queue, Resume (ou appuyé directement sur un des Icones ds Toolbar1 (je ne sais plus exactement).

La liste Listview2 a été rechargé du contenu de tout le repertoire principal ! (5000 fichiers !) et l'envoi vers le serveur a commencé. J'ai voulu "canceler". L'erreur dépassement de capacité s'est alors produite.

Paramètrage des buffers. Je suis trop inculte en la matière pour savoir ce qu'il faut paramétrer. Je suis en ADSL limitée . Quelles sont les valeurs correctes du Buffer size (multiple ou sous multiple de 1024 ?). J'ai le sentiment que cette valeur peut être différente selon que l'on Upload ou Download. Les vitesses de transfert sont notoirement différentes (1 à 10 !)
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
1 janv. 2007 à 08:15
Merci, bonne année toi aussi :p et personnellement je n'ai rien constaté d'anormal avec les uploads, il fait simplement lire un "buffer" sur le fichier local et l'écrit sur le serveur... sinon pourquoi pas jouer avec le paramètre "buffer size" pour les uploads?

Pourquoi l'anglais? Il y a beaucoup plus d'internautes anglophones que francophones. Ce programme a été publié sur www.download.com, www.sourceforge.net, et à bien d'autres places. Pour assurer un maximum de clientèle, il est en anglais. C'est seulement par la suite que j'ai décidé de le poster ici sur VBFrance. Mais des traductions sont à venir très bientôt. On est ouvert aux commentaires :)
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
1 janv. 2007 à 08:11
A ce jour , votre programme a été vu 1461 fois. Je m'étonne qu'il n'y est que si peu de commentaires.

Pourquoi avoir faire l'aide et les messages en anglais?
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
1 janv. 2007 à 08:07
J' ai fait les qqes petites corrections. Le programme est suffisamment clair pour être rapidement compris.

J'ai voulu "Uploadé" hier un assez grand nombre de gros fichiers. Tout fonctionne . Sauf que régulièrement la transmission s'arrete après un temps relativement long. Impossible de relancer sans rebouter la machine. Je pense que ce problème est plus lié à Wanadoo qu'à votre programme. Je n'ai pas trouvé de solutions pour contourner ce problème. Il semble qu'il ne soit pas possible de charger un serveur pendant des heures?

Je préfèrerai vous signaler ces problèmes en direct. Ils sont tellement mineurs par rapport à la puissance de votre programme. Je crains qu'ils laissent une arrière pensée de programme pas fini. Ce qui n'est pas le cas. Difficile d'expliquer ici le problème constaé avec le upload. Je ne pense pas que ça apporte grand chose à ce site.
Meilleurs voeux pour 2007.
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
31 déc. 2006 à 23:28
J'ai sorti une autre version et tous ces bugs sont corrigés. Cependant, je n'ai rien trouvé d'anormal pendant les uploads.
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
31 déc. 2006 à 18:21
Je sais, mais c'est pas grave, merci de me signaler tout ça, ça va aider à améliorer ce programme dans les prochaines versions.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
31 déc. 2006 à 09:02
Je vois que le programme a été énormément modifié. Il génère toutefois des erreurs.

Le Upload ne fonctionne plus directement et envoie vers le serveur une sélection différente de ce qui a été choisi
Qd on "cancel" il se produit une erreur de dépassement de capacité à la ligne ts = ts + ListView2.ListItem(i).SubItems(7)

Bizarement (comme les versions précédentes) le double click sur TreeView1 génére un bouclage . En supprimant le On error Resume Next dans ListFolders , le problème disparait. Incompréhensible.

NB: je suis un peu géné de signaler ces problèmes qui pourraient faire penser à un programme "moyen". Ce n'est pas le cas. Ce programme est géant. Je le fais pour vous aider à déboguer.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
31 déc. 2006 à 08:25
OK. Ca ne semble pas bien fonctionner ds les versions 4.

Je suggère aussi une plus grande sécurité (demande de confirmation) dans les fonctions de suppression. C'est assez radical!!

Une question: pourquoi n'appliquez vous pas aussi le principe d'un fichier ouvert en Append dans le cas d'un transfert (download) vers le disque local . L' écriture d'un bloc n'est-elle pas risquée dans le cas de très gros fichier?

L'intérêt de votre solution est de ne rien faire si le transfert échoue, cad de ne pas créer en local un fichier incomplé. Encore bravo
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
31 déc. 2006 à 08:01
Encore moi :P cette fonction sera grandement améliorée dans la version 5.1, elle a été faite un peu vite et j'ai oublié de la corriger lol
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
31 déc. 2006 à 07:57
J'oubliais: la fonction Timeout n'est pas là pour rien... :)
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
31 déc. 2006 à 07:53
OK, mais le serveur se déconnecte tout seul après un certain temps d'inactivité sauf si on a demandé au programme un Keep-Alive (envoyer une commande bidon à un intervalle donné) pour maintenir la connection. Je vais intégrer cette routine dans la prochaine version, merci.
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
31 déc. 2006 à 07:45
Je suis curieux de voir vos améliorations (en particulier la stabilité ds la file d'attente. Je vous tiens au courant. Les versions précédentes sont déjà excellentes. Non seulement utiles , mais en plus très enrichissantes d'un point de vue programmation. Cette application est un véritable cours VB très pointu!. On y apprend énormément. Encore bravo. Je maintiens la note de 20/10.

Personnellement j'ai ajouté une routine qui déconnecte du serveur en cas d'inactivité prolongée (attente réponse serveur trop longue / pas de transfert / ... ) de manière à ne pas rester connecté inutilement.
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
30 déc. 2006 à 17:47
J'ai complété la version 5.0, j'attends vos commentaires :)
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
21 déc. 2006 à 00:57
merci lol et pour ta remarque côté code je vais corriger:
While i <= nFiles

et mettre quelque chose du genre:
While i <= ListView1.ListItems.Count
cs_patrice_b Messages postés 30 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 1 mars 2009
20 déc. 2006 à 11:48
Grandiose . J' ai corrigé While i <= nFiles
par While i <= nFiles +2

sinon il ne se passe rien

Sub FtpGetDirectoryContents génère parfois des erreurs au niveau de App.Path & \temp\ & filename

filename récupère des données parfois bizarre du serveur

Ce programme vaut 20/10 !
cs_meudon Messages postés 35 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 16 janvier 2009
16 déc. 2006 à 19:42
C'est vrai que c'est géant.
C'est du boulot de pro

En ce moment j'utilise un client serveur qui en fait presque autant et qui est bien plus simple...
et il est en VB et gratuit :
http://olravet.free.fr/Divers.htm
cs_alpha03 Messages postés 41 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 21 juillet 2007
15 déc. 2006 à 22:40
Merci pour vos commentaires, et la version 4.2 est disponible, j'ai updaté le zip!
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
15 déc. 2006 à 13:43
Bonjour,

J'ai juste fait un test simple et sa a l'aire de bien fonctionner... Je vais peu etre faire des ajouts a mon source de syscom pro avec cette source a voir ;-)

Bonne continuation

pour ma part 9/10
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
15 déc. 2006 à 13:04
waaa nan mais attends poster des sources de ce niveau comme ca gratuitement lool (personnellement une source comme ca je l'aurais pas poster quand meme lol)
ce doit etre parce que c'est noel y a vraiment des excellentes sources de poster en ce moment

merci a toi 10/10 naturellement !!
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
15 déc. 2006 à 08:58
moi je dit chapeau :-)

il est bien fait , bon system etc on dirais flash fxp mais en gratuit :-)
(de plus mon fxp viens de me lacher hier donc ca tombe bien ^^)

je garde et j'utiliserais comme client ftp ;-)

un bon 9 s'impose , logiciel parfait j'ai vu aucun bug , il est bien etc etc le seul hic ses les commentaires coter sources et tout travail n'est jamais achever mais seulement abandonner disais de vinci ^^
donc bonne continuation en esperant voir de nouvelles versions :p
Rejoignez-nous