Помощь - Поиск - Пользователи - Календарь
Полная версия: Сохранение разнородной информации
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
AlienEmperor
Приветствую! Такой вопрос: задумал я, значит, создать программу-каталог: одна запись - "диск", включает в себя поля: а) Издатель б) Разработчик в) год издания ... и т.д. и т.п. - подойдет record. Потом идут комментарии пользователя (типа TMemo). Далее запись содержит картинки из программ, содержащихся на этом диске (скриншоты) - неизвестно их кол-во и размер (картинки хранятся в JPEG'ах). Все записи собраны в базу, которая контролирует их изменение/удаление/добавление и т.д. Важно, чтобы одна запись содержала ВСЮ информацию о диске в одном файле. Файлов (записей) может быть сколько угодно.
Кое-что я сделал, может быть (если нужно) даже выложу исходник - все работает так как описано, только как-то не очень нравится. Я хотел спросить у Вас: может кто-нибудь знает (или представляет) красивое решение на эту тему ? Если ничего нет, то может, как-нибудь это можно сделать через базы данных ? (Хотя лучше бы вручную)...
klem4
Первое что в голову приходит - создать БД с таблицами например Paradox. И мне каежтся это будет правильным решением yes2.gif
hiv
klem4 прав!
Но можешь и сам постараться. Надо создать два файла:
1) типизированные записи типа record.
2) нетипизированные данные (BLOB), имеющие различную длину на запись.
В первом файле запоминаешь наличие, смещение относительно начала файла и размер нетипизированной записи во втором файле.
Вот самое простое решение.

ЗЫ: И еще добавь тип нетипизированной записи BLOB, а то потом не разберешься в том, что туда напихал smile.gif
klem4
Ну а если вручную ... то для хранения картинки наверное моожно в запись добавить еще ImageName : string - имя картинки, а их всех (картинки) хранить в отдельной папке, а потом при выборе записи окрывать рисунок i-ой находящийся в (path + rec[i].ImageName) ... вот как-то нак

ну я думаю ты до этого и сам уже додумался smile.gif
Romtek
Есть ещё вармант хранения информации в структурированном XML. Его можно сжать ZLib.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.