ユーザーに自分の星座と他の人のサインを選択させるプログラムを書いています。それが入ってきたら、記号を使用して互換性を測定したいと思います。その結果は、3 つのカテゴリに分類されます。ユーザーが両方の記号を選択でき、プログラムがそれらを吐き出して、ユーザーが選択したものをユーザーに伝えることができるようにプログラムを作成しました(このメッセージボックスは必要ありません。コードが働く)。私が問題を抱えているのは、「互換性」関数の作成と選択ケースの使用です。新しい変数を宣言する必要があるかどうか、またはそれらを公開した場合に機能するかどうかはわかりません。明らかに、私のコードが機能していないか、助けを求めるつもりはありません。選択したケースでは、これまで牡羊座用に 1 つしかありませんが、12 のサインすべてに対して行う必要があります。
新しいコードは次のとおりです。
パブリック クラス Form1
Public Sub btnBegin_Click(sender As Object, e As EventArgs) Handles btnBegin.Click
lblMySign.Visible = True
lblYourSign.Visible = True
cbMySign.Visible = True
cbYourSign.Visible = True
btnBegin.Visible = False
Dim MySign As String
Dim YourSign As String
MySign = cbMySign.Text
YourSign = cbYourSign.Text
Call Compatibility(Me.cbMySign.Text, Me.cbYourSign.Text)
End Sub
Public Sub cbMySign_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbMySign.SelectedIndexChanged
End Sub
Public Sub cbYourSign_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbYourSign.SelectedIndexChanged
'Dim MySign As String
'Dim YourSign As String
'MySign = cbMySign.Text
'YourSign = cbYourSign.Text
End Sub
Function Compatibility(cbMySign As String, cbYourSign As String) As String
Dim strCompat As String
Select Case cbMySign
Case "Aries"
Select Case cbYourSign
Case "Taurus", "Cancer", "Virgo", "Pisces"
strCompat = "NC"
Case "Gemini", "Libra", "Scorpio", "Capricorn", "Aquarius"
strCompat = "N"
Case "Aries", "Leo", "Sagittarius"
strCompat = "C"
End Select
End Select
If strCompat = "NC" Then
MsgBox("You're not compatible")
ElseIf strCompat = "N" Then
MsgBox("You're neutral")
Else
MsgBox("You're compatible")
End If
End Function
クラス終了