0

このスクリプトを使用して、テキスト ボックスからのユーザー入力を 22 の正しい単語と比較しようとしています。のように複数のケースを探しているわけではないVICEのでADVICE、2つの値になります。等しい値のみを受け入れる文字列値が必要です

現時点では、最初の単語のみを認識し、TIED「見つかりました」というメッセージ ボックスを表示しますが、リスト内の他の単語は認識しません。

私はビジュアルベーシックスクリプトで書いています

Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
    Dim StrCorrect() As String = {"TIED", "VICE", "ICED", "DIVE", "DIET", "DATE", "CITE", "CAVE", "AIDE", "ACED", "CITED", "ACTED", "VACATE", "CATTIE", "ADVICE", "AVIATE", "ACTIVE", "VACATED", "DICTATE", "AVIATED", "ACTIVATE", "ACTIVATED"}
    Dim Find As String = userinput
    For Each Str As String In StrCorrect
        If StrComp(Str, userinput, CompareMethod.Text).ToString = 0 Then
            MsgBox("Found" & userinput)
            Return
        Else : MsgBox("incorrect word")
            Return
        End If
    Next
End Sub
4

4 に答える 4

0

なぜSTRCOMPですか?完全一致が必要な場合は、直接比較してみませんか?

    For Each Str As String In StrCorrect
        If Str = Find Then
            MessageBox.Show("Found :" & Str)
        End If
    Next
于 2013-04-25T15:39:45.807 に答える
0

forループを使用します

For i As Integer = 0 To StrCorrect.Length - 1
        If StrCorrect(i) = Find Then
            MsgBox("Found" & Find)
            Return
        'End if

        'The else statement simply alerting that it didnt find the right word on this iteration
        'The else can be removed if you dont want this alert
        Else
            MsgBox("incorrect word")
            'Return
        End If
Next
于 2013-04-25T15:40:17.140 に答える