auch diesmal hoffe ich wieder, dass mir geholfen werden kann. dazu muss ich sagen, dass ich das zum ersten mal mache und demnach sehr wenig ahnung davon habe
ich möchte eine txt-datei an einen
ftp-server schicken und dachte mir ich mach das über die indykomponente IdFTP.
folgende einstellungen:
auf dem
ftp ein ordner, zugriff mit user und passwort... verbindung wird hergestellt, allerdings greift er nicht auf diesen ordner zu. gesendet wird also auch nichts...
außerdem verstehe ich nicht so recht, wann das execute-ereignis des servers ausgelöst wird
diesen quelltext hab ich mir dafür gezogen:
Delphi-Quellcode:
....
with Idftp1 do
begin
fs := TFileStream.Create('c:\trainprog\train.txt', fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
Connect; //und Verbindung herstellen
try
OpenWriteBuffer; //stellt sicher, dass alle Daten versendet werden
try
WriteStream(fs, true, true, 0); //das 2. true ist wichtig!, da es bewirkt, dass die Größe des Streams mittels WriteInteger zuerst verschickt wird
CloseWriteBuffer;
except
CancelWriteBuffer;
raise;
end;
finally
fs.Free;
end;
end;
end;
Delphi-Quellcode:
procedure TFormMain.IdFTPServer1Execute(AThread: TIdPeerThread);
var fs : TFileStream;
SizeOfIncomingStream : integer;
begin
fs := TFileStream.Create('train.txt', fmCreate or fmShareExclusive);
with AThread.Connection do
try
SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen
ReadStream(fs, SizeOfIncomingStream); //und übergeben
finally
Disconnect;
fs.Free;
end;
end;
liebe grüße,
claudia
[edit=Luckie]Delphi-Tags eingefügt. Beim nächsten Mal bitte selber machen. Danke. Mfg, Luckie[/edit]