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

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

16.09.2012, 01:33. Показов 2682. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru