1,593
社区成员
发帖
与我相关
我的任务
分享
procedure TXXXThread.OnExecute(Sender: TObject);
type
TFileBlock = record
FileName: string[225];
Start: Integer;
Size: Integer;
BlockData: array[1..1024] of byte;
end;
var
ABlock: TFileBlock;
Remain: Integer;
AFile: TFileStream;
Flag: Integer;
begin
//.....
ABlock.Start := XXX//从传输日志取已经传完的位置信息;
ABlock.FileName := YourFileName;
repeat;
AFile.Position := ABlock.Start;
ABlock.Size := AFile.Read(ABlock.BlockData, SizeOf(ABlock.BlockData));
ABlock.Start := AFile.Position;
IdTCPClient.WriteBuffer(ABlock, SizeOf(ABlock));
IdTcpClient.ReadBuffer(Flag, SizeOf(Flag));//由服务器接收返回
if Flag = 成功 then
begin
记录当前传输的日志
Remain := AFile.Size - ABlock.Start;
end
else
begin
Self.Terminate;
Break;
end;
until Remain <=0;
end;