![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Простая независимая база данных (типа таблицы) для записи в файл [D2, D3, D4, D5, D6, D7, D2005, 95/98, ME, NT4, 2000, XP, 2003]
textExpanser © (2008-07-23 11:52:00)Посоветуйте чем можно попроще сохранить набор записей в файл.
Есть список (TList) обычных записей (MyRec = record ... end;)
Нужно сохранить это хозяйсто в файл в каком-то контейнере. Начал писать свой, но подумал, что это же типичная база данных. Поэтому нужно что-то типа простой базы данных только для хранения списка в файле-контейнере.
Важно, чтобы не использовалось BDE/ADO и другие громоздкие технологии, и размер библиотеки не был большим.
Данные:Требования к поддержке данных: в основном, чтобы бинарные данные были неограниченной (почти) длины или хотя бы не менее 10 кБ. И еще неплохо бы строки поддерживать (лучше и AnsiString, и WideString), тоже такой же длины.
DBF не подходит, т.к. там ограничения на длину.
textExpanser (2008-07-23 13:25:00) [21]А переменная длина строк в dbf есть? WideString? Уговаривать не надо - ни txt, ни ini, ни compound не подходят. Задача определена четко - нужен коспонент, сохраняющий кучу record's (по сути таблицу данных) в database файл.
И я попросил название проверенной библиотеки/компонента... ;)
Правильный$Вася (2008-07-23 13:06:00) [22]
> но у DBF есть ограничения на длину строк и данных
глупости
блобы есть и в нем
oldman (2008-07-23 12:46:00) [23]
> textExpanser (23.07.08 12:35) [13]
> XML - очень медленно для больших списков записей (таблиц)
А зачем их писать-читать во время работы проги?
Может только при старте и завершении?
А вот тут можно и подождать, не так уж и долго...
oldman (2008-07-23 12:41:00) [24]
> textExpanser (23.07.08 12:03) [3]
Не хочешь в текст, пиши в inifile
Медвежонок Пятачок (2008-07-23 12:36:00) [25]Ну тогда парься сам и не парь людям моск.
Поуговаривать тебя еще что ли?
textExpanser (2008-07-23 12:35:00) [26]XML- очень медленно для больших списков записей (таблиц)
MS Compaund/Sorage- проще тогда свой контейнер написать, чем с ним разобраться (+зависимость от версии, +нужно сохранение _списка записей_ [а это типичная таблица], а не хранение разнородных данных в виртуальной файловой системе, которая тормозит, если много "файлов").
Это не датасет и не таблица. Просто список записей. Я хочу создавать таблицу только для записи этого списка records в файл, а потом ее разрушать.
Нужен компонент или библиотека для сохранения в какой-нибудь формат (сойдет новая версия dbf, если в нем не будет ограничений на длину).
Медвежонок Пятачок (2008-07-23 12:26:00) [27]без тени сомнения - xml.
Anatoly Podgoretsky (2008-07-23 12:26:00) [28]> Sergey13 (23.07.2008 12:09:05) [5]
Зависимость от Midas
Anatoly Podgoretsky (2008-07-23 12:25:00) [29]> textExpanser (23.07.2008 12:06:04) [4]
> Мне не нужна поддержка баз данных, только простое сохранение в файл моих данных.
CompaundFile/CompaundStorage
Вот только ни о каком простом сохранение РАЗНООБРАЗНЫХ данных говорить не приходится, противоречит логике.
Anatoly Podgoretsky (2008-07-23 12:24:00) [30]> textExpanser (23.07.2008 12:06:04) [4]
Странная логика, от BDE/ADO не хочем зависить, зато со взвизгом идем на другую зависимость, вероятнее всего малораспространеную.
Anatoly Podgoretsky (2008-07-23 12:23:00) [31]> textExpanser (23.07.2008 12:03:03) [3]
Разнородных данных, а как же ты будешь это записывать в таблицу то?
Разнородные данные можно писать в Компаундное Хранилище - c этим к Микрософту, но зато это часть системы.
MsGuns (2008-07-23 12:18:00) [32]>Sergey13 © (23.07.08 12:09) [5]
>Клиентский датасет с сохранением в файл?
Он всем хорош, кроме одного маленького, но паршивенького нюанса - ему нужен midas.dll, а с ним могут быть проблемы, если на пользователький ПК позже устанавливается делфа
stas (2008-07-23 12:10:00) [33]textExpanser (23.07.08 12:06) [4]
CxGrid
Sergey13 (2008-07-23 12:09:00) [34]Клиентский датасет с сохранением в файл?
textExpanser (2008-07-23 12:06:00) [35]stas:
> > BDE/ADO
> чем они громоздки?
А зачем по-твоему делают компоненты для работы без них? Чтобы не зависеть от них, вот зачем.
Мне не нужна поддержка баз данных, только простое сохранение в файл моих данных.
textExpanser (2008-07-23 12:03:00) [36]oldman:
Я же сказал, что самому писать нет смысла. Нужен не простой текстовый файл, а КОНТЕЙНЕР для таблицы разнородных данных. Я уже писал много custom-форматов и знаю, что в данном случае рациональнее использовать что-то типа DBF таблицы, но у DBF есть ограничения на длину строк и данных, насколько я помню (поэтому DBF не подходит, нужен другой формат).
stas (2008-07-23 12:01:00) [37]
> BDE/ADO и другие громоздкие технологии,
чем они громоздки?
oldman (2008-07-23 11:55:00) [38]writeln в простой текстовый файл