发信人: limodou()
整理人: teleme(2000-12-06 17:46:21), 站内信件
|
【 在 netbabys (新格) 的大作中提到: 】
提供读与写二进制文件到一个缓冲区的函数,自已看一下吧。主要的方法是
通过使用读记录文件的方式来处理,但记录的长度为1
procedure ReadFileToBuffer(filename:string;var buf:PChar);
var
F:file;
begin
assignfile(F, filename);
reset(f, 1);
try
size:=FileSize(F);
getmem(buf, size+1);
BlockRead(F, buf^, size);
buf[size]:=#0;
finally
closefile(f);
end;
end;
procedure WriteFile(var F:file; buf:PChar; len:integer);
var
s:array [0..1024] of Char;
tc, wc:integer;
begin
tc:=0;
while tc<len do
begin
wc:=len-tc;
if wc>1024 then
wc:=1024;
strlcopy(s, @buf[tc], wc);
BlockWrite(f, s, wc);
tc:=tc+wc;
end;
end;
-- Uploader2.0beta8 版主页上传软件,欢迎使用
http://smallroom.126.com http://smallroom.yeah.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.130.241.164]
|
|