Envoyer un fichier par IdTCPClient1 et OpenDialog1
ewertheimer
Messages postés161Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention26 janvier 2009
-
29 juin 2005 à 10:18
OcHre
Messages postés44Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention26 avril 2008
-
5 juil. 2005 à 10:15
l'apprenti
A voir également:
Envoyer un fichier par IdTCPClient1 et OpenDialog1
ewertheimer
Messages postés161Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention26 janvier 2009 29 juin 2005 à 10:21
Dsl pour le message l'apprenti je tester la textBox normal et au lieu de m'envoyer mon texte bah ils ont envoyer l'apprenti.
Bonjour
j'aimerais savoir comment envoyer un fichier que l'on choisirai avec un
OpenDialog1 et que l'on enverrai avec un IdTCPClient1 et si possible le
code a inserer pour le composant IdTCPServer1.
ewertheimer
Messages postés161Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention26 janvier 2009 29 juin 2005 à 12:03
j'ai trouver quelque chose:
function TForm1.SendFile(const AFileName: string;
ATcpClient: TIdTCPClient) : Boolean;
var
Fs : TFileStream;
begin
Result := False;
ATcpClient.Connect(); //Connecte. Les propriétés Host et Port doivent être remplies.
try
Fs := TFileStream.Create(AFileName,fmOpenRead,fmShareDenyWrite); //Créer le flux
try
ATcpClient.WriteLn(Format('TRANS %s',[ExtractFileName(AFileName)])); //demander transfert
try
ATcpClient.WriteInteger(Fs.Size); //Ecrire la taille
ATcpClient.WriteStream(Fs); //Ecrit le flux
except
MessageDlg('Erreur pendant l''envoi du fichier.', mtError, [mbOK], 0);
end;
finally
FreeAndNil(Fs); //Libérer le flux
Result := ATcpClient.ReadLn()='OK'; //OK uniquement si le serveur a renvoyé "OK"
end;
finally
ATcpClient.Disconnect; //Déconnecter à la fin.
end;
end;
j'ai un problezme avec la partie en rouge il y a une exception avec le message impossible d'ouvrir le fichier.
OcHre
Messages postés44Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention26 avril 2008 5 juil. 2005 à 10:15
Salut,
Il faut juste qu'à la place de AFileName tu mettes le chemin et le nom de ton fichier, si tu utilises opendialog cela donnera:
TFileStream.Create(OpenDialog1.Filename,fmOpenRead,fmShareDenyWrite);
En esperant t'avoir aidé.