关于无文件的问题,请指点
我用TFILESTREAM留的read和readbuffer方法读取大文件并显示在richedit(一般都是4,5M)的时候,总是读不出,过了一会就没有响应了,要怎么才能安全的读出并显示这些大文件,另外用这个方法读文件的速度是不是最快的? 问题点数:20、回复次数:3Top
1 楼xzm2000(傻B)回复于 2001-06-20 00:10:00 得分 0
大家来捧场呀Top
2 楼airhorse(编程至尊宝)回复于 2001-06-28 20:48:44 得分 20
var
fsTmp : TMemoryStream;
ptr :pointer;
PI: ^longword;
i :integer;
begin
fsTmp := TMemoryStream.Create;
fstmp.LoadFromFile(Edit1.Text);
fstmp.Position :=0;
PI :=fstmp.Memory;
// PI := pointer(integer(pi)+1000000);
// ptr := ptr +10;
// edit1.Text := inttostr(PI^);
for i:= 0 to fstmp.size-4 do
begin
if pi^ = 511597066 then
memo1.Lines.add('32:'+Inttostr(i));
pi := pointer(integer(pi) +1);
application.ProcessMessages;
end;
memo1.Lines.Add('end'); Top
3 楼ghz2000(编程马大哈)回复于 2001-06-28 21:30:07 得分 0
以下使用流写文件:
procedure TForm1.Button1Click(Sender: TObject);
var
stream1:TfileStream;
Size:integer;
Buffer:pointer;
begin
Stream1:=TFilestream.Create('c:\text.txt',fmOpenWrite or fmCreate);
Size:=Memo1.GetTextLen;
inc(size);
getmem(buffer,size);
memo1.GetTextBuf(buffer,size);
Stream1.Writebuffer(buffer^,size);
Stream1.Free;
end;Top




