Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранение информации, используемой программой 
:(
    Опции темы
kaktus90
  Дата 26.10.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пишу программу для учёбы. Необходимо хранить задания и ответы к ним. Т.е. пользователю даётся вариант задания, после его выполнения, результаты сверяются прогой с забитыми ответами.
Как лучше всего организовать хранение этой информации?
PM MAIL   Вверх
Rennigth
Дата 26.10.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



kaktus90, какая нить локальная база данных


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 26.10.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



kaktus90, XML-файл продумай, это легко! И XML Data Binding самое лучшее решение
PM MAIL WWW ICQ Jabber   Вверх
Rennigth
Дата 26.10.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



Цитата(EvilsInterrupt @  26.10.2007,  14:22 Найти цитируемый пост)
kaktus90, XML-файл продумай, это легко! И XML Data Binding самое лучшее решение 

Цитата(kaktus90 @  26.10.2007,  13:46 Найти цитируемый пост)
Необходимо хранить задания и ответы к ним

Можно и так, только зашифровать хорошенько придеться.



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 26.10.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



kaktus90, А может ты не будешь мучаться а заюзаешь FireBird Embedded ?
Забыл сказать, я щас аналогичную программу пишу, если интересно присоединяйся ;)

Это сообщение отредактировал(а) EvilsInterrupt - 26.10.2007, 18:04
PM MAIL WWW ICQ Jabber   Вверх
skyboy
Дата 26.10.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



SQLite
Firebird Embedded
VolgaDB
AbsoluteDB
Как ни странно, локальных баз немало. И уж тем более "нестранно", что в разделе "общие вопросы по базам данных" есть закрепленная тема "Какую базу данных выбрать?", где выбор СУБД(в т.ч. и локальной) довольно подробно рассмтроены.
PM MAIL   Вверх
kaktus90
Дата 27.10.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Поясню. В каком виде хранить задания, которых будет примерно 100 и соответственно столько же ответов? Если в обычных файлах, то более-менее грамотный пользователь их может просмотреть и тогда все станут отличниками. А в саму прогу вбить проблематично - объём большой. В БД хранить тоже вряд ли получиться, потому что сами задания представлены строками по штук 15 и ответы также, но более менее формализованы. Что делать?
PM MAIL   Вверх
Alexeis
Дата 27.10.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(kaktus90 @  27.10.2007,  12:28 Найти цитируемый пост)
А в саму прогу вбить проблематично - объём большой

  Можно добавить их в ResourceString. Т.е. в раздел строковых ресурсов. Для этого можно либо сделать либо отдельный модуль, либо добавить в один из текущих модулей. Так они всегда будут на виду и легко редактироваться. Но вот только умный студент все равно сможет их найти каким-нибудь ResHackerom, также как если их вбивать в код. 
  Можно попросту строки сжать zLib ом сохранить на диск, потом заганать в ресурс. в проге загрузить ресурс и распаковать и загрузить в StringList. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Still
Дата 27.10.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHP-программист
*


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

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



Как вариант всю информацию хранить в файлах в закодированном виде, а при проверке в программе, раскодировать и сравнивать.

Код

Слово: Задание
В кодированном виде: n+3auEtevG


Это для примера. Вот в таком подобном кодированном виде можно хранить данные в файлах.[code=nocolor]


PM MAIL WWW   Вверх
VICTAR
Дата 27.10.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Я тут вспомнил, есть компонент TDataFile, работает по принципу TIniFile, только информация храниться в зашифрованном виде. Если учесть, что вопросов будет всего 100, то думаю, это неплохой вариант.
PM MAIL   Вверх
EvilsInterrupt
Дата 27.10.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



Зашифровать то не сложно! Мало того что существует немерено компонентов, классов, так и самому простенкое шифрование замудрить не сложно, вот пример:

Шифрование:
Код символа + Ключ шифрования размером в байт = зашифрованный код символа

Дешифрование:
зашифрованный код символа - Ключ шифрования размером в байт = Код символа

логично положить что это все сложение и вычитание по модули 2^8 , ну а ключ шифрования размером в байт можно любое числов взять.

Но я бы просто взял и заюзал FireBird Embedded, т.к. работает шустро, ну и со строками работать тоже просто. Можно еще интересней поступить, взять XML Data BInding и с нечасто используемой кодировкой там хранить, догадался студент - ну и флаг ему в руки, респект и уважуха! ;)

Можно загнать XML-файл в какой нить модуль u_QuestionsAndReplay а внем в виде строки Xml файл и работать с этим хозяйством в памяти используя TjanXMLParser2

Это сообщение отредактировал(а) EvilsInterrupt - 27.10.2007, 16:13
PM MAIL WWW ICQ Jabber   Вверх
VICTAR
Дата 27.10.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(EvilsInterrupt @  27.10.2007,  17:10 Найти цитируемый пост)
Зашифровать то не сложно! 

Дело не только в шифровании. Никто не спорит, что не сложно. Все дело в простоте работы. Думаю с IniFile`ами все умеют работать. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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