public
F: TFileStream;//公共变量Procedure ThreadStart(); //一个socket客户端连进来请求下载
var
fileName:string
begin
FileName:=EditFileName.Text;
if FileName<>'' then
begin
F := TFileStream.Create(FileName,fmOpenRead); //打开文件
ReadFile();
end;
end;Procedure ReadFile();//读取文件
var
n:integer;
begin
if F.Position < F.Size then
begin
n := F.Size - F.Position;
if n > 1024 then n := 1024;
SetLength(bytes,n);
F.ReadBuffer(bytes,n);
end;
end;
//////////////////////////
我是担心一个客户端读取了部份后,另个客户端又接入,把前面的客户端读到的文件的标志位又定位到当前的位置了.也就是说文件的读取位置改变造成出错
F: TFileStream;//公共变量Procedure ThreadStart(); //一个socket客户端连进来请求下载
var
fileName:string
begin
FileName:=EditFileName.Text;
if FileName<>'' then
begin
F := TFileStream.Create(FileName,fmOpenRead); //打开文件
ReadFile();
end;
end;Procedure ReadFile();//读取文件
var
n:integer;
begin
if F.Position < F.Size then
begin
n := F.Size - F.Position;
if n > 1024 then n := 1024;
SetLength(bytes,n);
F.ReadBuffer(bytes,n);
end;
end;
//////////////////////////
我是担心一个客户端读取了部份后,另个客户端又接入,把前面的客户端读到的文件的标志位又定位到当前的位置了.也就是说文件的读取位置改变造成出错
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货