Vsebina
V testu z več izbirami je vsako vprašanje sestavljeno iz samega vprašanja in različnih odgovorov, od katerih je samo eno pravilno. V Visual Basicu lahko ustvarite preskus z več izbirami z oznakami za prikaz vprašanj in izbirnih gumbov za možne odgovore ter kontrolnike gumbov za krmarjenje po različnih vprašanjih. V kodi uporabite polja za shranjevanje vprašanj in odgovorov, ki jih je poslal uporabnik, in ohranite spremenljivko števca, tako da boste vedeli vprašanje, v katerem je uporabnik. Na koncu testa označite odzive uporabnika in na obrazcu prikažite rezultat.
Navodila
Uporabite Visual Basic za ustvarjanje lastne predstave Q & A (Ok, slika ni ok za ipal iz Fotolia.com)-
Odprite nov projekt Visual Basic. V obrazec dodajte dve nalepki, tri izbirne gumbe in dva gumba. Povlecite dve nalepki na vrh, z oznako Label1 na vrhu Label2. Povlecite RadioButton1, RadioButton2 in RadioButton3 in jih poravnajte navpično pod nalepkami. Povlecite dva gumba pod "radio" gumbi z Button1 na levi in Button2 na desni.
-
Pritisnite F7, da odprete okno s kodo. Vnesite naslednjo kodo na ravni razreda:
Dim vprašanja (2, 4) Kot niz nizkih odgovorov (2) Kot niz je NumPerg As Integer
Prva vrstica ustvari dvodimenzionalno polje. Za vsako vprašanje je uporabljena prva dimenzija, druga pa za samo vprašanje, tri izbire odgovora in pravilen odgovor. Druga vrstica ustvari polje za shranjevanje odzivov uporabnikov. Tretji ustvarja spremenljivko števca, ki podaja, na katero vprašanje je uporabnik.
-
Vnesite naslednjo kodo:
Private Sub Get Questions () questions = New String (,) {{"Koliko barv ima mavrica?", "5", "6", "7", "7" {"Kdo je igral v Pirati s Karibov?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp" {"Kaj je glavno mesto Floride?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}} End Sub
Ta podprogram preprosto vstavi tri vprašanja in odgovore v matriko vprašanj. Vnesete lahko več vprašanj ali jih celo uvozite iz besedilne datoteke, vendar se prepričajte, da spremenite velikost polja vprašanj in odgovorov, da prilagodite število vprašanj.
-
Vnesite naslednjo kodo:
Zasebna podcena Test () Dim puntuacao Kot Integer = 0 Za i = 0 do 2 Če odgovori (i) = vprašanja (i, 4) Torej rezultat = 1 Konec Če Naslednji Label1.Text = "Test je konec!" Label2.Text = "Vprašanja" & "& answers.Length & &" & hit "&" & & "& odgovori & #: & & #; RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = False Sub Sub
Prva vrstica označuje podprogram, ki ocenjuje preskus. Ustvari lokalno spremenljivko, da ohrani rezultat, nato pa preišče vprašanja v svojem nizu in odgovore, ki jih pošlje uporabnik. Za vsak odgovor, ki ga poda, se rezultat poveča za 1. Končno prikaže ločila in deaktivira ostale kontrole.
-
Odprite podprogram Form1_Load () in vnesite naslednjo kodo:
Me.Text = "Moj test za več izbir!" GetPerFacts () NumPerg = 1 Label1.Text = "Vprašanje" & quesNum & "of" & answers.Length2.Text = Vprašanja (0, 0) Button1.Text = "Previous" Button2.Text = "Next" RadioButton1.Text = vprašanja (0, 1) RadioButton2.Text = vprašanja (0, 2) RadioButton3.Text = vprašanja (0, 3)
Prva vrstica določa besedilo v naslovni vrstici. Naslednji klic podprograma dobi vprašanja (). Tretji inicializira števec vprašanj. Četrti prikazuje, v katerem vprašanju je uporabnik. V peti je prvo vprašanje na etiketi. Šesti in sedmi spremenita besedilo za dva gumba. Zadnje tri vrstice vnesejo tri izbire kot besedilo za tri radijske gumbe.
-
Odprite podprogram Button1_Click () in vnesite naslednjo kodo
Če numPerg> 1 Nato numPerg - = 1 Label1.Text = "Vprašanje" & quesNum & "3" Label2.Text = Vprašanja (numPerg - 1, 0) RadioButton1.Text = Vprašanja (numPerg - 1, 1) RadioButton2.Text = vprašanja (numPerg - 1, 2) RadioButton3.Text = vprašanja (numPerg - 1, 3) Če Button2.Text = "Pošlji" Potem Button2.Text = "Naprej" Konec Če se konča
To je koda za gumb "Prejšnji". Najprej preveri, ali je uporabnik med prvim vprašanjem pritisnil na gumb. Če ne, odšteje števec vprašanj od 1 in spremeni besedilo nalepk in izbirnih gumbov, da prikaže prejšnje vprašanje. Če je bil uporabnik v zadnjem vprašanju, se besedilo v Button2 spremeni iz "Send" v "Next".
-
Odprite podprogram Button2_Click () in vnesite naslednjo kodo:
Če RadioButton1.Checked = True nato odgovori (numPerg - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = True Potem odgovori (numPerg - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = True Potem odgovori (numPerg - 1) = RadioButton3. Konec besedila Če je RadioButton1.Focus () Če numPerg <3 Potem numPerg + = 1 Label1.Text = "Vprašanje" & quesNum & "of" & answers.Length2.Text = Vprašanja (numPerg - 1, 0) RadioButton1.Text = (numPerg - 1, 1) RadioButton2.Text = vprašanja (numPerg - 1, 2) RadioButton3.Text = vprašanja (numPerg - 1, 3) Če numPerg = 3 Potem Button2.Text = "Submit" End Če Else EvaluateTest End If
To je koda za gumb "Naprej". Prvih sedem vrstic preveri, kateri izbirni gumb je uporabnik izbral, in shrani odgovor v nizu odgovorov. Naslednja vrstica spremeni fokus izbire na RadioButton1. Naslednja vrstica preveri, ali uporabnik ni v zadnjem vprašanju. Če ni, podprogram poveča vrednost spremenljivke števca na eno in napolni radijske oznake in gumbe z informacijami v naslednjem vprašanju. Če je, spremeni besedilo iz gumba "Naprej" v "Pošlji". Če je uporabnik že v zadnjem vprašanju in je kliknil »Pošlji«, program pokliče podprogram »Evaluate Test«, da pridobi rezultat.
-
Shranite program VisualBasic. Pritisnite F5, da ga zaženete.