Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
1

Программа "Тест": как показать следующий вопрос в том же окне

25.12.2011, 23:52. Показов 1718. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вообщем цель у меня такого рода... Нужно сделать тест. Всего 100 вопросов. Каждый вопрос появляется после ответа на предыдущий и нажатия кнопки "Следующий". Так вот, как сделать сам процесс появления следующего вопроса в том же окне?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2011, 23:52
Ответы с готовыми решениями:

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

программа тест, как показать не правильные ответы
как например чтобы в конце программы вывелись элементы массива те на которые ответил не правильно ?...

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

Как по нажатию кнопки в открытом новом окне сделать рефреш в том окне откуда оно было открыто?
Открываю скриптом новое окно. Как по нажатию кнопки в открытом новом окне сделать рефреш в том...

7
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
26.12.2011, 00:22 2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim i As Integer 'текущий вопрос
Dim question(99) As String 'массив вопросов
Private Sub Form_Load()
i = 0
question(0) = "Вопрос 1"
'...
End Sub
Private Sub Command1_Click()
'... обработка предыдущего ответа
label1 = question(i)
i = i + 1
If i > 99 Then
'обработка всех результатов
End If
End Sub
0
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
26.12.2011, 00:45  [ТС] 3
Что то подзабыл я массивы....
Код вопроса у меня такой(самих вопросов и вариантов ответа нет ещё):
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
Public Sub Command1_Click()
If Check1 = 1 Then
Text1 = "no"
Else
Text1 = "YES"
End If
If Check2 = 1 Then
Text2 = "no"
Else
Text2 = "YES"
End If
If Check3 = 1 Then
Text3 = "no"
Else
Text3 = "YES"
End If
If Check4 = 1 Then
Text4 = "no"
Else
Text4 = "YES"
End If
If Check5 = 1 Then
Text5 = "no"
Else
Text5 = "YES"
End If
If Check6 = 1 Then
Text6 = "no"
Else
Text6 = "YES"
End If
End Sub
Как правильно создать массив с вопросами? Покажите пожалуйста на примере 2-ух вопросов, ато я что то уже пол часа никак не пойму...
0
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
26.12.2011, 00:49 4
К сожалению это не код вопроса, копипаст из соседней темы.
В каком виде должны быть ответы? (выбор из нескольких вариантов)
0
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
26.12.2011, 00:59  [ТС] 5
Ну да... ту тему тож я создавал... Правильные варианты будут вычисляться по этому алгоритму....
Ответы выбором из нескольких вариантов (их я уже делаю)
Я вот о чём, к примеру мне надо чтоб текстбокс1 содержал вопрос №1... Делаем массив от 0 до 99, а далее как построить список вопросов, чтобы потом в зависимости от числа в массиве доставать нужный? Там в каждую строку надо писать вопрос и вызывать его по номеру строки или по другому?
0
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
26.12.2011, 01:11 6
На форме 5 OptionButton (Option1) в виде массива, надпись для вопросов (Label1), и кнопка подтверждения(Command1).
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
Dim i As Integer
Dim question(99) As String 
Dim answer_num(99) As Integer 'колво ответов
Dim answer(99, 4) As String  'мах 5 вариантов ответов
Dim answer_right(99) As Integer 'правильный
Dim right(99) As Integer
 
Private Sub Form_Load()
i = 0
question(0) = "Вопрос  1"
answer_num(0) = 3
answer(0, 0) = "Ответ 1 - 1"
answer(0, 1) = "Ответ  1 - 2"
answer(0, 2) = "Ответ 1 - 3"
answer_right(0) = 1
question(1) = "Вопрос 2"
answer_num(1) = 4
answer(1, 0) = "Ответ  2 - 1"
answer(1, 1) = "Ответ  2 - 2"
answer(1, 2) = "Ответ  2 - 3"
answer(1, 3) = "Ответ  2 - 4"
answer_right(0) = 0
'и тд
 
label1 = question(0)
For j = 0 To 4
    If j < answer_num(0) Then
        Option1(j).Caption = answer(0, j)
        Option1(j).Visible = True
    Else
        Option1(j).Visible = False
    End If
Next
End Sub
 
Private Sub Command1_Click()
right(i) = IIf(Option1(answer_right(i)) = True, 1, 0)
 
label1 = question(i)
For j = 0 To 4
    If j < answer_num(i) Then
        Option1(j).Caption = answer(i, j)
        Option1(j).Visible = True
    Else
        Option1(j).Visible = False
    End If
Next
i = i + 1
 
If i > 99 Then
    Sum = 0
    For j = 0 To 99
        Sum = Sum + right(j)
    Next
    MsgBox "Правильно " & Sum & " ответов"
End If
End Sub
1
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
26.12.2011, 04:03  [ТС] 7
Спасибо)... Пойду теперь разбираться с ним))

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
Private Sub Form_Load()
q01 = "Какое наименование конституция РФ устанавливает для нашего Отечества?"
q02 = "Равнозначны ли по своему содержанию курсы *Конституционное право* и *Государственное право*?"
a01a = "Федерация народов России"
a01b = "Русская Федерация"
a01c = "Российская Федерация"
a01d = "Россия"
a02a = "Да"
a02b = "Нет"
'и так далее....
Text5 = q01
Text6 = a01a
Text7 = a01b
Text8 = a01c
Text9 = a01d
End Sub
 
 
Public Sub Command1_Click()
If Check1 = 1 Then
Text1 = "Неправильно"
Else
Text1 = "--"
End If
If Check2 = 1 Then
Text2 = "Неправильно"
Else
Text2 = "--"
End If
If Check3 = 1 Then
Text3 = "Верно"
Else
Text3 = "Неправильно"
End If
If Check4 = 1 Then
Text4 = "Верно"
Else
Text4 = "Неправильно"
End If
End Sub
Дописал наконец то.... Как теперь мне сделать, чтоб при нажатии БУТТОН2 все строки очищались и процесс начинался сначала?

И ещё.... Почему не работает этот алгоритм?
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
w2w = "sfdgsdfhg"
a = 2
e = "w" + LTrim(Str(a) + "w")
Text1 = e
End Sub
В текст1 должно выводится содержимое переменной ("sfdgsdfhg"), а вместо этого выводится она сама... Я впринципе понимаю почему так(типо переменная и строковый параметр не совпадают), но как исправить это не знаю....
0
Эксперт Hardware
3199 / 1910 / 323
Регистрация: 25.10.2011
Сообщений: 5,557
26.12.2011, 12:07 8
По алгоритму все правильно.
В e получаешь "w2w".
Или хочешь обратиться к переменной с таким именем. Не уверен, что на vb такое можно.
Для чего?
Чтобы не составлять имена переменных есть массивы, где индекс массива меняется как задашь, и выдает нужное значение.

А чем мой вариант не подошел?
Заполни список вопросов ответов и все)
0
26.12.2011, 12:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2011, 12:07
Помогаю со студенческими работами здесь

В окне показать обратный отсчет времени и при достижении 0 показать рисунок взрыва
Ребята,помогите пожалуйста )) на javascript :)

Как обновить информацию в том же окне
на страницке имеется некоторая информация в виде вопроса и нескольких вариантов ответов, а также...

Как показать виджет в другом окне
знаю что как то можно засунуть все обЪекты виджета в другое окно . как это можно сделать

Как показать в окне код XML?
Имеется код XML, как его отобразить в браузере без обработки? Т.е. просто кодом, как например на...

WebBrowser как открыть ссылку в том же окне
Кликакю в веб браузере на ссылки они открываются не в программе а в окне IE как сделать так что б...

Как вывести php запрос в том же окне
к примеру есть html форма &lt;INPUT type=submit name=&quot;reset&quot; value=&quot; РАСЧЕТ &quot;&gt; Есть test.php...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru