Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157

Не переходить к следующему вопросу в тестах, пока не выбран OptionButton

16.09.2012, 01:33. Показов 2745. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья подскажите у меня есть программа с вопросами, вопросы показываются в OptionButton, при щелчке на кнопку с надписью далее вопросы меняются, но у меня проблема как сделать так чтоб пока пользователь не щелкнул по OptionButton следующий вопрос не появлялся на форме. А появлялось сообщение вы не ответили на вопрос. Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2012, 01:33
Ответы с готовыми решениями:

Переход к следующему вопросу в экспертной системе
Создаю экспертную систему в visual studuo. Нужен код, чтоб после ответа да или нет переключалось на следующий вопрос, а в конце исходя из...

Переход к следующему вопросу в программе тестирования
Прошу помощи так как уже устал, и просто не знаю что делать. Отрывок кода: procedure TForm4.Button1Click(Sender:...

Перейти к следующему вопросу в программе тестирования
Всем привет, есть форма,на ней 3 checkbox,1 label, 1 button. В лэйбле написан вопрос (тестирование) checkbox - 3 варианта ответа ...

15
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
16.09.2012, 06:59
Цитата Сообщение от Skriptik Посмотреть сообщение
у меня есть программа с вопросами
Покажи что есть, подскажем как исправить.
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
16.09.2012, 08:22
Цитата Сообщение от Skriptik Посмотреть сообщение
как сделать так чтоб пока пользователь не щелкнул по OptionButton следующий вопрос не появлялся на форме
Сделать недоступной кнопку "Следующий вопрос" до тех пор пока пользователь не выбрал ответ.
Типа так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Command1_Click() 'щелчок по кнопке  "Далее"
    '
    Command1.Enabled = False 'делаем кнопку "Далее" недоступной
    'тут твой код
    '
End Sub
 
' Обрабатывам именно это событие, а не Option1_Click(так боллее корректно будет работать)
Private Sub Option1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
     '
     Command1.Enabled = True 'разрешаем  кнопку "Далее"
     '
End Sub
0
Заблокирован
16.09.2012, 08:52
Цитата Сообщение от Skriptik Посмотреть сообщение
как сделать так чтоб пока пользователь не щелкнул по OptionButton следующий вопрос не появлялся на форме
Знакомо ли тебе такое понятие, что человек то есть тестируемый может пропустить вопрос и вернуться к нему позже, может он сложный для него, и после ответа на все вопросы он вернется именно к нему?

На форме поставь 4 Option с индексами от 0 до 3. Далее в кнопку следующий вопрос вставь код:

Visual Basic
1
2
3
If Option1(0).Value = False And Option1(1).Value = False And Option1(2).Value = False And Option1(3).Value = False Then
    MsgBox "Вы не ответили на вопрос!": Exit Sub
End If
Теперь, после проверки условий, когда покажет программа другие вопросы, перед этим ставь значение всех Option(Index).Value = False

Что-то типа такого:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Command1_Click()
If Option1(0).Value = False And Option1(1).Value = False And Option1(2).Value = False And Option1(3).Value = False Then
    MsgBox "Âû íå îòâåòèëè íà âîïðîñ!"
Else
    'Ïîêàçûâàåì òóò ñëåäóþùèå âîïðîñû
    Option1(0).Value = False
    Option1(1).Value = False
    Option1(2).Value = False
    Option1(3).Value = False
End If
End Sub
0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 10:50  [ТС]
Но у меня вопросы идут через Select Case
P
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
rivate Sub Command1_Click()
Command1.Caption = "Ïðîäîëæèòü òåñò"
i = i + 1
Select Case i
Case 1
Label1.Caption = "Ãëàâíûì óñòðîéñòâîì ïåðñîíàëüíîãî êîìïüþòåðà ÿâëÿåòñÿ?"
Option1.Caption = "1)Ìûø"
Option2.Caption = "2)Ïðîöåññîð"
Option3.Caption = "3)Æåñòêèé äèñê"
Option4.Caption = "4)ÏÇÓ"
Case 2
If Option2.Value = True Then
x = x + 1
c подсчетом правельных ответов. Вот как сделать чтоб через Case .
0
Заблокирован
16.09.2012, 10:53
Ну подставь значения под свои, я тебе пример написал!

Не по теме:

Вот из-за таких разработчиков, потом сбои в программах и падают ракеты и спутники. :D

0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 11:42  [ТС]
Нет пишет ошибку
0
Заблокирован
16.09.2012, 11:48
Выложи сюда твое "творение"!
0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 13:03  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Private Sub Command1_Click()
i = i + 1
Select Case i
Case 1
Label1.Caption = "Ãëàâíûì óñòðîéñòâîì ïåðñîíàëüíîãî êîìïüþòåðà ÿâëÿåòñÿ?"
Option1.Caption = "2)Âèí÷åñòåð"
Option2.Caption = "2)Ïðîöåññîð"
Option3.Caption = "3)Æåñòêèé äèñê"
Option4.Caption = "4)ÏÇÓ"
Case 2
If Option2.Value = True Then
x = x + 1
End If
Label1.Caption = "Ýíåðãîíåçàâèñèìûì óñòðîéñòâîì ïåðñîíàëüíîãî êîìïüþòåðà"
Option1.Caption = "1)ÎÇÓ "
Option2.Caption = "2)Ïðîöåññîð"
Option3.Caption = "  3)ÑD-ROM  "
Option4.Caption = "4)ÏÇÓ"
Case 3
If Option4.Value = True Then
x = x + 1
End If
Label1.Caption = "Ìàíèïóëÿòîð ìûøü ýòî óñòðîéñòâî"
Option1.Caption = "1)Âûâîäà"
Option2.Caption = "2)ââîäà  "
Option3.Caption = "3) Ñ÷èòûâàíèÿ èíôîðìàöèè   "
Option4.Caption = "4)Ñêàíèðîâàíèÿ"
Case 4
If Option2.Value = True Then
x = x + x + 1
End If
Label1.Caption = "Ê âíåøíèì çàïîìèíàþùèì óñòðîéñòâàì îòíîñÿòñÿ"
Option1.Caption = "1) Ïðîöåññîð "
Option2.Caption = "2) Ìîíèòîð"
Option3.Caption = "3) )Ïðèíòåð"
Option4.Caption = "4) Æåñòêèé äèñê"
Case 5
If Option4.Value = True Then
x = x + 1
End If
Label1.Caption = "Ïëîòòåð ýòî óñòðîéñòâî"
Option1.Caption = "1) äëÿ ñ÷èòûâàíèÿ ãðàôè÷åñêîé èíôîðìàöèè "
Option2.Caption = "2) äëÿ ââîäà"
Option3.Caption = "3)äëÿ âûâîäà "
Option4.Caption = "4)äëÿ ïå÷àòè"
Case 6
If Option1.Value = True Then
x = x + 1
End If
Label1.Caption = "×åìó ðàâåí 1 ãèãàáàéò ?"
Option1.Caption = "1)103 Ìáàéò"
Option2.Caption = "2)1000 Ìáàéò "
Option3.Caption = "3) 1000 000 Êáàéò"
Option4.Caption = "4) 210   ^10  Ìáàéò"
Case 7
If Option4.Value = True Then
x = x + 1
End If
If x = 5 Then
Command1.Caption = "Âûõîä"
Label1.Caption = "Âû ñïðàâèëèñü íàæìèòå âûõîä"
Form1.ForeColor = vbGreen
Label2.Caption = ""
End If
If x = 4 Then
Command1.Caption = "Âûõîä"
Label1.Caption = "Âû ñïðàâèëèñü, íà 3 íàæìèòå âûõîä"
Label1.ForeColor = vbRed
Label2.Caption = ""
ElseIf x < 4 Then
Label2.Caption = ""
Command1.Visible = True
Label1.Caption = "Âû íå ñïðàâèëèñü, õîòèòå ñíîâà, íàæìè ñíîâà, à çàòåì äàëüøå"
End If
Case 7
End
End Select
Label2.Caption = "Âàøà îöåíêà" & x
End Sub
 
Private Sub Command2_Click()
x = 0
i = 0
Command1.Caption = "Äàëüøå"
End Sub
 
 
Private Sub Form_Load()
Form2.Show
Form1.Hide
End Sub
0
Заблокирован
16.09.2012, 13:06
О Господи! Выложи сюда весь проект, я в многабукв не понимаю! Просто сожми его в архиве и выложи.
0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 15:06  [ТС]
Ты мне просто скажи как мне подставить в Select case Твой код

Добавлено через 44 секунды
Я сделал как ты показал но не получается выдает ошибку.

Добавлено через 8 минут
Весь проект у меня как показанно выше.
0
Заблокирован
16.09.2012, 15:10
1. Какая из 2 кнопок у тебя отвечает за функцию проверки ответа вопросов и перехода к другому, вот в нее ставь код:
Visual Basic
1
2
3
4
5
6
7
8
9
If Option1.Value = False And Option2.Value = False And Option3.Value = False And Option14.Value = False Then
    MsgBox "Вы не ответили на вопрос!"
Else
    'Показываем тут следующие вопросы
    Option1.Value = False
    Option2.Value = False
    Option3.Value = False
    Option4.Value = False
End If
Что сложного?

Если у тебя ошибка, покажи снимок или напиши, что в ошибке сообщается!

Ну включи ты немного соображалку! Тем более ты делаешь такой примитивный код для тестирования.
0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 15:37  [ТС]
Вот смотри, Эта кнопка у меня отвечает за функцию проверки ответов. Ну и куда мне вставить твой код.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Private Sub Command1_Click() 
i = i + 1
Select Case i
Case 1
Label1.Caption = "Главнм устройством персонального компьютера является?"
Option1.Caption = "2)Винчестер"
Option2.Caption = "2)Процессор"
Option3.Caption = "3)Жесткий диск"
Option4.Caption = "4)ПЗУ"
Case 2
If Option2.Value = True Then
x = x + 1
End If
Label1.Caption = "Энерго зависимым устройством персонального компьютера является?"
Option1.Caption = "1)ОЗУ "
Option2.Caption = "2)Процессор"
Option3.Caption = "  3)CD-ROM  "
Option4.Caption = "4)ПЗУ"
Case 3
If Option4.Value = True Then
x = x + 1
End If
Label1.Caption = "Манипулятор  мыш это устройство"
Option1.Caption = "1)Вывода"
Option2.Caption = "2)Ввода  "
Option3.Caption = "3) Считования информации  "
Option4.Caption = "4)Сканирования"
Case 4
If Option2.Value = True Then
x = x + 1
End If
Label1.Caption = "К внешним запоминающимся устройствам относятся"
Option1.Caption = "1) Жесткий диск "
Option2.Caption = "2) Процессор"
Option3.Caption = "3) )Монитор"
Option4.Caption = "4)Принтер"
Case 5
If Option1.Value = True Then
x = x + 1
End If
Label1.Caption = "Плоттер это устройство"
Option1.Caption = "1) Для считывания графической информации "
Option2.Caption = "2) Для ввода"
Option3.Caption = "3)Для вывода"
Option4.Caption = "4)Для печати"
Case 6
If Option1.Value = True Then
x = x + 1
End If
If x = 5 Then
Command1.Caption = "Выход"
Label1.Caption = "Вы справились нажмите выход"
Label2.Caption = ""
End If
If x = 4 Then
Command1.Caption = "Выход"
Label1.Caption = "Вы справились , на 3 нажмите выход"
Label1.ForeColor = vbRed
Label2.Caption = ""
ElseIf x < 4 Then
Label2.Caption = ""
Command1.Visible = True
Label1.Caption = "Вы не справились, хотите снова, нажмите снова, а затем дальше"
End If
Case 7
End
End Select
Label2.Caption = "Ваша оценка" & x
End Sub
 
 
 
Private Sub Command2_Click()
i = 0
x = 0
End Sub
Добавлено через 2 минуты
Вот практически всф программа без 2 форм. ну это ладно и куда мне подставить твой код в OptionButton я проставил индексы от 0 до 3 как ты показал но потом , куда бы я не подставил твой код, везде пишет ошибку.

Добавлено через 6 минут
Все разобрался . Просто не надо ни каких индексов проставлять . ты сказал что надо поставить индексы в OptionButton от 0 до 3 а это делать не надо вот поэтому и не получалось писало ошибку.
 Комментарий модератора 
Теги для этого кода VB. Выделяете Ваш код и нажимаете такую кнопку в редакторе
0
Заблокирован
16.09.2012, 15:38
Цитата Сообщение от Skriptik Посмотреть сообщение
Вот смотри, Эта кнопка у меня отвечает за функцию проверки ответов. Ну и
Все разобрался . Просто не надо ни каких индексов проставлять . ты сказал что надо поставить индексы в OptionButton от 0 до 3 а это делать не надо вот поэтому и не получалось писало ошибку.
Skriptik, я тебе пример приводил ты хоть читал, или искал готового решения? Я тебе сказал переделай под свой без индексов или добавь как у меня!
0
-26 / 6 / 1
Регистрация: 26.06.2011
Сообщений: 157
16.09.2012, 16:01  [ТС]
ну так дело в том что теперь у меня подсчет оценки на форму не выводится.

Добавлено через 11 минут
Да ты все правильно мне показал спасибо. Но теперь у меня подсчет оценок не выводится на форму.
 Комментарий модератора 
Для спасибо ещё есть кнопка под каждым полезным постом!
0
Заблокирован
16.09.2012, 16:10
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Skriptik Посмотреть сообщение
Да ты все правильно мне показал спасибо. Но теперь у меня подсчет оценок не выводится на форму.
Так ты проект свой правильно создавай, а не как попало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2012, 16:10
Помогаю со студенческими работами здесь

Создание теста. Переход к следующему вопросу
Подскажите, пожалуйста, как сделать: имеются вопросы и варианты ответа, которые читаются из текстового файла и выводятся в на...

Программа тест: осуществить переход к следующему вопросу с запоминанием ответа
Надо создать программу тест! в момент когда начинается тестирование,после выбора ответа при нажатии на &quot;далее&quot; надо перейти к...

Перейти к следующему вопросу только после того, как дан ответ на текущий
const TestName='Test_'; // имя файла теста max=1000; // максимальное количесво вопросов var Form1: TForm1; QuestionText:...

При нажатии стрелки вправо переходить к следующему кадру
Здравствуйте, такая проблема. На форме имеется picturebox, две кнопки и textbox. Первая кнопка открывает файл, вторая делает необходимые...

Программа для социальной сети, как переходить к следующему аккаунту
Доброго времени суток. Стоит задача написать программу для соц. сети Мой Мир Майл.ру. Суть программы - авторизоваться и принять все заяви в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru