Текущий архив: 2006.08.27;
Скачать: CL | DM;
Вниз
Большие текстовые файлы Найти похожие ветки
← →
Yusuf © (2006-08-05 20:13) [0]Доброго времени суток.
Подскажите, пожалуйста, есть ли способ быстро работать с большими текстовыми файлами (около 17 Мб), при чем текстовый файл представляет собой что-то вроде базы данных. Запись в файле ведется следующим образом (пример):
Работник = {
возраст = 25
пол = муж
должность = уборщик
}
...
Автомобиль = {
Марка = ВАЗ21010
Номер = х001хх
}
...
Заранее благодарю.
← →
Ketmar © (2006-08-05 20:59) [1]есть. написать отптимизированный код.
← →
Yusuf © (2006-08-05 21:01) [2]А подробнее можно?
← →
Loginov Dmitry © (2006-08-05 21:10) [3]Для начала: использовать функции для записи в файл и для чтения из него.
← →
Пусик © (2006-08-05 23:45) [4]
> Yusuf © (05.08.06 20:13)
Для файла такого небольшого размера вполне возможно для обработки воспользоваться TStringList.var
L: TStringList:
i: Integer;
begin
L := TStringList.Create;
try
L.LoadFromFile("MyFile.txt");
for i := 0 to L.Count-1 do
begin
//Обработка построчно
end;
finally
L.Free;
end;
Также можно, не загружая весь файл целиком, рабоьать с ним построчно.
См. TextFile, ReadLn, WriteLn
+ поиск по форуму.
← →
Virgo_Style © (2006-08-06 09:00) [5]imho 17Mb - уже достаточно приличный размер.
Я бы рекомендовал прочитать статью про оптимизацию работы со строками, в свое время она мне весьма помогла.
При возможности - переделать для работы с БД.
Конечно, неплохо бы [1], для более детальных советов надо описать типичные задачи, например, нужен ли поиск, как часто и куда (в конец или в середину) происходит добавление данных, и т.п.
← →
KilkennyCat © (2006-08-06 10:39) [6]Зафиксировать размер каждой записи, например, дополнив пробелами.
← →
Yusuf © (2006-08-06 11:28) [7]1. Чаще всего поиск ведется в конец.
2. В каждом блоке может быть разный набор даныых. Например, в одном у работника возраст отмечен, в другом - нет.
3. Добавление данных не происходит.
← →
Anatoly Podgoretsky © (2006-08-06 14:53) [8]Пересмотреть идеологию.
← →
Ketmar © (2006-08-06 15:09) [9]> [7] Yusuf © (06.08.06 11:28)
> поиск ведется в конец
долго думал. пытался представить. не смог.
← →
KilkennyCat © (2006-08-06 15:24) [10]> [9] Ketmar © (06.08.06 15:09)
:)
> Yusuf © (06.08.06 11:28)
Если воспользоваться предложением [8], то типизированный файл - наиболее просто. Мой же совет [6] практически этому равен, усложнен лишь требованием сабжа к формату файла.
Страницы: 1 вся ветка
Текущий архив: 2006.08.27;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.027 c