Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2013, 15:12   #1
belkeandrey
Пользователь
 
Регистрация: 21.02.2013
Сообщений: 48
По умолчанию Access или ini в моем случае?

Добрый день! В дельфи новичок, поставлена следующая задача. Подскажите как правильнее реализовать. Есть программа обучения, в нее входят под своим логином и паролем инструктор или обучаемый, предварительно зарегившись. В программе присутствуют тесты с вопросами и вариантами ответов, на которые отвечает обучаемый. Все эти данные должны храниться и отображаться у инструктора в журнале. Необходимо реализовать: инструктор может просматривать всех пользователей, в журнале отображается информация за указанный временной период о том, в какие даты и в какое время какой пользователь работал с какими окнами программы, сколько времени пользователь работал, какие тесты выполнил (если выполнял, то какая оценка).

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

Обязательна возможность выгрузить из программы журнал в удобном для изучения формате (таблицы Excel).
Инструктор сам должен устанавливать фильтр по времени и создавать архивы, удалять записи ненужных ему пользователей непосредственно из журнала, при желании перед удалением добавлять записи в архив.

Как это лучше реализовать, возиться с БД, либо использовать ини? С чего начинать?
Заранее спасибо!
belkeandrey вне форума Ответить с цитированием
Старый 29.03.2013, 15:22   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

БД однозначно.
начинатьт нужно с правильной проэктировки структуры БД и приложения
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 29.03.2013, 15:34   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Согласен с Юрой. Ini-файлы вообще-то не для этого предназначены.
Тем более, что раз есть пароль, то и шифрование его хоть какое-то должно быть - а хранить пусть и кодированный, но все же пассворд, в фактически текстовом файле - не комильфо. А на БД можно и пароль поставить средствами СУБД. Paradox, например, вообще на уровне СУБД шифовать данные умеет.

Весь вопрос в выборе БД. Если Вы хотите создать нечто сетевое, где несколько юзеров каждый со своей машины будут проходить разные тесты, а инструктор со своего места отслеживает их действия - тут уж явно не Access нужен, а что-то более серьезное (Interbase/Firebird, MSSQL, MySQL и тп). Зато если база локальная - можно и тот же акцесс.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 29.03.2013, 15:43   #4
belkeandrey
Пользователь
 
Регистрация: 21.02.2013
Сообщений: 48
По умолчанию

Спасибо, ребят за консультацию) БД должна быть локальной 100%. Т.е. либо аццес, либо парадокс? Я новичок, с БД вообще не работал ни разу, не понимаю с какой стороны подойти... А вопросы тестов тоже в БД впихнуть?
belkeandrey вне форума Ответить с цитированием
Старый 29.03.2013, 23:23   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Т.е. либо аццес, либо парадокс?
dBase еще (который dbf). Firebird локальный. Выбор за Вами.

Цитата:
А вопросы тестов тоже в БД впихнуть?
Конечно. И ответы тоже.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.03.2013, 01:01   #6
belkeandrey
Пользователь
 
Регистрация: 21.02.2013
Сообщений: 48
По умолчанию

Немного разобрался, но многое еще непонятно.
1.Нужно сделать тест. Вопросы и ответы будут в БД. Но как, допустим, из таблицы "Naznachenie" вывести вопрос в мемо с вариантами ответов в радиобаттонах, а после ответа выводить следующий вопрос? При этом еще отслеживать правильный ответ и начислять баллы. Я так понимаю циклом? Но не понятно, как пойди к нужному полю. SQL запросы? Можно примерчик?
2. Нужно сделать авторизацию. Т.е. логин и пароль сохранять в таблице личных данных регистрируемого. А потом просто циклом бегать и сравнивать? А шифрование?
Пока вроде все. Напоминаю, что я новичок не только в БД, но и в программировании Прошу помощи
belkeandrey вне форума Ответить с цитированием
Старый 30.03.2013, 03:47   #7
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
2. Нужно сделать авторизацию. Т.е. логин и пароль сохранять в таблице личных данных регистрируемого. А потом просто циклом бегать и сравнивать? А шифрование?
MD5 =)
Кажеться, через SQL запрос можно обойтись без без цикла сравнивания...

Цитата:
Но как, допустим, из таблицы "Naznachenie" вывести вопрос в мемо с вариантами ответов в радиобаттонах, а после ответа выводить следующий вопрос?
В memo можна напрямую вывести поле БД(см. TDBMemo). За RadioButtons - SQL запрос, получить данные, заполнить итемы радиобаттона.
Delphi_ProGer вне форума Ответить с цитированием
Старый 30.03.2013, 08:42   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Немного разобрался, но многое еще непонятно.
В настоящее время думать о выводе на форму Вам еще рано - разработка БД начинается с самой БД. Это тоже дело не самое простое, поэтому для начала почитайте про реляционные базы данных.

Когда разберете этот вопрос, выберите СУБД, создадите саму базу - тогда можно и о программировании говорить.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.03.2013, 13:34   #9
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Могу скинуть программу тестирования на xe 3, писалась как курсовая.Маленько дописать и будет тебе и с авторизацией
hemn6vyr вне форума Ответить с цитированием
Старый 30.03.2013, 15:01   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Добавлю, ещё, как вариант, можно рассматривать SQLite - вполне себе подходящая для данных целей СУБД - небольшая, простая, автономная, достаточно распространённая и бесплатная.
(кстати, есть в РФ учебные заведения, обеспечивающие дистантное и заочное обучение, у которых тестирующая программа работает с данной БД)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шариться кто-то в моем компьютере удаленно или нет? julliz Безопасность, Шифрование 3 31.03.2012 18:03
access violation при работе с ini файлами demiancz Общие вопросы Delphi 5 07.01.2012 15:51
как вписать в файл текст в моем случае lexflax C++ Builder 5 06.12.2011 10:42
Помогите решить. Или исправте ошибки в моем варианте. ZzMaKSzZ Общие вопросы C/C++ 2 23.12.2009 20:08
Как сделать так, чтобы в моем браузере новое окно страницы открывалось в моем-же браузере??? Somilya Помощь студентам 6 22.12.2009 21:56