Wie kann man diese 2 Codebeispiele SINNVOLL abkürzen UND eine wichtige frage(in meinem 2. post)

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Turtle10.

    Wie kann man diese 2 Codebeispiele SINNVOLL abkürzen UND eine wichtige frage(in meinem 2. post)

    Hey Leute,
    Meine Frage steht im Thema (der Code ist ein Ausschnitt aus einem Vokabeltrainer^^)
    Beispiel 1: :P
    Spoiler anzeigen

    VB.NET-Quellcode

    1. '1
    2. If TextBox10.Text = "sort" Then
    3. CheckBox1.Checked = True
    4. CheckBox1.ForeColor = Color.Green
    5. CheckBox1.Text = "Richtig"
    6. Else
    7. CheckBox1.ForeColor = Color.Red
    8. CheckBox1.Text = "Falsch"
    9. End If
    10. '2
    11. If TextBox9.Text = "to walk" Then
    12. CheckBox2.Checked = True
    13. CheckBox2.ForeColor = Color.Green
    14. CheckBox2.Text = "Richtig"
    15. Else
    16. CheckBox2.ForeColor = Color.Red
    17. CheckBox2.Text = "Falsch"
    18. End If
    19. '3
    20. If TextBox8.Text = "to clear the table" Then
    21. CheckBox3.Checked = True
    22. CheckBox3.ForeColor = Color.Green
    23. CheckBox3.Text = "Richtig"
    24. Else
    25. CheckBox3.ForeColor = Color.Red
    26. CheckBox3.Text = "Falsch"
    27. End If
    28. '4
    29. If TextBox7.Text = "to complain" Then
    30. CheckBox4.Checked = True
    31. CheckBox4.ForeColor = Color.Green
    32. CheckBox4.Text = "Richtig"
    33. Else
    34. CheckBox4.ForeColor = Color.Red
    35. CheckBox4.Text = "Falsch"
    36. End If
    37. '5
    38. If TextBox5.Text = "to tuck in" Then
    39. CheckBox5.Checked = True
    40. CheckBox5.ForeColor = Color.Green
    41. CheckBox5.Text = "Richtig"
    42. Else
    43. CheckBox5.ForeColor = Color.Red
    44. CheckBox5.Text = "Falsch"
    45. End If
    46. '6
    47. If TextBox15.Text = "simple" Then
    48. CheckBox10.Checked = True
    49. CheckBox10.ForeColor = Color.Green
    50. CheckBox10.Text = "Richtig"
    51. Else
    52. CheckBox10.ForeColor = Color.Red
    53. CheckBox10.Text = "Falsch"
    54. End If
    55. '7
    56. If TextBox14.Text = "I don't care" Then
    57. CheckBox9.Checked = True
    58. CheckBox9.ForeColor = Color.Green
    59. CheckBox9.Text = "Richtig"
    60. Else
    61. CheckBox9.ForeColor = Color.Red
    62. CheckBox9.Text = "Falsch"
    63. End If
    64. '8
    65. If TextBox13.Text = "for once" Then
    66. CheckBox8.Checked = True
    67. CheckBox8.ForeColor = Color.Green
    68. CheckBox8.Text = "Richtig"
    69. Else
    70. CheckBox8.ForeColor = Color.Red
    71. CheckBox8.Text = "Falsch"
    72. End If
    73. '9
    74. If TextBox12.Text = "guilt" Then
    75. CheckBox7.Checked = True
    76. CheckBox7.ForeColor = Color.Green
    77. CheckBox7.Text = "Richtig"
    78. Else
    79. CheckBox7.ForeColor = Color.Red
    80. CheckBox7.Text = "Falsch"
    81. End If
    82. '10
    83. If TextBox11.Text = "to feel bad" Then
    84. CheckBox6.Checked = True
    85. CheckBox6.ForeColor = Color.Green
    86. CheckBox6.Text = "Richtig"
    87. Else
    88. CheckBox6.ForeColor = Color.Red
    89. CheckBox6.Text = "Falsch"
    90. End If
    91. '11
    92. If TextBox25.Text = "guilty" Then
    93. CheckBox15.Checked = True
    94. CheckBox15.ForeColor = Color.Green
    95. CheckBox15.Text = "Richtig"
    96. Else
    97. CheckBox15.ForeColor = Color.Red
    98. CheckBox15.Text = "Falsch"
    99. End If
    100. '12
    101. If TextBox24.Text = "to yawn" Then
    102. CheckBox14.Checked = True
    103. CheckBox14.ForeColor = Color.Green
    104. CheckBox14.Text = "Richtig"
    105. Else
    106. CheckBox14.ForeColor = Color.Red
    107. CheckBox14.Text = "Falsch"
    108. End If
    109. '13
    110. If TextBox23.Text = "backside" Then
    111. CheckBox13.Checked = True
    112. CheckBox13.ForeColor = Color.Green
    113. CheckBox13.Text = "Richtig"
    114. Else
    115. CheckBox13.ForeColor = Color.Red
    116. CheckBox13.Text = "Falsch"
    117. End If
    118. '14
    119. If TextBox22.Text = "to chase" Then
    120. CheckBox12.Checked = True
    121. CheckBox12.ForeColor = Color.Green
    122. CheckBox12.Text = "Richtig"
    123. Else
    124. CheckBox12.ForeColor = Color.Red
    125. CheckBox12.Text = "Falsch"
    126. End If
    127. '15
    128. If TextBox21.Text = "to unzip" Then
    129. CheckBox11.Checked = True
    130. CheckBox11.ForeColor = Color.Green
    131. CheckBox11.Text = "Richtig"
    132. Else
    133. CheckBox11.ForeColor = Color.Red
    134. CheckBox11.Text = "Falsch"
    135. End If
    136. '16
    137. If TextBox35.Text = "to zip up" Then
    138. CheckBox20.Checked = True
    139. CheckBox20.ForeColor = Color.Green
    140. CheckBox20.Text = "Richtig"
    141. Else
    142. CheckBox20.ForeColor = Color.Red
    143. CheckBox20.Text = "Falsch"
    144. End If
    145. '17
    146. If TextBox34.Text = "to point to" Then
    147. CheckBox19.Checked = True
    148. CheckBox19.ForeColor = Color.Green
    149. CheckBox19.Text = "Richtig"
    150. Else
    151. CheckBox19.ForeColor = Color.Red
    152. CheckBox19.Text = "Falsch"
    153. End If
    154. '18
    155. If TextBox33.Text = "what a temper" Then
    156. CheckBox18.Checked = True
    157. CheckBox18.ForeColor = Color.Green
    158. CheckBox18.Text = "Richtig"
    159. Else
    160. CheckBox18.ForeColor = Color.Red
    161. CheckBox18.Text = "Falsch"
    162. End If
    163. '19
    164. If TextBox32.Text = "temper" Then
    165. CheckBox17.Checked = True
    166. CheckBox17.ForeColor = Color.Green
    167. CheckBox17.Text = "Richtig"
    168. Else
    169. CheckBox17.ForeColor = Color.Red
    170. CheckBox17.Text = "Falsch"
    171. End If
    172. '20
    173. If TextBox31.Text = "to be afraid of" Then
    174. CheckBox16.Checked = True
    175. CheckBox16.ForeColor = Color.Green
    176. CheckBox16.Text = "Richtig"
    177. Else
    178. CheckBox16.ForeColor = Color.Red
    179. CheckBox16.Text = "Falsch"
    180. End If


    Beispiel 2
    Spoiler anzeigen

    VB.NET-Quellcode

    1. TextBox5.Text = ""
    2. TextBox7.Text = ""
    3. TextBox8.Text = ""
    4. TextBox9.Text = ""
    5. TextBox10.Text = ""
    6. TextBox11.Text = ""
    7. TextBox12.Text = ""
    8. TextBox13.Text = ""
    9. TextBox14.Text = ""
    10. TextBox15.Text = ""
    11. TextBox21.Text = ""
    12. TextBox22.Text = ""
    13. TextBox23.Text = ""
    14. TextBox24.Text = ""
    15. TextBox25.Text = ""
    16. TextBox31.Text = ""
    17. TextBox32.Text = ""
    18. TextBox33.Text = ""
    19. TextBox34.Text = ""
    20. TextBox35.Text = ""
    21. CheckBox1.Checked = False
    22. CheckBox2.Checked = False
    23. CheckBox3.Checked = False
    24. CheckBox4.Checked = False
    25. CheckBox5.Checked = False
    26. CheckBox6.Checked = False
    27. CheckBox7.Checked = False
    28. CheckBox8.Checked = False
    29. CheckBox9.Checked = False
    30. CheckBox10.Checked = False
    31. CheckBox11.Checked = False
    32. CheckBox12.Checked = False
    33. CheckBox13.Checked = False
    34. CheckBox14.Checked = False
    35. CheckBox15.Checked = False
    36. CheckBox16.Checked = False
    37. CheckBox17.Checked = False
    38. CheckBox18.Checked = False
    39. CheckBox19.Checked = False
    40. CheckBox20.Checked = False
    41. CheckBox1.Text = ""
    42. CheckBox2.Text = ""
    43. CheckBox3.Text = ""
    44. CheckBox4.Text = ""
    45. CheckBox5.Text = ""
    46. CheckBox6.Text = ""
    47. CheckBox7.Text = ""
    48. CheckBox8.Text = ""
    49. CheckBox9.Text = ""
    50. CheckBox10.Text = ""
    51. CheckBox11.Text = ""
    52. CheckBox12.Text = ""
    53. CheckBox13.Text = ""
    54. CheckBox14.Text = ""
    55. CheckBox15.Text = ""
    56. CheckBox16.Text = ""
    57. CheckBox17.Text = ""
    58. CheckBox18.Text = ""
    59. CheckBox19.Text = ""
    60. CheckBox20.Text = ""


    //Edit: Bei Beispiel1 sollte man die "Textboxtexte" noch ändern können xD

    MFG Tobi

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „DJxTobi“ ()

    //edit Beispiel 2:

    VB.NET-Quellcode

    1. Dim s() As String = {"5", "7", "8", "9", "10", "11", "12", "13", "14", "15", "21", "22", "23", "24", "25", "31", "32", "33", "34", "35"}
    2. For i = 0 To (s.Length - 1)
    3. Me.Controls("TextBox" & s(i)).Text = ""
    4. Dim a As CheckBox = Me.Controls("CheckBox" & (i + 1))
    5. a.Checked = False
    6. a.Text = ""
    7. Next
    Wenn die TextBoxen und die Checkboxen schön sortiert sind, kannst du
    vielleicht eine Formel entwickeln, die dir sagt, welche Checkboxen von welchen
    Textboxen gesteuert werden.


    Das Array von Bluespide kannst du auch für den anderen Teil verwenden.
    du musst nur Arrays für alle Controls anlegen.

    Und dann kannst du sie so wie schon von Bluespide vorgeschlagen ansprechen.
    Oder so (für Checkboxen mit beliebigen Namen):

    VB.NET-Quellcode

    1. Dim numChecked As Integer = 0
    2. Dim numTotal As Integer = 0
    3. For Each c As Control In Me.Controls
    4. If TypeOf (c) Is CheckBox Then
    5. If CType(c, CheckBox).Checked Then
    6. numChecked += 1
    7. End If
    8. numTotal+=1
    9. End If
    10. Next
    11. Label1.Text=numChecked.ToString() & "Checkboxen sind aktiviert und " & (numTotal-numChecked).ToString() & "nicht."


    Das erfordert allerdings, dass die Controls alle direkt auf der Form liegen (und nicht beispielsweise auf Panels).

    MfG