关于文本文件的简单问题(50分)

  • 主题发起人 主题发起人 gadfly
  • 开始时间 开始时间
G

gadfly

Unregistered / Unconfirmed
GUEST, unregistred user!
MyFile :TextFile;
别的地方一打开了文件
某个过程中想将文件指定位置,用Seek(MyFile,0)说类型不匹配,为什么?怎么做?
 
AssignFile(myfile,'c:/*.txt');
Reset(myfile);
seek(myfile,0);
 
你确信这样可以么?我也是这样子,就是不行啊,我用的是Delphi6。0
 
procedure TForm1.Button1Click(Sender: TObject);

var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer
begin
if OpenDialog1.Execute then
begin
try
iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
iFileLength := FileSeek(iFileHandle,0,2);//第一个参数为文件句柄,第二是文件打开方式,相对位置
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);

for i := 0 to iBytesRead-1 do
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
StringGrid1.Cells[1,i+1] := Buffer;
StringGrid1.Cells[2,i+1] := IntToStr(Integer(Buffer));
end;
finally
FreeMem(Buffer);
end;
end;
end;
 
Thank you very much!
 
To p_a_n_209
你提供的代码是delphi help的一个例子,你测试过吗?
 
如果是文本文件:MyFile :TextFile;指定位置,用Seek(MyFile,0)是错的,它不应该用在对文本文件的操作。
while not SeekEof(MyFile) do
begin
Readln ( MyFile, temp ) ;
.....
end;
 
seek可以用于File,不能用于textfile
 
接受答案了.
 
后退
顶部