Problem bei Quiz

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von TGenius.

    Problem bei Quiz

    Hallo Leute

    ich hab' da eine Frage zu folgendem Code.

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Dim quest As Integer = 1
    4. Dim sr As StreamReader = New StreamReader("Fragen.txt")
    5. Dim line As String
    6. Sub frage(ByVal frage As String, ByVal a1 As String, ByVal a2 As String, ByVal a3 As String, ByVal a4 As String, ByVal right As String)
    7. Label1.Text = frage
    8. ComboBox1.Items.Clear()
    9. ComboBox1.Items.Add(a1)
    10. ComboBox1.Items.Add(a2)
    11. ComboBox1.Items.Add(a3)
    12. ComboBox1.Items.Add(a4)
    13. End Sub
    14. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    15. For i As Integer = 1 To quest
    16. line = sr.ReadLine()
    17. Next
    18. Dim frag() As String = line.Split(",")
    19. frage(frag(0), frag(1), frag(2), frag(3), frag(4), frag(5))
    20. End Sub
    21. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    22. For i As Integer = 1 To quest
    23. line = sr.ReadLine()
    24. Next
    25. Dim frag() As String = line.Split(",")
    26. frage(frag(0), frag(1), frag(2), frag(3), frag(4), frag(5))
    27. If ComboBox1.Text = frag(5) Then
    28. MsgBox("Richtig!")
    29. quest += 1
    30. Else
    31. MessageBox.Show("Leider falsch! Du hast verloren!", "Verloren", MessageBoxButtons.OK, MessageBoxIcon.Error)
    32. End
    33. End If
    34. For i As Integer = 1 To quest
    35. line = sr.ReadLine()
    36. Next
    37. Dim fra() As String = line.Split(",")
    38. frage(frag(0), frag(1), frag(2), frag(3), frag(4), frag(5))
    39. End Sub
    40. End Class

    Er will einfach nicht funktionieren ?(
    Wieso?
    Bitte helft mir ;(
    Danke im Vorraus
    Gruß TGenius
    Hey,

    wahrscheinlich liegt es daran, dass du die Groß & Kleinschreibung nicht beachtest.


    Das kannst du mit String.Tolower bewerkstelligen.

    VB.NET-Quellcode

    1. If ComboBox1.Text.Tolower = frag(5).ToLower Then
    2. MessageBox.Show("Diese Antwort ist richtig!")
    3. quest += 1
    4. Else
    5. MessageBox.Show("Leider falsch!")
    6. End If
    Setz mal hier (Zeile 33)

    VB.NET-Quellcode

    1. If ComboBox1.Text = frag(5) Then


    einen Haltepunkt und sieh dir mal an was ComboBox1.Text ist und was frag(5) ist.

    Mfg
    Firestorm
    ASchreib mal Deinen Code etwas um, da kannst Du ihn besser warten:

    VB.NET-Quellcode

    1. Sub frage(ByVal a() As String)
    2. Label1.Text = a(0)
    3. ComboBox1.Items.Clear()
    4. ComboBox1.Items.Add(a(1))
    5. ComboBox1.Items.Add(a(2))
    6. ComboBox1.Items.Add(a(3))
    7. ComboBox1.Items.Add(a(4))
    8. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Setz da mal einen Haltepunkt rein (F9) und steppe den Code mit F10 Schritt für Schritt durch.
    Sieh Dir nach jedem Schritt Deine Variablen an und vergleiche den Inhalt mit Deiner Vorstellung.
    Da solltest Du den Fehler schnell gefunden haben.
    Vielleicht ist es nur ein Index-Fehler.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!