Delphi-Quellcode:
procedure Tfile_send.TCPClientWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
progress.Position := AWorkCount;
l_out.Caption := inttostr(AWorkCount);
end;
procedure Tfile_send.TCPClientWorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
progress.Max := AWorkCountMax;
//l_out.Caption := inttostr(AworkCountMax);
end;
procedure Tfile_send.TCPClientWorkEnd(Sender: TObject;
AWorkMode: TWorkMode);
begin
//progress.Position := 0;
end;
die onwork/begin/end ereignisse
und mein client:
Delphi-Quellcode:
procedure Tfile_send.pb_sendClick(Sender: TObject);
var
fs: tfilestream;
begin
TCPClient.Host := e_host.Text;
TCPClient.Port := strtoint(e_port.Text);
if not Open.Execute then exit; //erstmal besorgt man sich den Pfad der Datei, z.B. mit dem Standard Dialog TOpenDialog
with TCPClient do
begin
fs := TFileStream.Create(Open.FileName, fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
Connect; //und Verbindung herstellen
try
OpenWriteBuffer; //stellt sicher, dass alle Daten versendet werden
try
WriteLn(Open.FileName);
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
Disconnect;
fs.Free;
end;
end;
ich hoffe du kannst mir helfen
cu andré