|
Тема |
Re: Четене на голям текстов файл [re: Desso] |
|
Автор |
vido (новак) |
|
Публикувано | 21.01.07 21:47 |
|
|
Другият вариант е нещо от рода:
procedure TForm1.Button2Click(Sender: TObject);
var
s, L:String;
ii:integer;
begin
Stream:=TFileStream.Create(FileName.Text,fmOpenRead);
SetLength(s, 65536);
for ii:=1 to (Stream.Size div 65536) + 1 do
begin
Stream.Read(s[1], 65536);
p := Pos(#10, s);
while p > 0 do
begin
L := Copy(s, 1, p - 1);
......
......
Delete(s, 1, p);
p := Pos(#10, s);
end
end;
end;
трябва да се добави пресмятане на дължината на последния прочетен стринг (mod 65536) или да се ползва стойността от Stream.Read. Писано е на бързо. Трябва да се дооправи :)
Редактирано от vido на 21.01.07 21:49.
|
| |
|
|
|