procedure TForm1.Button1Click(Sender: TObject);
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
FileSeek(nFileHandler,0,0);
procedure TForm1.Button1Click(Sender: TObject);
var
FHandle:integer;
s:array[0..4] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
...//处理过程
end;
我是通过FileRead的返回值来判断的,难道这不可行吗?像这样:nRet:=FileRead(nFileHandler,sB,sizeof(sB));
if nRet<>sizeof(sB) then ...我吧sizeof都换成length,这样的判断也通不过。各位能不能帮我试一下?文件为二进制文件。
谢谢!
另外,其实,每次FileRead的返回值为0,???文件刚打开,还需要FileSeek(FHandle,0,0);吗?刚刚打开的文件不是缺省就指到了文件的开始吗?
从原则上来说是一打开就指向文件开始,但是俗话说得好:不怕一万,就怕万一。而且我看了一下HELP,并没有显式的说会指向开头。附:
procedure TForm1.Button1Click(Sender: TObject);
var
FHandle,i:integer;
s:array[0..3] of byte;
begin
if OpenDialog1.Execute then
begin
FHandle:=FileOpen(OpenDialog1.FileName, fmOpenRead);
FileSeek(FHandle,0,0);
i:=FileRead(FHandle,s,Length(s));
FileClose(FHandle);
end;
if i<>Length(s) then
ShowMessage('读取出错!共读入'+IntToStr(i)+'字节')
else
ShowMessage('读取正常!共读入'+IntToStr(i)+'字节');
end;