Quiz

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    hallo ich bin bei ein quiz zu machen ist auch relativ einfach bis eine sache ich will das nach jeder richtigen beantworten frage in meinen fall muss man zwischen radio buttons auswählen ,,,,, die richtigen gespeichert werden aber so das wenn man auf button klickt die gespeichert werden und das ich in der lezte form sehe wie viele der jenige richtig hat ,,,, ich weiß leider überhaupt nicht wie ich das anstellen soll wäre echt toll wen ihr mir ein wenig helfen könntet

    mfg: underground77 :)
    Du solltest die Antworten zu Deinen Fragen eigentlich kennen, so dass Du nur die Nummer (verwende dazu die Tag-Property der Radiobutton) der Button zur aktuellen Frage speichern musst, z.B. in einem Array (Of Integer). Als Kennung kannst Du ja die falschen Antworten mit einem negativen Index versehen.
    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!
    sry kenn mich mit sowas net gut aus bin ziemlich neu gibt es da net ein anfänger tutorial oder was einfaches

    sry wegen meine schlechten kenntnissen



    man kann halt net alles wissen

    mein Motho erst der source cod den ihm lernen und verstehen und ihm anwenden ;)
    Warum benutzt du keine Satzzeichen (Wie . und ,)?

    Ist genau der Fall wie picoflop ihn beschrieb - unheimlich, wirklich 1 zu 1 genau das was in denm Thema beschrieben wurde 8|

    Zum Thema:

    Nachdem dir mehrere Links einschl. C&P Links gennant wurden und du trotzdem damit nichts anfangen kannst, würde ich dir doch ehr nochmal zu den Grundlagen raten.
    Such die im Internet mittels z. B. google.de, ein kostenloses Buch für Vb.Net raus und arbeite jenes einmal ganz druch.
    (Tipp: "Vb.Net Galileo Openbook")

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

    ich habe es mal so probiert die richtigen antworten in ein label in der lezten form anzugeben



    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. If RadioButton1.Checked Then
    4. Dim num As Integer = 0
    5. num = num + 1
    6. Form3.Label1.Text = num
    7. End If
    8. Form2.Show()
    9. Hide()
    10. End Sub
    11. End Class


    aber egal was ich mache ich erhalte immer in der dritten form 1 als ergebniss obwohl ich zweimal eine richtige antwort bestätigt habe er soll mit diesen code in der form3 die zahl reinschreiben der richtigen antworten aber statt nach jede antwort die Zahl +1 zu nehmen erhalte ich immer 1 als ergebniss warum ? :(
    Du erstellst die Variabel: num

    num ist = 0

    Sagst dann:

    num Ist = num + 1

    Label1.Text = num (also 1)

    Was soll den sonst dabei herrauskommen?
    Das System ist nicht wirklich Optimal.
    Zumindest versteheich es nicht.

    Um den Fehler in deinem Code jetzt zu Lösen, musst du num außerhalb von Button1_Click Deklarieren.
    Denn immer wenn "Dim num As Integer = 0" angerufen wird ist num auch sofort wieder = 0.

    Ich muss mich leider wiederholen, schau dir doch bitte mal die Grundlagen an.
    Dort lernst du alles über z.B. Deklarationen, Gültikeitsbereiche und alles was halt dazu gehört.
    @underground77: Ein Quiz zu proggen ist wirklich kein riesen ding, voraussetzung für solchen Vorhaben:
    - Array
    - Schleifen
    - Vergleichsoperatoren
    man lass deine fantasie spielen, was einfacheres zum proggen kann man sich nicht ausdenken.... ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SystemUnknow“ ()

    habe num in der form deklariert aber bekomm immer noch 1 raus was mach ich falsch ?
    habe es so sry bin totaler noob :(


    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim num As Integer = 0
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. If RadioButton1.Checked Then
    5. num = num + 1
    6. Form3.Label1.Text = num
    7. End If
    8. Form2.Show()
    9. Hide()
    10. End Sub
    11. End Class
    RadioButton1.Checked wird dann höchstwarscheinlich nur einmal aufgerufen.

    Klick mal auf RadioButton1 (Auswählen), dannach wieder Auswahl ändern und wieder RadioButton1 auswählen.
    Jetzt müsste der Wert 2 sein.


    Ah ne jetzt hab ich mich total verlesen ^^
    Wenn du 2x auf den Button1 drückst (während RadioButton1 markiert ist!) ,ist der Text im Label der 3. Form immernoch 1?

    Edit: Und schreib mal ganz oben in die Form.vb Datei "Option Strict On".

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

    Hi
    Sag mal, dein "Motho" scheint irgendwie nicht ganz verfolgbar. Du willst Code und ihn anschließend verstehen. Du kriegst von uns hier Code hingesetzt und verstehst gar nichts. Jetzt versuch mal was selber zu machen und bau deinen Code selber so aus, dass er funktioniert. Wenn du das gemacht hast, kannst du dich wieder melden.
    Pack das num übrigens mal in einen statischen Kontext (kannst du auch innerhalb der Methode).

    VB.NET-Quellcode

    1. Public Sub MyMethod()
    2. Static num As Integer = 0
    3. num += 1
    4. End Sub

    Bei jedem Aufruf von der Methode wird num inkrementiert.
    Das kannst du jetzt schön auf dein Problem umsetzen. Und bitte schreib in ordentlichem deutsch, mit ordentlicher Rechtschreibung und ordentlicher Grammatik, das kann man nämlich schon erwarten und du wurdest schon mehrfach darauf hingewiesen.

    Gruß
    ~blaze~
    wie gesagt ich bin ein anfänger und wenn ich nun mal sehr wenig ahnung habe sry kann ich nichts führ ich meine wenn ihr so schlau seit last doch einfach ein volsständigen source code da . Das der Thread endlich erledigt ist ^^ na sry aber ich dachte das ist ein VB Forum den werde ich mir wohl bei Noobs.com anmelden müssen wenn ihr diese hinsicht seit den soweit ich mich über dieses Forum informiert habe bekommt man hier Hilfe und source codes wenn man nicht mehr weiter weis , das ist nicht böse gemeint ihr seit Spitze die mir geholfen haben und wenigsten ein wenig gezeigt haben wie ich es machen könnte aber ich bekomm das leider also nicht so wirklich hin,trozdem danke
    Das ist auch klar, dass du es nicht hinbekommst, wenn du dir keine Mühe gibst, das zu verstehen, was du kopierst und abtippst. Nehm' dir wenigstens das mal zu Herzen. Wie du in mehreren Beiträgen schon sehen kannst, sind wir auch keine Sourcecode-Produzenten. Wir sind nur Unterstützung, aber unsere Aufgabe ist nicht das Produzieren von Sourcecodes auf Nachfrage. Wer sich nachhaltig mit dem Programmieren beschäftigen will, muss auch selber etwas dafür tun, auch wenn es anfangs nervig ist. Das dürfte aber fast immer der Fall sein.

    Edit:
    Ich nehm' mir jetzt noch mal die Zeit, dir das Prinzip anhand deines Codes zu erklären:
    Dein Code sei mal

    VB.NET-Quellcode

    1. If RadioButton1.Checked Then
    2. Dim num As Integer = 0
    3. num = num + 1
    4. Form3.Label1.Text = num
    5. End If
    6. Form2.Show()
    7. Hide()

    Jetzt siehst du einen Beitrag, der dir sagt, du könntest das auch mit Static ausdrücken (Solltest du auch beim anderen Quellcode). Die Ähnlichkeit besteht natürlich bei Dim num As Integer und Static num As Integer. Wenn man sich nicht sicher ist, kopiert man sich mal meinen Schnipsel und schaut, was passiert, wenn man die Methode aufruft.
    Jetzt schaust du, was passiert, wenn dein Code

    VB.NET-Quellcode

    1. If RadioButton1.Checked Then
    2. Static num As Integer = 0
    3. num = num + 1
    4. Form3.Label1.Text = num
    5. End If
    6. Form2.Show()
    7. Hide()

    lautet. Statt num = num + 1 kannst du übrigens auch num += 1 schreiben.

    Gruß
    ~blaze~
    Ok.


    1. Du fragst nach SourceCode und selbst wenn du sagst du kannst ihn verstehen, du kannst es nicht. Sonst hättest du es selber herausgefunden.
    2. Wir sind kein CodeProject, wir helfen Anfängern die eine direkte Frage zu einen direkten Problem haben und nicht: 'gib mal sourcecode'
    3. Zu sagen: 'ich bin anfänger' ist keine Ausrede. Jeder hier war es mal. => Grundlagen gelernt und schon gehts weiter
    4. Nach deinen aktuellen Moto wirst du niemals VB lernen.


    /Blaze war schneller, ich hab zulange nachgedacht :o

    Grüße
    danke blaze aber gen au so habe ich das auch schon gehabt ich habe ja 3 formen bei den 2 habe ich diesen code verwendet erhalte jedoch bei form3 immer noch statt 2 obwohl ich bei 2 formen radiobutton1 ausgewählt habe so sieht das ganze aus

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. If RadioButton1.Checked Then
    4. Static num As Integer = 0
    5. num = num + 1
    6. Form3.Label1.Text = num
    7. End If
    8. Form2.Show()
    9. Hide()
    10. End Sub
    11. End Class


    und bei form2

    VB.NET-Quellcode

    1. Public Class Form2
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. If RadioButton1.Checked Then
    4. Static num As Integer = 0
    5. num = num + 1
    6. Form3.Label1.Text = num
    7. End If
    8. Form3.Show()
    9. Hide()
    10. End Sub
    11. End Class


    also es klappt trozdem nicht da haut was nicht hin :(