建议使用文件流
procedure TForm1.N46Click(Sender: TObject);
//读取文件
var
f:file;
FHdr:TFileStream;
i:integer;
begin
if OpenDialog1.Execute then
begin
F:=TFileStream.create(OpenDialog1.FileName,fmopenread);
F.read(FHdr,Sizeof(Tfileheader)); //读record.
F.free;
ShowMessage('已成功打开文件!');
end; // end OpenDialog1.Execute then...
end;
应该就没问题了。
procedure TForm1.N46Click(Sender: TObject);
//读取文件
var
f:file;
FHdr:TFileStream;
i:integer;
begin
if OpenDialog1.Execute then
begin
F:=TFileStream.create(OpenDialog1.FileName,fmopenread);
F.read(FHdr,Sizeof(Tfileheader)); //读record.
F.free;
ShowMessage('已成功打开文件!');
end; // end OpenDialog1.Execute then...
end;
应该就没问题了。
procedure FileCopy(const FromFile, ToFile: string);
var
FromF, ToF: file;
NumRead, NumWritten: Word;
Buf: array[1..2048] of Char;
begin
AssignFile(FromF, FromFile);
Reset(FromF, 1); { Record size = 1 } AssignFile(ToF, ToFile); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;