2017-05-04 5 views
0

私はプログラミングの初心者です。だから私たちの宿題は、ユーザーが質問の答えを入力できるようにする20のテキストボックスを持つアプリケーションを作成することです。私は各質問に対して正解の配列を与えられています。したがって、割り当ては、ユーザーが各テキストボックスに正しい答えを入力したかどうかを確認することです(たとえば、textbox1の回答は配列に格納されているFIRST値と一致する必要があります)。また、ユーザーはA、B、C、またはDをテキストボックスに入力することしかできません。それ以外の場合はエラーを表示します。また、教師は結果を別の形で表示したいと考えています。だから私は多分今は4時間それをやろうとしていると私はすべて(手順、機能....)を試して何もまだ動作します。これまでのところ、私はこのコードを書いた:配列を使用して入力を検証し、VBアプリケーションの別の形式で出力を表示する方法

Public Class MainForm 
Public answers() As String = {"B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C", "C", "B", "D", "A"} 
Private Sub btnScore_Click(sender As Object, e As EventArgs) Handles btnScore.Click 
    If txt1.Text <> answers(0) Then 
     MessageBox.Show("Enter either A, B, C, or D") 
    Else 
     Dim frmResults As New ResultsForm 
     frmResults.Show() 
     frmResults.lstResults.Items.Add("The correct answer is " & answers(0) & ". Your answer is " & answers(0)) 
    End If 
End Sub 
End Class 

ので は誰がコードを書く方法の提案を持っています....私は入力の検証のための手順や機能を使用してみましたが、それらは「ブールに文字列を変換できません」の例外をスローこのアプリのために?ありがとう。

+0

まず:frmResults.Show()それ以外のブロックの最後の文でなければなりません。 2番目:どの行が例外をスローしますか? – muffi

+0

これらの特定の関数はどれも例外をスローしませんが、入力検証にこのような関数を使用しようとすると、プライベート関数InputValidation() MeBoxのTextBoxとして各txtとして txt.Text <> "A"またはtxtの場合。テキスト ">" B "またはtxt.Text"> "C"またはtxt.Text <> "D" Then MessageBox.ShowReturn False 終了場合 次へ Return True End Function '---------------例外をスローするために使用できません。 –

+0

エラーを投げる正確なコードを表示してください。 VSは例外がどこにあるか教えてください。 – Orangesandlemons

答えて

0

は、だから私は例外を除いて、問題を解決し、作品正しい入力検証機能を書いた:

Private Function InputValidation(ByVal input As String) As Boolean 
    'input validation function 
    If Not input = "A" Then 
     If Not input = "B" Then 
      If Not input = "C" Then 
       If Not input = "D" Then 
        MessageBox.Show("Enter either A, B, C, or D") 
        Return False 
       End If 
      End If 
     End If 
    End If 

    Return True 
End Function 
関連する問題