Delphi XE IdTCPClient和IdTCPServer 发送和接收文件
1、IdTCPClient1 发送示例
var
iFileHandle: integer;
iFileLen, cnt: integer;
buf: TIdBytes;
lfilename: string;
ln: Cardinal;
begin
if dlgOpen1.Execute then
begin
lfilename := dlgOpen1.FileName;
end;
if lfilename <> '' then
begin
SetLength(buf, 4096);
iFileHandle := FileOpen(lfilename, fmOpenRead);
iFileLen := FileSeek(iFileHandle, 0, 2);
FileSeek(iFileHandle, 0, 0);
ProgressBar1.Max := iFileLen;
ProgressBar1.Position := 0;
IdTCPClient1.IOHandler.WriteLn(ExtractFileName(lfilename) + '|' + IntToStr(iFileLen));
while true do
begin
Application.ProcessMessages;
cnt := FileRead(iFileHandle, buf[0], 4096);
ln := GetLastError;
Id