Topic: Экзаменационная программа

Всем привет. Давно меня не было тут. Хотел узнать, есть ли на форуме программа для экзаменов. Коротко объясню суть. Открываем программу, вводим имя студента, и начинаем тестирование. Выходит вопрос и 4 ответа. Время для ответа каждого вопроса 20 секунд. Если студент ответил правильно то ответ окрашивается зеленым, если не правильно то выбранный ответ красным а правильный зеленым. Всего 20 вопросов. В течении 20 секунд если студент не указал ответ то этот вопрос считается не правильным. В конце должен быть показан отчет: например, из 20 вопросов 10 правильный.
Помогите с реализацией.

Re: Экзаменационная программа

Приветствую.


Такой программы я пока не встречал, но в принципе это реализуемо.


О какой помощи с реализацией идет речь? Обычно я могу помочь только с решением конкретных вопросов.

Dmitry.

Re: Экзаменационная программа

Сколько заплатите?)))

Re: Экзаменационная программа

Можете сделать примерный образец а дальше я сам как нибудь доделаю.

Re: Экзаменационная программа

Hello Ravshanmirzoyev,
С MVD всегда много разных способов.
Думаю, я бы сделал это так. Может быть, это поможет вам дать некоторые идеи.
Извините, но на английском
С Уважением,
Derek (с переводчиком google)

Post's attachments

Attachment icon exams.zip 345.21 kb, 354 downloads since 2018-09-07 

Re: Экзаменационная программа

Спасибо derek. Примерно то что надо.

Re: Экзаменационная программа

Всем привет. Я воспользовался проектом dereka и countdown. Вот что у меня получилось. Есть 10 вопросов. На Form1 в Label (Question) надо чтобы из 10 вопросов показывалась рандомно 5 вопросов, при этом они не должны повторятся. А ответы соответственно в чекбоксах 1, 2, 3 и 4. Т.е. сначало нажимаем начать тест. Вводим имя студента. Затем выходит Form1 и соответственно вопросы. На каждый вопрос уделяется 20 секунд. Студент отвечает на вопрос, далее выходит второй вопрос и так далее. На данный момент мне надо чтобы в чекбоксах были показаны ответы на соответствующий вопрос. Как быть?

Post's attachments

Attachment icon Examination.rar 300.54 kb, 348 downloads since 2018-09-11 

Re: Экзаменационная программа

Проблему решил сам. Есть другой вопрос. Как посредством SQL запроса ввести в базу данных данные комбобокса. У меня выглядит так но MVD ругается.
SQLExecute('INSERT INTO exam (id_students, id_questions, id_answers) VALUES ('+Form1.ComboBox6.dbitemid+', '+Form1.ComboBox1.dbitemid+', '+Form1.ComboBox1.dbitemid+')');
Заранее спасибо.

Re: Экзаменационная программа

попробуйте

SQLExecute('INSERT INTO exam (id_students, id_questions, id_answers) VALUES (' + IntToStr(Form1.ComboBox6.dbitemid) + ', ' + IntToStr(Form1.ComboBox1.dbitemid) + ', '  + IntToStr(Form1.ComboBox1.dbitemid) + ')');

так как свойство dbItemID - это число, а выполнить вы хотите SQL-запрос в виде текста, поэтому надо привести числовую переменную в символьную (строковую)

10 (edited by karim 2018-09-12 10:48:40)

Re: Экзаменационная программа

Спасибо.
1. А чем отличается А от Б?
А. SQLExecute('INSERT INTO exam (id_students, id_questions, id_answers) VALUES (' + IntToStr(Form1.ComboBox6.dbitemid) + ', ' + IntToStr(Form1.ComboBox1.dbitemid) + ', '  + IntToStr(Form1.ComboBox1.dbitemid) + ')');
Б. SQLExecute('INSERT INTO exam (id_students, id_questions, id_answers) VALUES ('+Form1.ComboStudent.sqlValue+', '+Form1.ComboBox1.sqlValue+', '+Form1.ComboAnswer.sqlValue+')');

2. В прикрепленном файле имеется проект. Нажимаем начать тест, вводим имя и при входе в Form1  выдает ошибку List index out of bounds (1). В чем проблема не могу понять. Помогите.
Спасибо заранее.

Post's attachments

Attachment icon Examination 12.09.rar 12.62 kb, 341 downloads since 2018-09-12 

Re: Экзаменационная программа

karim wrote:


1. А чем отличается А от Б?

Правильней использовать sqlValue, так как в случае, когда в комбике не выбрано ни одно из значений, sqlValue будет равно null, а dbitemid равен -1, что при записи в базу данных приводит к ошибке контроля внешнего ключа.

Визуальное программирование: блог и телеграм-канал.

Re: Экзаменационная программа

karim wrote:

2. В прикрепленном файле имеется проект. Нажимаем начать тест, вводим имя и при входе в Form1  выдает ошибку List index out of bounds (1). В чем проблема не могу понять. Помогите.

Эта ошибка связана с использованием массивов.  Если у вас где-то используется массив в цикле, посмотрите внимательно начальное и конечное значение индекса массива.

Re: Экзаменационная программа

derek wrote:

Hello Ravshanmirzoyev,
С MVD всегда много разных способов.
Думаю, я бы сделал это так. Может быть, это поможет вам дать некоторые идеи.
Извините, но на английском
С Уважением,
Derek (с переводчиком google)

Ув. Derek. Спасибо вам за пример.
В вашем примере вопросы идут по порядке, т.е. в базе имеется например 10 вопросов и они идут с 1 по 10. А как сделать чтобы вопросы выпадали рандомно и не повторялись?
Спасибо за помощь.

