Вниз
Скачать: CL | DM;

Как прочесть из файла только первую строку?   Найти похожие ветки 

 
Tvon ©   (2004-01-11 07:51) [0]

Как прочесть из файла первую строку если список фалов находится в FilesList: TStringList? И каким способом это можно сделать быстрее?


 
Zergling ©   (2004-01-11 08:11) [1]

Библии по программированию почитай.
Посмотри примеры поставляемые с дельфи.
Как прочесть первую строку?
Зависит от типа файла, он текстовый или тепизированный, а может быть и нетипизированный он?


 
Tvon ©   (2004-01-11 09:15) [2]

Файл текстовый.
Пока мне в голову приходит только такой вариант:
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
s: String;
begin
StrList.Clear;
for i:=0 to FilesList.Count-1 do begin
AssignFile(f,FilesList.Strings[i]);
Reset(f);
Readln(f,s);
StrList.Add(s);
CloseFile(f);
end;
end;

Но можно ли сделать выполнение этой процедуры быстрее используя не AssignFile и т.п., а другие процедуры? Т.к. файлов будет более 2000 необходима максимальная скорость.


 
Anatoly Podgoretsky ©   (2004-01-11 09:16) [3]

Readln 1 раз


 
Zergling ©   (2004-01-11 09:55) [4]

Tvon © (11.01.04 09:15) [2]

>> используя не AssignFile
Всеравно придется (или можешь эксплуатировать OpenFile)
>> необходима максимальная скорость.
Быстрее уже никак. Вариант - продумать упрошенную/или более удобную организацию данных в файлах или писать все это в базу данных (или же создать собственную БД)

Рекомендуется при работе с файлами использовать блок Try..

AssignFile(f,FilesList.Strings[i]);
Try
Reset(f);
Readln(f,s);
StrList.Add(s);
finally
CloseFile(f);
end;


 
KSergey ©   (2004-01-11 12:42) [5]

> [4] Zergling © (11.01.04 09:55)
> Рекомендуется при работе с файлами использовать блок Try..
>
> AssignFile(f,FilesList.Strings[i]);
> Try
> Reset(f);
> Readln(f,s);
> StrList.Add(s);
> finally
> CloseFile(f);
> end;

Только тогда уж

AssignFile(f,FilesList.Strings[i]);
Reset(f);
Try
Readln(f,s);
StrList.Add(s);
finally
CloseFile(f);
end;

т.к. открывается файл только в Reset, а если ошибка при открытии- то и закрывать нефига.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-62973
veb
2003-12-24 12:28
2004.01.20
Открытие из BLOB


14-63359
PVOzerski
2003-12-29 12:06
2004.01.20
Сообщение об ошибке при запуске NT4


14-63365
Dolot
2003-12-29 00:30
2004.01.20
Работа с systray ем


7-63414
FireMan_Alexey
2003-11-05 14:53
2004.01.20
Как можно убрать прогу из списка процессов?


1-63099
seregin2
2004-01-08 14:01
2004.01.20
как получить форматирование из RichText




   Наверх