Sisu
Korduvvaliku testis koosneb iga küsimus ise küsimusest ja erinevatest vastustest, millest ainult üks on õige. Visual Basicis saate luua valikvastustega testi, kasutades etikette, et näidata küsimusi ja raadionuppe võimalike vastuste saamiseks, ning nuppude juhtimiseks, et navigeerida erinevate probleemide vahel. Kasutage koodis kasutajate saadetud küsimuste ja vastuste salvestamiseks massiive ning hoidke loenduri muutujat nii, et te teaksite, milline on kasutaja küsimus. Katse lõpus märgistage kasutaja vastused ja näidake vormi tulemus.
Juhised
Oma Visual Basic abil saate luua oma Q & A show (Ok, mitte ok pilt ipal poolt Fotolia.com)-
Avage uus Visual Basic projekt. Lisage vormile kaks märgist, kolm raadionuppu ja kaks nuppu. Lohistage kaks etiketti üles, Label1 peal Label2. Lohistage RadioButton1, RadioButton2 ja RadioButton3 ning joondage need vertikaalselt siltide all. Lohistage kaks nuppu nuppude "raadio" all vasakule ja Button2 paremale.
-
Koodiakna avamiseks vajutage klahvi F7. Sisestage klassi tasemel järgmine kood:
Dim küsimused (2, 4) String Dim vastused (2) String Dim NumPerg As Integer
Esimene rida loob kahemõõtmelise massiivi. Esimest mõõdet kasutatakse iga küsimuse puhul ja teine küsimus ise, kolm vastuse valikut ja õige vastus. Teine rida loob massiivi kasutajate vastuste salvestamiseks. Kolmas loob loenduse muutuja, mis annab kasutajale küsimuse.
-
Sisestage järgmine kood:
Private Sub Get Questions () küsimused = Uus string (,) {{"Kui palju värve on vikerkaar?", "5", "6", "7", "7" {"Kes mängis Kariibi mere piraatides?", "Johnny Depp", "John Malkovich", "John Cusack", "Johnny Depp" {"Mis on Florida pealinn?", "Miami", "Tallahassee", "Jacksonville", "Tallahassee"}} Lõpeta alam
See alamprogramm lisab lihtsalt kolm küsimust ja vastuseid küsimuses. Teil on võimalik sisestada rohkem küsimusi või isegi importida neid tekstifailist, kuid kindlasti muutke küsimuste ja vastuste massiivid, et kohandada küsimuste arvu.
-
Sisestage järgmine kood:
Private Sub Hindama testi () Dim puntuacao As Integer = 0 i = 0 kuni 2 Kui vastused (i) = küsimused (i, 4) Siis skoor = 1 Lõpp Kui järgmine Label1.Text = "Test on läbi!" Label2.Text = "Sa oled tabanud" & "& answer.Length & &" grid & "küsimused!" RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = Vale Button1.Enabled = Vale Button2.Enabled = False End Sub
Esimene rida deklareerib alamprogrammi, mis hindab testi. See loob kohaliku muutuja skoori säilitamiseks ja seejärel skaneerib selle massiivi küsimused ja kasutaja saadetud vastused. Iga vastuse kohta annab skoor 1. võrra. Lõpuks näitab see kirjavahemärke ja deaktiveerib ülejäänud juhtelemendid.
-
Avage Form1_Load () rutiin ja sisestage järgmine kood:
Me.Text = "Minu mitme valiku test!" GetPerFacts () NumPerg = 1 Label1.Text = "Küsimus" & quesNum & "of" & answer.Length Label2.Text = Küsimused (0, 0) Button1.Text = "Eelmine" Button2.Text = "Järgmine" RadioButton1.Text = küsimused (0, 1) RadioButton2.Text = küsimused (0, 2) RadioButton3.Text = küsimused (0, 3)
Esimene rida määrab pealkirjariba teksti. Järgmine kutsub alamprogrammi saama Küsimused (). Kolmas käivitab küsimuse loenduri. Neljas näitab, millises küsimuses kasutaja on. Viies näitab esimest küsimust märgisel. Kuues ja seitsmes muudavad kahe nupu teksti. Kolm viimast rida sisestavad kolme valiku kolmeks raadionupuks.
-
Avage alammenüü Button1_Click () ja sisestage järgmine kood
Kui numPerg> 1 Seejärel numPerg - = 1 Label1.Text = "Küsimus" & quesNum & "3" Label2.Text = Küsimused (numPerg - 1, 0) RadioButton1.Text = Küsimused (numPerg - 1, 1) RadioButton2.Text = küsimused (numPerg - 1, 2) RadioButton3.Text = küsimused (numPerg - 1, 3) Kui Button2.Text = "Saada", siis Button2.Text = "Järgmine" Lõpeta, kui lõpp
See on nupp "Eelmine". Kõigepealt kontrollitakse, kas kasutaja vajutas esimese küsimuse ajal nuppu. Vastasel juhul lahutab see küsimuse loenduri 1-st ja muudab eelmiste küsimuste näitamiseks märgiste ja raadionuppude teksti. Kui kasutaja oli viimases küsimuses, muutub Button2 tekst tekstist "Saada" "Järgmiseks".
-
Avage alammenüü Button2_Click () ja sisestage järgmine kood:
Kui RadioButton1.Checked = Tõsi siis vastused (numPerg - 1) = RadioButton1.Text ElseIf RadioButton2.Checked = Tõsi, siis vastused (numPerg - 1) = RadioButton2.Text ElseIf RadioButton3.Checked = Tõsi Siis vastab (numPerg - 1) = RadioButton3. Tekstipea Kui RadioButton1.Focus () Kui numPerg <3 Seejärel numPerg + = 1 Label1.Text = "Küsimus" & quesNum & "of" ja vastused.Pikkus Label2.Text = Küsimused (numPerg - 1, 0) RadioButton1.Text = (numPerg - 1, 1) RadioButton2.Text = küsimused (numPerg - 1, 2) RadioButton3.Text = küsimused (numPerg - 1, 3) Kui numPerg = 3 Seejärel Button2.Text = "Saada" lõpp Lõpeta kui
See on nupp "Järgmine". Esimesed seitse rida kontrollivad, millist raadionuppu kasutaja on valinud ja salvestanud vastuse vastuse massiivi. Järgmine rida muudab valiku fookust RadioButton1. Järgmine rida kontrollib, kas kasutaja ei ole viimases küsimuses. Kui see ei ole nii, siis alamprogramm suurendab loenduriväärtuse väärtust ühele ja täidab raadiomärgised ja nupud järgmise küsimuse teabega. Kui see on nii, muudab see nupu "Järgmine" tekstist "Saada". Kui kasutaja on juba viimases küsimuses ja klõpsanud "Saada", kutsub programm hindama testi alamprogrammi skoori saamiseks.
-
Salvesta oma VisualBasic programm. Vajuta F5 selle käivitamiseks.