Starts With??

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von prophet.

    Starts With??

    Hallo Leute,
    ich programmiere ein kleines Stadt-Land-Fluss Spiel und habe ein Problem mit:

    Quellcode

    1. [code=vbnet]If stadt1tb.Text.StartsWith(buchstaben.ToString) Then
    2. '... Befehle
    3. End If
    [/code]
    Buchstaben ist in diesem Fall eine Funktion die die Buchstaben auslost und zurückgibt.
    Aber das Funktioniert immer nicht (also der macht einfach garnichts anstatt der Befehle)
    Was mache ich falsch?

    Danke im vorraus
    progglord

    Quellcode

    1. Private Sub tipp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tipp.Click
    2. If stadt1tb.Text.StartsWith(buchstaben.ToString) Then
    3. stadt3.Visible = True
    4. stadt4.Visible = True
    5. land3.Visible = True
    6. land4.Visible = True
    7. fluss3.Visible = True
    8. fluss4.Visible = True
    9. s2tb1.Visible = True
    10. s2tb2.Visible = True
    11. stadt1tb.Enabled = False
    12. stadt2.Enabled = False
    13. land1.Enabled = False
    14. land2.Enabled = False
    15. End If
    16. End Sub

    Quellcode

    1. Function buchstaben()
    2. Dim gen As New Random()
    3. Dim zz As Integer = gen.Next(1, 27)
    4. Dim buchstabe As String
    5. If zz = 1 Then
    6. buchstabe = "A"
    7. ElseIf zz = 2 Then
    8. buchstabe = "B"
    9. ElseIf zz = 3 Then
    10. buchstabe = "C"
    11. ElseIf zz = 4 Then
    12. buchstabe = "D"
    13. ElseIf zz = 5 Then
    14. buchstabe = "E"
    15. ElseIf zz = 6 Then
    16. buchstabe = "F"
    17. ElseIf zz = 7 Then
    18. buchstabe = "G"
    19. ElseIf zz = 8 Then
    20. buchstabe = "H"
    21. ElseIf zz = 9 Then
    22. buchstabe = "I"
    23. ElseIf zz = 10 Then
    24. buchstabe = "J"
    25. ElseIf zz = 11 Then
    26. buchstabe = "K"
    27. ElseIf zz = 12 Then
    28. buchstabe = "L"
    29. ElseIf zz = 13 Then
    30. buchstabe = "M"
    31. ElseIf zz = 14 Then
    32. buchstabe = "N"
    33. ElseIf zz = 15 Then
    34. buchstabe = "O"
    35. ElseIf zz = 16 Then
    36. buchstabe = "P"
    37. ElseIf zz = 17 Then
    38. buchstabe = "Q"
    39. ElseIf zz = 18 Then
    40. buchstabe = "R"
    41. ElseIf zz = 19 Then
    42. buchstabe = "S"
    43. ElseIf zz = 20 Then
    44. buchstabe = "T"
    45. ElseIf zz = 21 Then
    46. buchstabe = "U"
    47. ElseIf zz = 22 Then
    48. buchstabe = "V"
    49. ElseIf zz = 23 Then
    50. buchstabe = "W"
    51. ElseIf zz = 24 Then
    52. buchstabe = "X"
    53. ElseIf zz = 25 Then
    54. buchstabe = "Y"
    55. ElseIf zz = 26 Then
    56. buchstabe = "Z"
    57. End If
    58. bb.Text = buchstabe
    59. Return buchstabe
    60. End Function
    Das geht auch einfacher als 26 If-Abfragen

    VB.NET-Quellcode

    1. buchstabe = CHR(64 + zz)

    Aber das nur am Rande.

    Edit: gen.Next(1, 27), muss das nicht 1,26 heißen?
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Versuchs mal mit:

    Müsst den Namepsace

    VB.NET-Quellcode

    1. Import System.Text.RegularExpression


    importieren

    VB.NET-Quellcode

    1. If Regex.IsMatch(stadt1tb.Text, buchstabe) Then
    2. '... Befehle
    3. End If



    Gruß

    EDIT: SORRY ZU SPÄT GESEHEN DAS DER THREAD VON 2009 ist!!!!!!