Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание ресурсов, или как сделать свою базу данных 
:(
    Опции темы
СВА
Дата 14.2.2006, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 9.1.2006

Репутация: нет
Всего: нет



Суть такова, ноужно сделать базу данных которая сотоит из чисел, текстовых строк и картинок.
с текстом и числами нет никаких проблем, а вот как вставить картинку да так что бы потом было ее легко от туда выцепить - проблема. Пока что я додумался талько до такой схемы.

Прежде чем записывать в файл текст, число или рисонок (далее объект) сначала записывают его длину в байтах, а затем уже сам объект т.е.

|Длина текста1| текст1| Длина рисунка1| рисунок1| и т.д.
-------------------------------------------------------------------

Процесс чтения такой базы данных сводиться с считывания длины а потам по ней самого объекта при этом рисунки приходится сохранять на жестком диске временным файлом и с него уже загружать ее.

А теперь то ради чего этот топик создавалася можно ли сделать так что бы рисунки не нужно было сохранять на жестком диске. При этом я допускаю что может изменится сам алгоритм создания базы данных.
Или можно ли создавать все это безобразие с помощью файла ресурса если да то как с ним потом работать.
PM MAIL   Вверх
Akina
Дата 14.2.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



1) Ты что, и собственную структуру под это рожаешь? или нечто существующее собрался использовать?
2) С какой именно целью создается подобная БД, каков расчетный объем по каждому из возможных типов (в штуках и байтах)?
3) Работа с ресурсами - в справке по VB6 и WinAPI. Можно и ФАК покопать, и в поиске по конференции побывать.
4) Название темы я, так и быть, поправлю. А ляпы по тексту - давай-ка сам.
5) И СФОРМУЛИРУЙ ВНЯТНО КОНКРЕТНУЮ ЗАДАЧУ!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
СВА
Дата 16.2.2006, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 9.1.2006

Репутация: нет
Всего: нет



Создается программа для прверки знаний учашихся, при этом как вопросы так и ответы могут содержать графическую информацию все это должно браться из отдельного файла. Если каждую картику сохранять в виде отдельного файла в папке, то возможна их подмена что приведет к искажению результатов тестирования вот и нужно чтобы все это было сложено в одном ну, по крайней мере в двух файлах, так что бы обычные "чайники с накипью" не могли ни чего изменить. Размер - предполагается что в одном тесте максимум 250 вопросов и на каждый вопрос максимум 15 ответов т.е. размеры базы данных может достигать до 50-100 Мб.

Задача такова нужно что бы все картики теста были помещены в один файл, а потом от туда извлечены при этом, что бы не использовались посредники.
PM MAIL   Вверх
Akina
Дата 16.2.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(СВА @ 16.2.2006, 06:24 Найти цитируемый пост)
Если каждую картику сохранять в виде отдельного файла в папке, то возможна их подмена

Чтобы хранить вопрос вместе с картинками, стОит выбрать RTF-формат хранения вопроса целиком. Несложно отображать, просто корректировать, можно хранить отдельным файлом со всеми картинками внутри. Для каждого файла подсчитать и сохранить в базе CRC, MD5 или иное значение контрольной суммы, которое позволит обнаружить подмену. И при обнаружении - орать что вопрос несанкционированно изменен. Алгоритмы стандартные, кода - вагоны. Или - еще лучше - заархивировать (RAR) каждый вопрос отдельно с паролем, индивидуальным для каждого вопроса, хранящемся в БД в шифрованном виде. Заодно и место сэкономишь.

Хранение же вопросов в базе - опасно. База вообще по мере использования растет - не зря Аксессовы БД регулярно пакуют. А как только она достигнет 2 Гбайт - она умрет. Сразу и невосстановимо.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
СВА
Дата 17.2.2006, 04:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 9.1.2006

Репутация: нет
Всего: нет



Цитата

Хранение же вопросов в базе - опасно. База вообще по мере использования растет - не зря Аксессовы БД регулярно пакуют. А как только она достигнет 2 Гбайт - она умрет. Сразу и невосстановимо.


у меня считается что БД не будет превышать 100 мб, т.е. один тест одна БД, следующий тест уже в другой БД.

На счет RTF получается тогда вопрос а точнее порядок ответов всегда будет в одной и той же последовательности

А других вариантов хранения картинок в одном файле нет?
PM MAIL   Вверх
Akina
Дата 17.2.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(СВА @ 17.2.2006, 05:41 Найти цитируемый пост)
На счет RTF получается тогда вопрос а точнее порядок ответов всегда будет в одной и той же последовательности

Это еще с какого перепугу???


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
СВА
Дата 18.2.2006, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 9.1.2006

Репутация: нет
Всего: нет



Ну, представь себе, допустим, 1 вопрос - 1 странаница сортировать вопросы нетрудно, а вот ответы как-то не очень? или я не прав


И все таки имеются ли другие варианты хранения картинок в одном файле.
PM MAIL   Вверх
Тутанхамец
Дата 18.2.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



Хех, уважаемый! Как всё знакомо! smile

Передо мной стоит примерно такая же задача, и я хотел решать ее примерно так же. То есть записывать по байтам в файл рисунок (или файл Ворда, допустим или любой другой ОЛЕ-вставляемый файл), а потом извлекать его, сохранять как временный файл и читать оттуда.

Потом решил как бы разбить файл теста на две части. Первая часть - вопросы и настройки теста. В вопросах указаны маркеры (коды) иллюстраций. Во второй части - пары "маркер+рисунок по байтам".

Если разберусь с апишными функциями, чтоб последовательность байтов заталкивать в Image как рисунок или как-то иначе выводить на форму, то будет вообще прелесть.

Меня не очень напрягает время и эту задачу могу решать в свое удовольствие. Но если тебя время поджимает, рекомендую не изощряться самому, а использовать микрососфтовский движок БД MS Jet.

Если твой тест - файл .mdb (кстати расширение можно и изменить), то все проблемы с паролями и тому подобным решаются вполне просто. Ответственно тебе заявляю, так как уже делал всё это, и защищал диплом по своей тестовой оболочке.

Правда, тебе придется включить Jet в дистрибутив твоей проги.

А перемешка вопросов и вариантов ответа - вообще элементарно, как бы и в чем бы их не хранить. При создании теста размечаешь его выдуманными тобой же тэгами (<question>, <answer> и т.п.), при запуске анализируешь и переносишь в массив типов или в объекты. И то и другое перемешивается за милую душу.)


ЗЫ

А если делать через файлы RTF (чтоб держать в них рисунки как OLE-объекты), то можно шифровать их перед записью на диск, а потом (когда прога выдает тест студенту) считав и расшифровав бить на вопросы, настройки теста и варианты ответа. А эти разбитые куски рассовать по массиву пользовательского типа (каждый элемент - один вопрос с иллюстрацией в виде RTF-текста). А из массива уже при выводе вопроса засовывать в RichTextEdit в виде текста, содержащего рисунок как последовательность байт. Таким образом обходимся без темповского файла.

Это сообщение отредактировал(а) Тутанхамец - 18.2.2006, 12:46
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.