Very simple ftp sender

Soyez le premier à donner votre avis sur cette source.

Vue 8 617 fois - Téléchargée 1 566 fois

Description

Un petit soft pour envoyer des fichiers sur un serveur FTP simplement.
Il peut envoyer plusieurs fichiers a la fois.
Il constitue une liste d'attente.
avec temoin de progression.

ne vendez pas ni le programme, ni le service qu'il procure.

Conclusion :


Necessite : JVCL + ID component

Codes Sources

Ajouter un commentaire Commentaires
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
11 janv. 2007 à 15:40
Bah, VERY SIMPLE...
si tu as une autre proposition de nom...
sinon j'utilise le protocole FTP pour envoyer des fichiers.
donc par definition c'est un clientFTP...
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
11 janv. 2007 à 15:28
Moi oui j'ai compris : par contre je ne suis pas sur que tu es compris ce qu'est un client FTP ;) (FTP ?? Voir ton titre ;)).

Bon le débat est clos.
cs_foxz Messages postés 101 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 25 février 2009
11 janv. 2007 à 14:06
Necessite la JVCL point.

Francky23012301 : t'es sur d'avoir compris a qui servait mon soft ?

foxi : merci des conseils...
tu aurais pu remarqué que "abracadabra" ne servait a rien !
Sinon je n'utilise jamais with...do... et j'aime bien format (plus clair).

Le programme fonctionne en situation réel.
Nouvelle version disponible.
cs_abdousoft Messages postés 100 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 5 novembre 2007
11 janv. 2007 à 10:37
salut
Votre Source manque de composants JVCL,
c'est pour ca je te conseille d'utilise des composants delphi
standard ou bien placer les composants coresspondant dans un fichier ZIP.

Bonne chance!
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
10 janv. 2007 à 17:59
Dommage en effet d'utiliser la JVCL plutot que la VCL standard, ça aurait été plus interressant ... et plus "diffusable".

par contre, pourquoi utiliser le type File (dans fmfile) plutot que le TFileStream qui permet plus de choses ...

c'est une erreur aussi d'utiliser Format dans le OnCreate principal comme tu le fait.
pour la concatenation de chaine il vaux mieux faire :

'Server : '+hnam+':'+port+' - L/P : '+logn+' / ****** - Thread : '+inttostr(maxthread);

jvscrolltext1.Items.Add(f.ffile+' sended.');

pour une seule convertion Int > Str mieux vaut utiliser inttostr que format... par contre, a partir de 2 ou plus on peu utiliser format les yeux fermés.
il faut par contre ne pas utiliser format pour la concatenation de chaine ... c'est trop lents par rapport a sA+sB+sC.

ensuite, fait attention aux fuites memoires!!! quand on crée un objet on doit le liberer immediatement aprés ou a la fin du programme et au moins utiliser les balise TRY ... FINALLY...

procedure TForm1.FormCreate(Sender: TObject);
begin
with TIniFile.Create(ChangeFileExt(paramstr(0),'.ini')) do begin
TRY
host := ReadString('server','host','');
hnam := Readstring('server','name','');
port := Readstring('server','port','21');
maxthread := ReadInteger('thread','max',4);
logn := Readstring('login','name','anonymous');
logp := Readstring('login','pass','anonymous');
FINALLY
Free;
END;
end;
label1.Caption := format('Server : %s:%s - L/P : %s / ****** - Thread : %d',[hnam,port,logn,maxthread]);

add;
nbftp := 0;
abracadabra := 0;
end;


le numero de port devrait etre stocké avec Read/WriteInteger
a ce moment la on peu utiliser Format :
format('Server : '+hnam+':%d - L/P : '+logn+' / ****** - Thread : %d',[port,maxthread]);

si on est respectueux des protocols on devrait noter les parametres FTP de cette façon :

Login:Password@FTPHostName:FTPHostPort/FTPPathTarget

soit :
'Serveur : '+Logn+':******@'+hnam+':%d' qui serait un ordre plus que judicieux pour ne pas perdre les utilisateurs.


et enfin, ne pas oublier l'utilisation de WITH ... DO pour eviter les gros pavé repetitif :

with JVScrollText1.Items do begin
Clear;
Add(co);
Add('licence : freeware');
Add('no com, gov or mil usage');
Add('');
Add('Host : '+host);
end;
JvScrollText1.Active:=true;
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.