![]() |
|
Модераторы: Akina |
![]()
|
|
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
Суть такова, ноужно сделать базу данных которая сотоит из чисел, текстовых строк и картинок.
с текстом и числами нет никаких проблем, а вот как вставить картинку да так что бы потом было ее легко от туда выцепить - проблема. Пока что я додумался талько до такой схемы. Прежде чем записывать в файл текст, число или рисонок (далее объект) сначала записывают его длину в байтах, а затем уже сам объект т.е. |Длина текста1| текст1| Длина рисунка1| рисунок1| и т.д. ------------------------------------------------------------------- Процесс чтения такой базы данных сводиться с считывания длины а потам по ней самого объекта при этом рисунки приходится сохранять на жестком диске временным файлом и с него уже загружать ее. А теперь то ради чего этот топик создавалася можно ли сделать так что бы рисунки не нужно было сохранять на жестком диске. При этом я допускаю что может изменится сам алгоритм создания базы данных. Или можно ли создавать все это безобразие с помощью файла ресурса если да то как с ним потом работать. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
1) Ты что, и собственную структуру под это рожаешь? или нечто существующее собрался использовать?
2) С какой именно целью создается подобная БД, каков расчетный объем по каждому из возможных типов (в штуках и байтах)? 3) Работа с ресурсами - в справке по VB6 и WinAPI. Можно и ФАК покопать, и в поиске по конференции побывать. 4) Название темы я, так и быть, поправлю. А ляпы по тексту - давай-ка сам. 5) И СФОРМУЛИРУЙ ВНЯТНО КОНКРЕТНУЮ ЗАДАЧУ! -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
Создается программа для прверки знаний учашихся, при этом как вопросы так и ответы могут содержать графическую информацию все это должно браться из отдельного файла. Если каждую картику сохранять в виде отдельного файла в папке, то возможна их подмена что приведет к искажению результатов тестирования вот и нужно чтобы все это было сложено в одном ну, по крайней мере в двух файлах, так что бы обычные "чайники с накипью" не могли ни чего изменить. Размер - предполагается что в одном тесте максимум 250 вопросов и на каждый вопрос максимум 15 ответов т.е. размеры базы данных может достигать до 50-100 Мб.
Задача такова нужно что бы все картики теста были помещены в один файл, а потом от туда извлечены при этом, что бы не использовались посредники. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Чтобы хранить вопрос вместе с картинками, стОит выбрать RTF-формат хранения вопроса целиком. Несложно отображать, просто корректировать, можно хранить отдельным файлом со всеми картинками внутри. Для каждого файла подсчитать и сохранить в базе CRC, MD5 или иное значение контрольной суммы, которое позволит обнаружить подмену. И при обнаружении - орать что вопрос несанкционированно изменен. Алгоритмы стандартные, кода - вагоны. Или - еще лучше - заархивировать (RAR) каждый вопрос отдельно с паролем, индивидуальным для каждого вопроса, хранящемся в БД в шифрованном виде. Заодно и место сэкономишь. Хранение же вопросов в базе - опасно. База вообще по мере использования растет - не зря Аксессовы БД регулярно пакуют. А как только она достигнет 2 Гбайт - она умрет. Сразу и невосстановимо. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
у меня считается что БД не будет превышать 100 мб, т.е. один тест одна БД, следующий тест уже в другой БД. На счет RTF получается тогда вопрос а точнее порядок ответов всегда будет в одной и той же последовательности А других вариантов хранения картинок в одном файле нет? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Это еще с какого перепугу??? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| СВА |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 9.1.2006 Репутация: нет Всего: нет |
Ну, представь себе, допустим, 1 вопрос - 1 странаница сортировать вопросы нетрудно, а вот ответы как-то не очень? или я не прав
И все таки имеются ли другие варианты хранения картинок в одном файле. |
|||
|
||||
| Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 4 Всего: 6 |
Хех, уважаемый! Как всё знакомо!
Передо мной стоит примерно такая же задача, и я хотел решать ее примерно так же. То есть записывать по байтам в файл рисунок (или файл Ворда, допустим или любой другой ОЛЕ-вставляемый файл), а потом извлекать его, сохранять как временный файл и читать оттуда. Потом решил как бы разбить файл теста на две части. Первая часть - вопросы и настройки теста. В вопросах указаны маркеры (коды) иллюстраций. Во второй части - пары "маркер+рисунок по байтам". Если разберусь с апишными функциями, чтоб последовательность байтов заталкивать в Image как рисунок или как-то иначе выводить на форму, то будет вообще прелесть. Меня не очень напрягает время и эту задачу могу решать в свое удовольствие. Но если тебя время поджимает, рекомендую не изощряться самому, а использовать микрососфтовский движок БД MS Jet. Если твой тест - файл .mdb (кстати расширение можно и изменить), то все проблемы с паролями и тому подобным решаются вполне просто. Ответственно тебе заявляю, так как уже делал всё это, и защищал диплом по своей тестовой оболочке. Правда, тебе придется включить Jet в дистрибутив твоей проги. А перемешка вопросов и вариантов ответа - вообще элементарно, как бы и в чем бы их не хранить. При создании теста размечаешь его выдуманными тобой же тэгами (<question>, <answer> и т.п.), при запуске анализируешь и переносишь в массив типов или в объекты. И то и другое перемешивается за милую душу.) ЗЫ А если делать через файлы RTF (чтоб держать в них рисунки как OLE-объекты), то можно шифровать их перед записью на диск, а потом (когда прога выдает тест студенту) считав и расшифровав бить на вопросы, настройки теста и варианты ответа. А эти разбитые куски рассовать по массиву пользовательского типа (каждый элемент - один вопрос с иллюстрацией в виде RTF-текста). А из массива уже при выводе вопроса засовывать в RichTextEdit в виде текста, содержащего рисунок как последовательность байт. Таким образом обходимся без темповского файла. Это сообщение отредактировал(а) Тутанхамец - 18.2.2006, 12:46 |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |