Пропущенный вопрос перенести в конец теста - VB
Формулировка задачи:
Я занимаюсь проектом по созданию тестирующей программы, состоящей из 14 вопросов т.е. 14 форм, и у меня вопрос, я хочу ввести кнопку на каждой форме " пропустить вопрос" и мне бы хотелось чтобы при нажатии этой кнопки пропущенный вопрос переходил в конец теста, я думал над созданием массива форм, но как реализовать это - не знаю, если у кого есть мысли, поделитесь, пожалуйста, заранее спасибо
Решение задачи: «Пропущенный вопрос перенести в конец теста»
textual
Листинг программы
Option Explicit Const r = 90 Dim WithEvents Lb As Label Dim WithEvents cb1 As CommandButton, WithEvents cb2 As CommandButton, WithEvents cb3 As CommandButton Dim i&, ii&, nn&, a$(), aa$() Private Sub cb3_Click() 'Новый массив с вопросами (Сброс) aa = Split("1 2 3 4 5 6 7 8 9 10") ii = 0: nn = 0 'Сброс индекса ответа и счетчика ответов Lb.Caption = "Вопрос " & aa(ii) End Sub Private Sub cb2_Click() 'Перемещение неотвеченного вопроса в конец массива (пропуск) Dim s$, n& a = aa For i = 0 To UBound(aa) If i <> ii Then a(n) = aa(i): n = n + 1 End If Next a(n) = aa(ii) aa = a: nn = 0 'Сброс счётчика ответов Lb.Caption = "Вопрос " & aa(ii) End Sub Private Sub cb1_Click() 'Режим ответов If MsgBox("Это был правильный ответ ?", 68) = vbNo Then cb2_Click Exit Sub End If ii = (ii + 1) Mod 10 nn = nn + 1 If nn = 10 Then MsgBox "Поздравляю, вы ответили на все вопросы", 64 End 'конец программы End If Lb.Caption = "Вопрос " & aa(ii) End Sub Private Sub Form_Load() Set Lb = Controls.Add("vb.Label", "Lb"): With Lb .Move r, r .Visible = 1 End With Set cb1 = Controls.Add("vb.CommandButton", "cb1"): With cb1 .Move r, Lb.Height + r .Caption = "Ответить" .Visible = 1 End With Set cb2 = Controls.Add("vb.CommandButton", "cb2"): With cb2 .Move r * 2 + cb1.Width, Lb.Height + r .Caption = "Пропустить" .Visible = 1 End With Set cb3 = Controls.Add("vb.CommandButton", "cb3"): With cb3 .Move r * 2 + cb1.Width * 2, Lb.Height + r .Caption = "Сброс" .Visible = 1 End With cb3_Click End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д