![]() |
|
|
![]()
|
|
| belkeandrey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 21.2.2013 Репутация: нет Всего: нет |
Добрый день! В дельфи новичок, поставлена следующая задача. Подскажите как правильнее реализовать. Есть программа обучения, в нее входят под своим логином и паролем инструктор или обучаемый, предварительно зарегившись. В программе присутствуют тесты с вопросами и вариантами ответов, на которые отвечает обучаемый. Все эти данные должны храниться и отображаться у инструктора в журнале. Необходимо реализовать: инструктор может просматривать всех пользователей, в журнале отображается информация за указанный временной период о том, в какие даты и в какое время какой пользователь работал с какими окнами программы, сколько времени пользователь работал, какие тесты выполнил (если выполнял, то какая оценка).
Также необходимо при запросе выводить зависимость (график или диаграмма) времени, проведенного в конкретном разделе к количеству ошибок, допущенных пользователем в тесте конкретного вышеуказанного раздела. Обязательна возможность выгрузить из программы журнал в удобном для изучения формате (таблицы Excel). Инструктор сам должен устанавливать фильтр по времени и создавать архивы, удалять записи ненужных ему пользователей непосредственно из журнала, при желании перед удалением добавлять записи в архив. Как это лучше реализовать, возиться с БД, либо использовать ини? С чего начинать? Заранее спасибо! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| belkeandrey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 21.2.2013 Репутация: нет Всего: нет |
Немного разобрался, но многое еще непонятно.
1.Нужно сделать тест. Вопросы и ответы будут в БД. Но как, допустим, из таблицы "Naznachenie" вывести вопрос в мемо с вариантами ответов в радиобаттонах, а после ответа выводить следующий вопрос? При этом еще отслеживать правильный ответ и начислять баллы. Я так понимаю циклом? Но не понятно, как пойди к нужному полю. SQL запросы? Можно примерчик? 2. Нужно сделать авторизацию. Т.е. логин и пароль сохранять в таблице личных данных регистрируемого. А потом просто циклом бегать и сравнивать? А шифрование? Пока вроде все. Напоминаю, что я новичок не только в БД, но и в программировании:) Прошу помощи:) |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
.locate с этой задачей справится. А что шифрование? Ну, шифруй данные в поле. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Можно, а сколько готов заплатить за готовую программу? Или т думаешь, что примерчик - это 3-5-7 строк кода? Добавлено @ 10:45 belkeandrey, ты что, не понимаешь, что попал на форум программистов? Здесь нет фрилансеров-альтруистов. Тебе нужна программа? Готовь деньги и тех. задание и пиши на фриланс. Добавлено через 3 минуты и 2 секунды Ты покажи код, напиши что да как делал, где ошибка и какая? Тебе подскажут Добавлено через 4 минуты и 17 секунд http://forum.vingrad.ru/forum/topic-353769.html там есть ответ на твой вопрос |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
||||
|
||||
| belkeandrey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 21.2.2013 Репутация: нет Всего: нет |
Ребят, потихоньку разбираюсь. Сейчас делаю тест. Таблица в ацесе в формате id|vopros|otv1|otv2|otv3|prav_otv. Подключить и вывести все получается, а как сделать так, чтобы при нажатии кнопки или другом действии просто переключалась строка таблицы? К примеру если id=1, это первая строка таблицы, при нажатии на кнопку "след вопр" id становился равным 2 и данные читались из 2й строки. Navigator это не то, тк в основном релизе Grida не будет. Пробовал в SQL запрос вставлять переменную i преобразованную в строковую, но она не считается((
P/S. Я понимаю, и готовую прогу не прошу, а прошу хотя-бы наводку, в какую сторону копать |
|||
|
||||
| Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| belkeandrey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 21.2.2013 Репутация: нет Всего: нет |
С большинством разобрался. Возник такой вопрос. Мне надо собирать всю статистику о пользователе, который зашел под своим логином и паролем, т.е. дата входа, проведенное время, баллы за тестирование и т.д. У меня отдельно таблица users с логинами и паролями, отдельно таблица "Обучаемые" (в ней ФИО, группа). Куда мне сохранять статистику при каждом входе пользователя? Так думается, что подчинением, но тогда получается, что для каждого юзера надо делать свою таблицу? Или же мутить с sql запросами. Подскажите, если поняли суть.
|
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: нет Всего: 7 |
Можно при создании пользователя создать для него таблицу данных. Просто способ именования придумай, например, Данные<Id-пользователя>. Скрипт для создания посмотреть в самой СУБД.
Кстати, если данных достаточно много (несколько десятков тысяч), то Access и ADO начинают дохнуть, например, TADOQuery.Next жутко тормозит, FindNext еще жутче, но из доступного новичку это, наверное, самое простое решение. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 3 Всего: 72 |
Зачем? Делается таблица "Статистика", в ней - все поля, какие нужно для хранения + поле UserID: ForeignKey для таблицы "Обучаемые" (или "users"). По каждому юзеру, зная его ID, вся статистика (или за определенный период) выдергивается легко. Добавлено через 1 минуту и 23 секунды Более того, достаточно легко будет "выдернуть" и статистику по группе. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 3 Всего: 133 |
Простите конечно, но если такие задачи ставят новичкам...
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
На лекции не ходил, поэтому и новичок.
|
|||
|
||||
| belkeandrey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 21.2.2013 Репутация: нет Всего: нет |
)))) да я не программист вообще, а инженер по специальности. В детстве увлекался, а сейчас на работе попросили сделать, вот я согласился и разбираюсь. Уже почти всю программу с 0 сделал, сейчас с БД разбираюсь. Даже понравилось это дело)
Да, спасибо, так и сделал. Сейчас вот возник такой вопрос: а как добавлять данные в ОДНУ строку таблицы. А то получается при входе записал дату в 1ю строку, далее данные записываюсяво 2ю и тд. строки.... И как сделать связи в таблицах через ADOQuery? Через ADOTable ясно, а тут не получается никак.. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |