Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.20;
Скачать: 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.009 c
4-63448
OlegV
2003-11-13 15:37
2004.01.20
Удаление выполняющегося EXE файла


1-63194
Rustamus
2004-01-09 22:07
2004.01.20
Форма


1-63218
Gandrei
2004-01-09 16:12
2004.01.20
Настраиваемое MainMenu


14-63354
passlight
2003-12-31 13:59
2004.01.20
Ведь у нас же есть море, прекрасное море... (С)


1-63073
Delph
2004-01-08 16:10
2004.01.20
TStrings





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский