![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
AlienEmperor |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 160 Пол: Мужской Реальное имя: Серый Репутация: ![]() ![]() ![]() |
Приветствую! Такой вопрос: задумал я, значит, создать программу-каталог: одна запись - "диск", включает в себя поля: а) Издатель б) Разработчик в) год издания ... и т.д. и т.п. - подойдет record. Потом идут комментарии пользователя (типа TMemo). Далее запись содержит картинки из программ, содержащихся на этом диске (скриншоты) - неизвестно их кол-во и размер (картинки хранятся в JPEG'ах). Все записи собраны в базу, которая контролирует их изменение/удаление/добавление и т.д. Важно, чтобы одна запись содержала ВСЮ информацию о диске в одном файле. Файлов (записей) может быть сколько угодно.
Кое-что я сделал, может быть (если нужно) даже выложу исходник - все работает так как описано, только как-то не очень нравится. Я хотел спросить у Вас: может кто-нибудь знает (или представляет) красивое решение на эту тему ? Если ничего нет, то может, как-нибудь это можно сделать через базы данных ? (Хотя лучше бы вручную)... -------------------- Все в жизни ботва... Кроме пчел!
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Первое что в голову приходит - создать БД с таблицами например Paradox. И мне каежтся это будет правильным решением
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
hiv |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
klem4 прав!
Но можешь и сам постараться. Надо создать два файла: 1) типизированные записи типа record. 2) нетипизированные данные (BLOB), имеющие различную длину на запись. В первом файле запоминаешь наличие, смещение относительно начала файла и размер нетипизированной записи во втором файле. Вот самое простое решение. ЗЫ: И еще добавь тип нетипизированной записи BLOB, а то потом не разберешься в том, что туда напихал ![]() Сообщение отредактировано: hiv - 17.11.2005 9:19 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ну а если вручную ... то для хранения картинки наверное моожно в запись добавить еще ImageName : string - имя картинки, а их всех (картинки) хранить в отдельной папке, а потом при выборе записи окрывать рисунок i-ой находящийся в (path + rec[i].ImageName) ... вот как-то нак
ну я думаю ты до этого и сам уже додумался ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Romtek |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
Есть ещё вармант хранения информации в структурированном XML. Его можно сжать ZLib.
-------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 2:22 |