![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Стоит задача организовать хранение данных в одном файле. Данные имеют следующую структуру:
id - уникальный номер объекта object - jpeg или bmp изображение description - тестовое описание Каким образом лучше всего организовать хранение такой структуры данных, чтобы все содержалось в одном файле и работало более менее быстро? |
#2
|
|||
|
|||
![]() Например, использовать встраиваемую БД. Я для таких задач использую Embedded FireBird.
|
#3
|
|||
|
|||
![]() Ну, примитивный способ - использовать записи:
type TData = record id : integer; description : string[255]; picture : array [1..1024,1..768] of integer; end; На лицо сразу куча недостатков, некоторая ограниченность метода и избыточность размера файлов. Лучше всего конечно использовать базу данных, но если это по какой-либо причине нельзя делать, выход - использовать механихм blockread и blockwrite с обычными file of byte, записывая в файл информацию побайтово, кусками, сначала Id, затем описание, затем саму картинку, но так как размер описания и картинки может быть разным, лучше еще и их размер указывать. Также придется выделить область в файле для индека - чтоб выборку делать быстро, а не перебирать все варианты. |
#4
|
||||
|
||||
![]() Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 21.08.2009 в 13:04. |
#5
|
|||
|
|||
![]() Как вариант, есть еще и это :
Doc-файлы («DocFiles», «compound file», «составной файл», «хранилища структурированной информации», «structured storage») – средство для хранения структурированной информации в виде единого файла. Структура файла построена в виде дерева по аналогии с файловой системой. При этом, эквивалентом каталога(папки) является хранилище(storage), а эквивалентом файла – поток(stream). Doc-файлы ориентированы на хранение разнородных данных (текст, видео, графика, звук и т.д.). Этот формат используется в MS Office (Word, Excel, PowerPoint). Примерно так (открыть файл и отобразить в TTreeView) : Код:
|