Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: CL | DM;

Вниз

как прочитать последнюю строку   Найти похожие ветки 

 
Man ©   (2003-06-26 20:31) [0]

Привет,всем!Народ,такой вопрос:есть текстовый файл,нужно прочитать последнюю строку.Банальное

While Not EOf(F) Do Readln(s);

не прикалывает: файл м.б. достаточно большим и теряется скорость.
Не подскажите более элегантное решение?
Зараннее всем большое спасибо!


 
UserName ©   (2003-06-26 20:43) [1]

например так:
(строку суём в S)
var
f:TStrings;
s:String;
begin
f:= TStringList.Create();
f.LoadFromFile(‘c:\file.txt’);
s:=f.Strings[f.Count];
f.Free;
end;


 
MBo ©   (2003-06-26 20:44) [2]

читать с конца (в буфер достаточного размера). Искать конец пред.строки ($D$A)


 
UserName ©   (2003-06-26 20:46) [3]

кажется ошибся немного:
s:=f.Strings[f.Count]; скорее всего так s:=f.Strings[f.Count-1];
я просто не помню точно считает ли он 0 сроку за индекс.
скорее всего да, но проверь и первоначальный вариант.


 
jack128 ©   (2003-06-26 20:48) [4]


> UserName © (26.06.03 20:46)

По любому читается весь файл целиком, а это не желательно (см Man © (26.06.03 20:31))


 
Anatoly Podgoretsky ©   (2003-06-26 21:07) [5]

Он не хочет даже один голый Readln использовать, а ты к этому еще хочешь добавить потери времени на выделения места под StringList, при том память будет выделяться многократно.



Страницы: 1 вся ветка

Текущий архив: 2003.07.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-31444
gn
2003-06-21 07:41
2003.07.10
КТО ЛУЧШЕ*??????


3-31098
xxxCrazyManxxx
2003-06-17 12:02
2003.07.10
Обращение к хранимой процедуре


6-31390
ДмитрийК
2003-04-21 08:12
2003.07.10
Проблема с RasHangUp


1-31328
fridy
2003-06-27 09:21
2003.07.10
GradientFill


9-31068
Аболтус
2003-01-26 23:33
2003.07.10
DelphiX вопрос глупый но очень нада!!! Плиз ......