Отворите нови Висуал Басиц пројекат. Додајте две ознаке, три радио дугмета и две контроле дугмади у образац. Превуците две ознаке на врх са Лабел1 на врху Лабел2. Превуците РадиоБуттон1, РадиоБуттон2 и РадиоБуттон3 да се поређају вертикално испод ознака. Превуците два дугмета испод радио дугмади са дугметом 1 на левој страни и дугметом 2 са десне стране.
Прва линија ствара дводимензионални низ. Прва димензија је за свако питање, а друга димензија је за само питање, три избора одговора и тачан одговор. Други ред креира низ за чување одговора корисника. Трећи ред креира променљиву бројача која прати питање на коме се корисник налази.
Привате Суб ГетКуестионс() куестионс = Нев Стринг(,) {{"Колико је боја у дуги?", "5", "6", "7", "7"}, {"Ко је глумио у Пиратима са Кариба?", "Јохнни Депп", "Јохн Малковицх", "Јохн Цусацк", "Јохнни Депп"}, {"Који је главни град Флориде?", "Мајами", "Талахаси", "Џексонвил", "Талахаси"}} Енд Суб
Овај потпрограм једноставно иницијализује три питања и одговоре у низу питања. Можете додати додатна питања или их добити на друге начине, на пример путем текстуалне датотеке, али ако урадите, не заборавите да промените величину низа питања и одговора да бисте прилагодили број питања.
Привате Суб МаркТест() Дим граде Ас Интегер = 0 За и = 0 до 2 Ако су одговори (и) = питања (и, 4) Онда оцена += 1 Енд Иф Нект Лабел1.Тект = "Тест је завршен!" Лабел2.Тект = "Освојили сте " & оценили & " од " & одговори. Дужина & "!" РадиоБуттон1.Енаблед = Фалсе РадиоБуттон2.Енаблед = Фалсе РадиоБуттон3.Енаблед = Фалсе Буттон1.Енаблед = Фалсе Буттон2.Енаблед = Фалсе Енд Суб
Први ред декларише потпрограм који обележава тест. Он креира локалну варијаблу за бројање резултата, а затим се креће кроз одговоре у низу питања и одговоре које је корисник доставио. За сваки одговор који се подудара, оцена се повећава за један. Затим приказује резултат у ознакама и онемогућава остале контроле.
ја. Тект = "Мој квиз вишеструких избора!" ГетКуестионс() куесНум = 1 Лабел1.Тект = "Питање " & куесНум & " од " & одговори. Дужина Лабел2.Тект = питања (0, 0) Буттон1.Тект = "Претходно" Буттон2.Тект = "Следеће" РадиоБуттон1.Тект = питања (0, 1) РадиоБуттон2.Тект = питања (0, 2) РадиоБуттон3.Тект = питања (0, 3)
Први ред поставља наслов у насловној траци. Следећи ред позива потпрограм ГетКуестионс(). Трећи ред иницијализује променљиву бројача питања. Четврти ред приказује на ком броју питања се корисник налази. Пети ред приказује прво питање у етикети. Шести и седми ред мењају текст за два дугмета. Последња три реда убацују три одговора са вишеструким избором као текст за три радио дугмета.
Ако је куесНум > 1 Онда куесНум -= 1 Лабел1.Тект = "Питање " & куесНум & " од 3" Лабел2.Тект = питања (КуесНум - 1, 0) РадиоБуттон1.Тект = питања (КуесНум - 1, 1) РадиоБуттон2.Тект = питања (куесНум - 1, 2) РадиоБуттон3.Тект = питања (куесНум - 1, 3) Иф Буттон2.Тект = "Субмит" Тхен Буттон2.Тект = "Нект" Енд Иф Енд Иф
Ово је код за дугме "Претходно". Прво проверава да ли је корисник притиснуо дугме док је већ био на првом питању. Ако није, смањује бројач питања за један и ажурира текст за ознаке и радио дугмад како би се приказало претходно питање. Ако је корисник био на последњем питању, текст на Буттон2 се мења из „Пошаљи“ назад у „Следеће“.
Ако РадиоБуттон1.Цхецкед = Тачно Тада одговори (КуесНум - 1) = РадиоБуттон1.Тект ЕлсеИф РадиоБуттон2.Цхецкед = Тачно Тада одговори (КуесНум - 1) = РадиоБуттон2.Тект ЕлсеИф РадиоБуттон3.Цхецкед = Тачно Тада одговори (куесНум - 1) = РадиоБуттон3.Тект Енд Иф РадиоБуттон1.Фоцус() Ако је куесНум < 3 Онда куесНум += 1 Лабел1.Тект = "Питање " & куесНум & " од " & одговори. Ленгтх Лабел2.Тект = питања (КуесНум - 1, 0) РадиоБуттон1.Тект = Питања (КуесНум - 1, 1) РадиоБуттон2.Тект = Питања (куесНум - 1, 2) РадиоБуттон3.Тект = питања (куесНум - 1, 3) Ако је куесНум = 3 Онда Буттон2.Тект = "Пошаљи" Заврши ако је другачије МаркТест() Крај Ако
Ово је код за дугме „Даље“. Првих седам редова проверава да види које је радио дугме корисник изабрао, а затим тај одговор чува у низу одговора. Следећи ред фокусира избор радио дугмета на РадиоБуттон1. Следећи ред проверава да ли корисник није на последњем питању. Ако је ово тачно, повећава бројач питања за један и ажурира ознаке и радио дугмад да би се приказало следеће питање. Затим проверава да ли је корисник сада на последњем питању. Ако је тако, мења текст за дугме Даље из „Даље“ у „Пошаљи“. Ако је корисник већ био на последње питање и кликнули на „Пошаљи“, програм позива функцију „МаркТест“ да би добио резултат корисника.