Вниз
Скачать: 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.019 c
1-63195
DSP
2004-01-08 19:14
2004.01.20
как определить ТОЧНО, что файл редактируется


7-63413
Tik
2003-10-31 11:52
2004.01.20
получить иконку


7-63425
zoltan
2003-11-02 19:38
2004.01.20
ТРЕЙ


1-63142
Mihey
2004-01-06 21:41
2004.01.20
Сложный перенос слов


1-63116
Stas
2004-01-08 10:05
2004.01.20
MDICHILD и DLL




   Наверх