Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Access или ini в моем случае? 
:(
    Опции темы
belkeandrey
Дата 29.3.2013, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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

Как это лучше реализовать, возиться с БД, либо использовать ини? С чего начинать?
Заранее спасибо!

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


Творец
****


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

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



Цитата(belkeandrey @  29.3.2013,  14:11 Найти цитируемый пост)
Как это лучше реализовать, возиться с БД, либо использовать ини? 


возиться с БД
PM MAIL   Вверх
belkeandrey
Дата 30.3.2013, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Немного разобрался, но многое еще непонятно. 
1.Нужно сделать тест. Вопросы и ответы будут в БД. Но как, допустим, из таблицы "Naznachenie" вывести вопрос в мемо с вариантами ответов в радиобаттонах, а после ответа выводить следующий вопрос? При этом еще отслеживать правильный ответ и начислять баллы. Я так понимаю циклом? Но не понятно, как пойди к нужному полю. SQL запросы? Можно примерчик? 
2. Нужно сделать авторизацию. Т.е. логин и пароль сохранять в таблице личных данных регистрируемого. А потом просто циклом бегать и сравнивать? А шифрование?
Пока вроде все. Напоминаю, что я новичок не только в БД, но и в программировании:) Прошу помощи:)
PM MAIL WWW   Вверх
Данкинг
Дата 30.3.2013, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(belkeandrey @  30.3.2013,  01:00 Найти цитируемый пост)
А потом просто циклом бегать и сравнивать?

.locate с этой задачей справится. 
Цитата(belkeandrey @  30.3.2013,  01:00 Найти цитируемый пост)
А шифрование?

А что шифрование? Ну, шифруй данные в поле.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 30.3.2013, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(belkeandrey @  30.3.2013,  00:00 Найти цитируемый пост)
1.Нужно сделать тест. Вопросы и ответы будут в БД. Но как, допустим, из таблицы "Naznachenie" вывести вопрос в мемо с вариантами ответов в радиобаттонах, а после ответа выводить следующий вопрос? При этом еще отслеживать правильный ответ и начислять баллы. Я так понимаю циклом? Но не понятно, как пойди к нужному полю. SQL запросы? Можно примерчик? 


Можно, а сколько готов заплатить за готовую программу? Или т думаешь, что примерчик - это 3-5-7 строк кода?

Добавлено @ 10:45
belkeandrey, ты что, не понимаешь, что попал на форум программистов? Здесь нет фрилансеров-альтруистов. Тебе нужна программа? Готовь деньги и тех. задание и пиши на фриланс.

Добавлено через 3 минуты и 2 секунды
Ты покажи код, напиши что да как делал, где ошибка и какая? Тебе подскажут smile

Добавлено через 4 минуты и 17 секунд
http://forum.vingrad.ru/forum/topic-353769.html там есть ответ на твой вопрос  smile 
PM MAIL   Вверх
superVad
Дата 30.3.2013, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Цитата(belkeandrey @  29.3.2013,  23:00 Найти цитируемый пост)
Пока вроде все. Напоминаю, что я новичок не только в БД, но и в программировании:) Прошу помощи:)

Ну - научись программировать. На интуите можешь попробовать или книги почитай.
PM MAIL   Вверх
belkeandrey
Дата 30.3.2013, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят, потихоньку разбираюсь. Сейчас делаю тест. Таблица в ацесе в формате id|vopros|otv1|otv2|otv3|prav_otv. Подключить и вывести все получается, а как сделать так, чтобы при нажатии кнопки или другом действии просто переключалась строка таблицы? К примеру если id=1, это первая строка таблицы, при нажатии на кнопку "след вопр" id становился равным 2 и данные читались из 2й строки. Navigator это не то, тк в основном релизе Grida не будет. Пробовал в SQL запрос вставлять переменную i преобразованную в строковую, но она не считается((

P/S. Я понимаю, и готовую прогу не прошу, а прошу хотя-бы наводку, в какую сторону копать
PM MAIL WWW   Вверх
Данкинг
Дата 30.3.2013, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(belkeandrey @  30.3.2013,  20:06 Найти цитируемый пост)
К примеру если id=1, это первая строка таблицы, при нажатии на кнопку "след вопр" id становился равным 2 и данные читались из 2й строки.

Код

AdoTable.Recno:=2;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 30.3.2013, 20:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



PM MAIL   Вверх
belkeandrey
Дата 1.4.2013, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С большинством разобрался. Возник такой вопрос. Мне надо собирать всю статистику о пользователе, который зашел под своим логином и паролем, т.е. дата входа, проведенное время, баллы за тестирование и т.д. У меня отдельно таблица users с логинами и паролями, отдельно таблица "Обучаемые" (в ней ФИО, группа). Куда мне сохранять статистику при каждом входе пользователя? Так думается, что подчинением, но тогда получается, что для каждого юзера надо делать свою таблицу? Или же мутить с sql запросами. Подскажите, если поняли суть. 
PM MAIL WWW   Вверх
Beltar
Дата 2.4.2013, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно при создании пользователя создать для него таблицу данных. Просто способ именования придумай, например, Данные<Id-пользователя>. Скрипт для создания посмотреть в самой СУБД.

Кстати, если данных достаточно много (несколько десятков тысяч), то Access и ADO начинают дохнуть, например, TADOQuery.Next жутко тормозит, FindNext еще жутче, но из доступного новичку это, наверное, самое простое решение.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
kami
Дата 2.4.2013, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

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



Цитата(belkeandrey @  1.4.2013,  23:22 Найти цитируемый пост)
для каждого юзера надо делать свою таблицу?

Зачем?
Делается таблица "Статистика", в ней - все поля, какие нужно для хранения + поле UserID: ForeignKey для таблицы "Обучаемые" (или "users").

По каждому юзеру, зная его ID, вся статистика (или за определенный период) выдергивается легко.

Добавлено через 1 минуту и 23 секунды
Более того, достаточно легко будет "выдернуть" и статистику по группе.
PM MAIL WWW   Вверх
Poseidon
Дата 2.4.2013, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Цитата(belkeandrey @  29.3.2013,  14:11 Найти цитируемый пост)
В дельфи новичок, поставлена следующая задача.
Простите конечно, но если такие задачи ставят новичкам...



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Akella
Дата 2.4.2013, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



На лекции не ходил, поэтому и новичок.
PM MAIL   Вверх
belkeandrey
Дата 2.4.2013, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



)))) да я не программист вообще, а инженер по специальности. В детстве увлекался, а сейчас на работе попросили сделать, вот я согласился и разбираюсь. Уже почти всю программу с 0 сделал, сейчас с БД разбираюсь. Даже понравилось это дело)

Да, спасибо, так и сделал. Сейчас вот возник такой вопрос: а как добавлять данные в ОДНУ строку таблицы. А то получается при входе записал дату в 1ю строку, далее данные записываюсяво 2ю и тд. строки.... 
И как сделать связи в таблицах через ADOQuery? Через ADOTable ясно, а тут не получается никак..
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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