the tag property is broken, what is the fix? Dim aryintCards(4, 14) As Integer D
ID: 3866414 • Letter: T
Question
the tag property is broken, what is the fix?
Dim aryintCards(4, 14) As Integer
Dim arychkCards(52) As CheckBox
Dim intCardsSelected As Integer = 0
Const conNOTHING As String = "Nothing"
Const conFLUSH As String = "Flush"
Const conSTRAIGHT As String = "Straight"
Const conANYSUIT As String = "Suit"
Const conFULLHOUSE As String = "Full House"
Const conFOUROFAKIND As String = "Four of A Kind"
Const conTHREEOFAKIND As String = "Three of A Kind"
Const conTWOPAIR As String = "Two Pair"
Const conONEPAIR As String = "One Pair"
Private Sub DoOnce()
arychkCards(1) = chkClubsAce
arychkCards(2) = chkClubs2
arychkCards(3) = chkClubs3
arychkCards(4) = chkClubs4
arychkCards(5) = chkClubs5
arychkCards(6) = chkClubs6
arychkCards(7) = chkClubs7
arychkCards(8) = chkClubs8
arychkCards(9) = chkClubs9
arychkCards(10) = chkClubs10
arychkCards(11) = chkClubsJack
arychkCards(12) = chkClubsQueen
arychkCards(13) = chkClubsKing
arychkCards(14) = chkDiamondsAce
arychkCards(15) = chkDiamonds2
arychkCards(16) = chkDiamonds3
arychkCards(17) = chkDiamonds4
arychkCards(18) = chkDiamonds5
arychkCards(19) = chkDiamonds6
arychkCards(20) = chkDiamonds7
arychkCards(21) = chkDiamonds8
arychkCards(22) = chkDiamonds9
arychkCards(23) = chkDiamonds10
arychkCards(24) = chkDiamondsJack
arychkCards(25) = chkDiamondsQueen
arychkCards(26) = chkDiamondsKing
arychkCards(27) = chkHeartsAce
arychkCards(28) = chkHearts2
arychkCards(29) = chkHearts3
arychkCards(30) = chkHearts4
arychkCards(31) = chkHearts5
arychkCards(32) = chkHearts6
arychkCards(33) = chkHearts7
arychkCards(34) = chkHearts8
arychkCards(35) = chkHearts9
arychkCards(36) = chkHearts10
arychkCards(37) = chkHeartsJack
arychkCards(38) = chkHeartsQueen
arychkCards(39) = chkHeartsKing
arychkCards(40) = chkSpadesAce
arychkCards(41) = chkSpades2
arychkCards(42) = chkSpades3
arychkCards(43) = chkSpades4
arychkCards(44) = chkSpades5
arychkCards(45) = chkSpades6
arychkCards(46) = chkSpades7
arychkCards(47) = chkSpades8
arychkCards(48) = chkSpades9
arychkCards(49) = chkSpades10
arychkCards(50) = chkSpadesJack
arychkCards(51) = chkSpadesQueen
arychkCards(52) = chkSpadesKing
End Sub
Private Sub Reset()
Dim i As Integer
For i = 1 To arychkCards.Count - 1
arychkCards(i).Checked = False
Next
ReDim aryintCards(4, 14)
intCardsSelected = 0
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
Call Reset()
End Sub
Private Sub btnCheckHand_Click(sender As Object, e As EventArgs) Handles btnCheckHand.Click
Dim i As Integer
Dim strRet As String
If intCardsSelected <> 5 Then
MsgBox("Must select 5 cards")
Exit Sub
End If
Call Do_Totals()
strRet = check_Flush()
If strRet <> conNOTHING Then
MsgBox(strRet)
Exit Sub
End If
MsgBox(conNOTHING)
End Sub
Private Sub Do_Totals()
Dim i, j As Integer
For i = 1 To 4
For j = 1 To 13
aryintCards(i, 0) += aryintCards(i, j)
Next
Next
For j = 0 To 13
For i = 1 To 4
aryintCards(0, j) = aryintCards(i, j)
Next
Next
For i = 0 To 4
aryintCards(i, 14) = aryintCards(i, 1)
Next
End Sub
Private Function check_Flush()
Dim i As Integer
Dim strRet As String = conNOTHING
Dim strTemp As String = ""
For i = 1 To 4
If aryintCards(i, 0) = 5 Then
strRet = conFLUSH
Return strRet
End If
Next
Return strRet
End Function
Private Sub chkAnyChkBox_CheckedChanged(sender As Object, e As EventArgs) Handles chkClubsAce.CheckedChanged, chkClubsKing.CheckedChanged, chkClubsQueen.CheckedChanged, chkClubsJack.CheckedChanged, chkClubs10.CheckedChanged, chkClubs9.CheckedChanged, chkClubs8.CheckedChanged, chkClubs7.CheckedChanged, chkClubs6.CheckedChanged, chkClubs5.CheckedChanged, chkClubs4.CheckedChanged, chkClubs3.CheckedChanged, chkClubs2.CheckedChanged,
chkDiamondsAce.CheckedChanged, chkDiamondsKing.CheckedChanged, chkDiamondsQueen.CheckedChanged, chkDiamondsJack.CheckedChanged, chkDiamonds10.CheckedChanged, chkDiamonds9.CheckedChanged, chkDiamonds8.CheckedChanged, chkDiamonds7.CheckedChanged, chkDiamonds6.CheckedChanged, chkDiamonds5.CheckedChanged, chkDiamonds4.CheckedChanged, chkDiamonds3.CheckedChanged, chkDiamonds2.CheckedChanged,
chkHeartsAce.CheckedChanged, chkHearts2.CheckedChanged, chkHearts3.CheckedChanged, chkHearts4.CheckedChanged, chkHearts5.CheckedChanged, chkHearts6.CheckedChanged, chkHearts7.CheckedChanged, chkHearts8.CheckedChanged, chkHearts9.CheckedChanged, chkHearts10.CheckedChanged, chkHeartsJack.CheckedChanged, chkHeartsQueen.CheckedChanged, chkHeartsKing.CheckedChanged,
chkSpadesAce.CheckedChanged, chkSpades2.CheckedChanged, chkSpades3.CheckedChanged, chkSpades4.CheckedChanged, chkSpades5.CheckedChanged, chkSpades6.CheckedChanged, chkSpades7.CheckedChanged, chkSpades8.CheckedChanged, chkSpades9.CheckedChanged, chkSpades10.CheckedChanged, chkSpadesJack.CheckedChanged, chkSpadesQueen.CheckedChanged, chkSpadesKing.CheckedChanged
'As check boxes are set = update the array
Dim arystrTemp() As String
Dim strTag As String
Dim i, j As Integer
Dim chkAny As CheckBox = sender
Static bolSkip As Boolean
'Check if program is invoking this vs the user
If bolSkip = True Then
bolSkip = False
Exit Sub
End If
'Decode the Tag property
strTag = chkAny.Tag
arystrTemp = strTag.Split(",")
i = CInt(arystrTemp(0))
j = CInt(arystrTemp(1))
If chkAny.Checked = True Then
'Set the array
If intCardsSelected = 5 Then
MsgBox("Already have 5 selected.")
bolSkip = True
chkAny.Checked = False
Exit Sub
Else
intCardsSelected += 1
aryintCards(i, j) = 1
End If
Else
'Unset the array
intCardsSelected -= 1
aryintCards(i, j) = 0
End If
End Sub
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Me.Close()
End Sub
End Clas
Explanation / Answer
Dim aryintCards(4, 14) As Integer
Dim arychkCards(52) As CheckBox
Dim intCardsSelected As Integer = 0
Const conNOTHING As String = "Nothing"
Const conFLUSH As String = "Flush"
Const conSTRAIGHT As String = "Straight"
Const conANYSUIT As String = "Suit"
Const conFULLHOUSE As String = "Full House"
Const conFOUROFAKIND As String = "Four of A Kind"
Const conTHREEOFAKIND As String = "Three of A Kind"
Const conTWOPAIR As String = "Two Pair"
Const conONEPAIR As String = "One Pair"
Private Sub DoOnce()
arychkCards(1) = chkClubsAce
arychkCards(2) = chkClubs2
arychkCards(3) = chkClubs3
arychkCards(4) = chkClubs4
arychkCards(5) = chkClubs5
arychkCards(6) = chkClubs6
arychkCards(7) = chkClubs7
arychkCards(8) = chkClubs8
arychkCards(9) = chkClubs9
arychkCards(10) = chkClubs10
arychkCards(11) = chkClubsJack
arychkCards(12) = chkClubsQueen
arychkCards(13) = chkClubsKing
arychkCards(14) = chkDiamondsAce
arychkCards(15) = chkDiamonds2
arychkCards(16) = chkDiamonds3
arychkCards(17) = chkDiamonds4
arychkCards(18) = chkDiamonds5
arychkCards(19) = chkDiamonds6
arychkCards(20) = chkDiamonds7
arychkCards(21) = chkDiamonds8
arychkCards(22) = chkDiamonds9
arychkCards(23) = chkDiamonds10
arychkCards(24) = chkDiamondsJack
arychkCards(25) = chkDiamondsQueen
arychkCards(26) = chkDiamondsKing
arychkCards(27) = chkHeartsAce
arychkCards(28) = chkHearts2
arychkCards(29) = chkHearts3
arychkCards(30) = chkHearts4
arychkCards(31) = chkHearts5
arychkCards(32) = chkHearts6
arychkCards(33) = chkHearts7
arychkCards(34) = chkHearts8
arychkCards(35) = chkHearts9
arychkCards(36) = chkHearts10
arychkCards(37) = chkHeartsJack
arychkCards(38) = chkHeartsQueen
arychkCards(39) = chkHeartsKing
arychkCards(40) = chkSpadesAce
arychkCards(41) = chkSpades2
arychkCards(42) = chkSpades3
arychkCards(43) = chkSpades4
arychkCards(44) = chkSpades5
arychkCards(45) = chkSpades6
arychkCards(46) = chkSpades7
arychkCards(47) = chkSpades8
arychkCards(48) = chkSpades9
arychkCards(49) = chkSpades10
arychkCards(50) = chkSpadesJack
arychkCards(51) = chkSpadesQueen
arychkCards(52) = chkSpadesKing
End Sub
Private Sub Reset()
Dim i As Integer
For i = 1 To arychkCards.Count - 1
arychkCards(i).Checked = False
Next
ReDim aryintCards(4, 14)
intCardsSelected = 0
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
Call Reset()
End Sub
Private Sub btnCheckHand_Click(sender As Object, e As EventArgs) Handles btnCheckHand.Click
Dim i As Integer
Dim strRet As String
If intCardsSelected <> 5 Then
MsgBox("Must select 5 cards")
Exit Sub
End If
Call Do_Totals()
strRet = check_Flush()
If strRet <> conNOTHING Then
MsgBox(strRet)
Exit Sub
End If
MsgBox(conNOTHING)
End Sub
Private Sub Do_Totals()
Dim i, j As Integer
For i = 1 To 4
For j = 1 To 13
aryintCards(i, 0) += aryintCards(i, j)
Next
Next
For j = 0 To 13
For i = 1 To 4
aryintCards(0, j) = aryintCards(i, j)
Next
Next
For i = 0 To 4
aryintCards(i, 14) = aryintCards(i, 1)
Next
End Sub
Private Function check_Flush()
Dim i As Integer
Dim strRet As String = conNOTHING
Dim strTemp As String = ""
For i = 1 To 4
If aryintCards(i, 0) = 5 Then
strRet = conFLUSH
Return strRet
End If
Next
Return strRet
End Function
Private Sub chkAnyChkBox_CheckedChanged(sender As Object, e As EventArgs) Handles chkClubsAce.CheckedChanged, chkClubsKing.CheckedChanged, chkClubsQueen.CheckedChanged, chkClubsJack.CheckedChanged, chkClubs10.CheckedChanged, chkClubs9.CheckedChanged, chkClubs8.CheckedChanged, chkClubs7.CheckedChanged, chkClubs6.CheckedChanged, chkClubs5.CheckedChanged, chkClubs4.CheckedChanged, chkClubs3.CheckedChanged, chkClubs2.CheckedChanged,
chkDiamondsAce.CheckedChanged, chkDiamondsKing.CheckedChanged, chkDiamondsQueen.CheckedChanged, chkDiamondsJack.CheckedChanged, chkDiamonds10.CheckedChanged, chkDiamonds9.CheckedChanged, chkDiamonds8.CheckedChanged, chkDiamonds7.CheckedChanged, chkDiamonds6.CheckedChanged, chkDiamonds5.CheckedChanged, chkDiamonds4.CheckedChanged, chkDiamonds3.CheckedChanged, chkDiamonds2.CheckedChanged,
chkHeartsAce.CheckedChanged, chkHearts2.CheckedChanged, chkHearts3.CheckedChanged, chkHearts4.CheckedChanged, chkHearts5.CheckedChanged, chkHearts6.CheckedChanged, chkHearts7.CheckedChanged, chkHearts8.CheckedChanged, chkHearts9.CheckedChanged, chkHearts10.CheckedChanged, chkHeartsJack.CheckedChanged, chkHeartsQueen.CheckedChanged, chkHeartsKing.CheckedChanged,
chkSpadesAce.CheckedChanged, chkSpades2.CheckedChanged, chkSpades3.CheckedChanged, chkSpades4.CheckedChanged, chkSpades5.CheckedChanged, chkSpades6.CheckedChanged, chkSpades7.CheckedChanged, chkSpades8.CheckedChanged, chkSpades9.CheckedChanged, chkSpades10.CheckedChanged, chkSpadesJack.CheckedChanged, chkSpadesQueen.CheckedChanged, chkSpadesKing.CheckedChanged
'As check boxes are set = update the array
Dim arystrTemp() As String
Dim strTag As String
Dim i, j As Integer
Dim chkAny As CheckBox = sender
Static bolSkip As Boolean
'Check if program is invoking this vs the user
If bolSkip = True Then
bolSkip = False
Exit Sub
End If
'Decode the Tag property
strTag = chkAny.Tag
arystrTemp = strTag.Split(",")
i = CInt(arystrTemp(0))
j = CInt(arystrTemp(1))
If chkAny.Checked = True Then
'Set the array
If intCardsSelected = 5 Then
MsgBox("Already have 5 selected.")
bolSkip = True
chkAny.Checked = False
Exit Sub
Else
intCardsSelected += 1
aryintCards(i, j) = 1
End If
Else
'Unset the array
intCardsSelected -= 1
aryintCards(i, j) = 0
End If
End Sub
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Me.Close()
End Sub
End Clas
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.