Re: Экзаменационная программа

Всем привет. Довел до ума прогу про экзамен. Теперь надо чтобы на форме Base нажатии на кнопку SQL Report был отчет который находится в папке Report (bill.fr3). Т.е. при выборе студента в TableGrid2 вся информация показывается в TableGrid1 и данные TableGrid1 должны быть в отчете bill.fr3. Я набросал кое что но увы не получается. Помогите. Спасибо заранее.

Post's attachments

Attachment icon Exam 19.09.rar 75.12 kb, 344 downloads since 2018-09-19 

Re: Экзаменационная программа

karim wrote:

Всем привет. Довел до ума прогу про экзамен. Теперь надо чтобы на форме Base нажатии на кнопку SQL Report был отчет который находится в папке Report (bill.fr3). Т.е. при выборе студента в TableGrid2 вся информация показывается в TableGrid1 и данные TableGrid1 должны быть в отчете bill.fr3. Я набросал кое что но увы не получается. Помогите. Спасибо заранее.

Поправил.

Post's attachments

Attachment icon Exam 19.09_fixed.zip 100.15 kb, 362 downloads since 2018-09-19 

Dmitry.

Re: Экзаменационная программа

Спасибо Дмитрий.
Возникла еще одна проблема. Как вместо questions.number просто вставить нарастающий номер? Можете показать на исправленном вами проекте.

Re: Экзаменационная программа

Куда вставить? В гриде и в Отчете уже имееются колонки с нарастрающим номером.

Dmitry.

Re: Экзаменационная программа

Извините за беспокойствие, не заметил.

Re: Экзаменационная программа

Появилась другая проблема. На форме Base имеется Edit2 и Edit3, это соответственно количество правильных ответов и не правильных ответов выбранного студента. Теперь надо чтобы в репорте они появились. Я сделал кое что но увы не получается. Помогите пожалуйста.

Post's attachments

Attachment icon Exam 20.09 Final.rar 77.59 kb, 333 downloads since 2018-09-27 

Re: Экзаменационная программа

karim wrote:

Появилась другая проблема. На форме Base имеется Edit2 и Edit3, это соответственно количество правильных ответов и не правильных ответов выбранного студента. Теперь надо чтобы в репорте они появились. Я сделал кое что но увы не получается. Помогите пожалуйста.

Готово.

Post's attachments

Attachment icon Exam 20.09 Final_fixed.zip 104.04 kb, 346 downloads since 2018-09-28 

Dmitry.

Re: Экзаменационная программа

Спасибо большое Дмитрий.

22 (edited by karim 2018-09-29 14:14:45)

Re: Экзаменационная программа

Ув. Дмитрий. Как изменить цвет текста в чекбоксе при условии? Не получается. Помогите пожалуйста. Можете показать на примере исправленного вами проекта в посте 20?
На Form1 имеется Checkbox1, 2, 3 и 4. Вот на примере этого скрипта.

procedure Form1_CheckBox4_OnClick (Sender: TObject);
var
a: string;
begin
      if Form1.CheckBox4.Checked then
         begin
               Form1.Edit5.Value:= StrToInt(SQLExecute('Select id from answers where answer='''+Form1.ComboBox4.Text+''' and answers.id_questions='+IntToStr(Form1.ComboQuestion.dbItemID)));
               Form1.ComboAnswer.dbItemID:= StrToInt(Form1.Edit5.Text);
               a:= SQLExecute('select answer from answers where answers.id_questions='+IntToStr(Form1.ComboQuestion.dbItemID)+' and answers.correct = 1');

               if a = Form1.ComboBox4.Text then
                  begin
                        Form1.CheckBox4.Color:= clGreen;
                        Form1.Label1.Caption:= 'Правильно!';
                        Form1.Label1.Visible:= True;
                  end else
                  begin
                        Form1.CheckBox4.Color:= clRed;
                        Form1.Label1.Caption:= 'Не правильно!';
                        Form1.Label1.Visible:= True;
                  end;

               Form1.bPause.Click;
               SQLExecute('INSERT INTO exam (id_students, id_questions, id_answers) VALUES ('+Form1.ComboStudent.sqlValue+', '+Form1.ComboQuestion.sqlValue+', '+Form1.ComboAnswer.sqlValue+')');
               Form1.Button1.Click;
               Form1.bStart1.Click;
               Form1.GroupBox2.Enabled:= False;
         end;
end;                                         

Спасибо заранее.

Re: Экзаменационная программа

Hello Karim,
Вы можете изменить цвет флажка в WindowsXP - после этого он больше не поддерживается.
Вы можете использовать отдельную метку и поместить ее поверх надписи флажка, а затем сделать ее видимой / невидимой и красной / зеленой.
Возможно, проще изменить form1.label.color вместо этого (см. Приложение)
С Уважением,
Derek.
(с переводчиком google)

Post's attachments

Attachment icon Exam 20.09 Final.zip 439.56 kb, 358 downloads since 2018-09-29 

Re: Экзаменационная программа

Спасибо Derek за подсказку. У меня была такая идея, но я думал есть возможность изменения цвета комбо. Все равно спасибо.

Re: Экзаменационная программа

Hello Karim,
Прикреплены еще два способа достижения желаемого (или комбинации).
Это зависит от того, на что вы считаете, уделяет наибольшее внимание.
Regards,
Derek.

Post's attachments

Attachment icon exam.zip 882.3 kb, 385 downloads since 2018-09-30