コンテンツ
多肢選択テストでは、各質問は質問自体とさまざまな回答から構成され、そのうち1つだけが正解です。質問を表示するためのラベルと可能な答えのためのラジオボタン、さらにさまざまな問題をナビゲートするためのボタンコントロールを使用して、Visual Basicで複数選択テストを作成できます。コードでは、配列を使用してユーザーから送信された質問と回答を保存し、ユーザーがいる質問がわかるようにカウンタ変数を保持します。テストの最後に、ユーザーの回答をマークして結果をフォームに表示します。
説明書
Visual Basicを使用して独自のQ&Aショーを作成する (Ok、Fotolia.comのipalによるイメージではありません)-
新しいVisual Basicプロジェクトを開きます。フォームに2つのラベル、3つのラジオボタン、および2つのボタンコントロールを追加します。 2つのラベルを上にドラッグし、Label1をLabel2の上にします。 RadioButton1、RadioButton2、およびRadioButton3をドラッグして、ラベルの下に垂直に配置します。 「ラジオ」ボタンの下にある2つのボタンを左にButton1、右にButton2でドラッグします。
-
F7キーを押してコードウィンドウを開きます。クラスレベルで次のコードを入力してください。
文字列としての質問(2、4)文字列としての回答(2)文字列としてのNimPergとしての整数
最初の行は二次元配列を作成します。最初のディメンションは各質問に使用され、2番目のディメンションは質問自体、3つの答えと正しい答えのために使用されます。 2行目は、ユーザーの応答を格納するための配列を作成します。 3番目のものは、ユーザーがどの質問に回答しているのかを決定するcount変数を作成します。
-
次のコードを入力してください。
Private Sub質問を取得する()質問=新しい文字列(、){{"虹の色はいくつですか?"、 "5"、 "6"、 "7"、 "7" {「パイレーツオブカリビアンで主演したのは誰ですか?」、「Johnny Depp」、「John Malkovich」、「John Cusack」、「Johnny Depp」 {「フロリダの首都は何ですか?」、「マイアミ」、「Tallahassee」、「Jacksonville」、「Tallahassee」}} End Sub
このサブルーチンは、単純に3つの質問と回答を質問配列に挿入します。さらに質問を入力したり、テキストファイルからインポートしたりすることもできますが、質問の数に合わせて質問と回答の配列のサイズを変更してください。
-
次のコードを入力してください。
Private Sub Evaluate Test()整数として0 = 0の場合i = 0〜2の場合答(i)=質問(i、4)次にscore = 1終了次の場合Label1.Text = "テストは終了しました!" Label2.Text = "あなたはヒット"& "&アンサー。長さ&&"グリッド& "質問! RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False Button1.Enabled = False Button2.Enabled = False End Sub
最初の行はテストを評価するサブルーチンを宣言しています。スコアを維持するためのローカル変数を作成してから、配列内の質問とユーザーから送信された回答をスキャンします。それが与えるそれぞれの答えのために、スコアは1つ上がります。最後に、それは句読点を示して、残りのコントロールを無効にします。
-
Form1_Load()ルーチンを開き、次のコードを入力します。
Me.Text = "私の多肢選択テスト!" GetPerFacts()NumPerg = 1 Label1.Text = "Question"&quesNum& "of"&Answers.Length Label2.Text = Questions(0、0)Button1.Text = "前" Button2.Text = "次" RadioButton1.Text = questions(0、1)RadioButton2.Text = questions(0、2)RadioButton3.Text = questions(0、3)
最初の行はタイトルバーのテキストを決定します。次にサブルーチンget Questions()が呼び出されます。 3番目は質問カウンターを初期化します。 4番目の質問は、ユーザーがどの質問にいるかを示しています。 5番目はラベルの最初の質問です。 6番目と7番目は2つのボタンのテキストを変更します。最後の3行は、3つのラジオボタンのテキストとして3つの選択肢を入力します。
-
Button1 Click()サブルーチンを開いて、次のコードを入力します。
numPerg> 1の場合numPerg - = 1 Label1.Text = "Question"&quesNum& "3" Label2.Text = Questions(numPerg - 1、0)RadioButton1.Text = Questions(numPerg - 1、1)RadioButton2.Text = questions(numPerg - 1、2)RadioButton3.Text = questions(numPerg - 1、3)Button2.Text = "Send"の場合Button2.Text = "Next"の場合End If
これは「前へ」ボタンのコードです。最初の質問でユーザーがボタンを押したかどうかを最初に確認します。そうでない場合は、1から質問カウンタを減算し、ラベルとラジオボタンのテキストを変更して前の質問を表示します。ユーザーが最後の質問に回答した場合、Button2のテキストは "Send"から "Next"に変わります。
-
Button2_Click()サブルーチンを開き、次のコードを入力します。
RadioButton1.Checked = Trueの場合それから返信(numPerg - 1)= RadioButton1.Text ElseIf RadioButton2.Checked = Trueそれから返信(numPerg - 1)= RadioButton2.Text ElseIf RadioButton3.Checked = Trueそしてそれから(numPerg - 1)= RadioBut RadioButton1.Focus()の場合は終了numPerg <3の場合はnumPerg + = 1 Label1.Text = "Question"&quesNum& "/"の長さLabel2.Text = Questions(numPerg - 1、0)RadioButton1.Text = (numPerg - 1、1)RadioButton2.Text = questions(numPerg - 1、2)RadioButton3.Text = questions(numPerg - 1、3)numPerg = 3の場合Button2.Text = "送信"そうでない場合EvaluateTest終了する場合
これは「次へ」ボタンのコードです。最初の7行は、ユーザーがどのラジオボタンを選択したかを確認し、回答を回答配列に保存します。次の行は、選択範囲のフォーカスをRadioButton1に変更します。次の行は、ユーザーが最後の質問に入っていないかどうかを確認します。そうでない場合、サブルーチンはcounter変数の値を1に増やし、ラジオラベルとボタンに次の質問の情報を入力します。そうであれば、それはテキストを「次へ」ボタンから「送信」に変える。ユーザがすでに最後の質問にいて「送信」をクリックした場合、プログラムはスコアを得るためにEvaluate Testサブルーチンを呼び出す。
-
VisualBasicプログラムを保存してください。実行するにはF5キーを押してください。