Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Простая независимая база данных (типа таблицы) для записи в файл [D2, D3, D4, D5, D6, D7, D2005, 95/98, ME, NT4, 2000, XP, 2003]


Страницы:   1 2

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 в простой текстовый файл


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо