| Forum |  |  |  |  |  |  |  |  diimool25
 | | Hallo ich brächte hilfe also wir wollen ein ''Quiz'' machen und haben denn radioButtons als antwortmöglichkeiten. wie kann ich das jetzt einstellen das wenn ich auf auswerten drücke das dort steht das die antwort richtig oder falsch ist
 
 Danke für hilfen !!!
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  Nico
 Madysa
 | | Hi! Du kannst mit der Funktion GetCheck()  prüfen, ob ein bestimmter Radiobutton ausgewählt wurde oder nicht. Wenn "Auswerten" geklickt worden ist, musst du also nur prüfen, ob der korrekte Radiobutton ausgewählt ist, oder nicht. KompilierenMarkierenSeparieren
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Wie genau muss ich denn beim hauptprogramm_rum machen ? 
 Declare kleine_zahl&, alter&
 
 Declare button_ende%, button_löschen%, button_auswerten%, Rahmen%[10], text%[10],RadionButton%[50]
 Declare komma_zahlen!, preise!
 
 Declare text$
 
 proc hauptprogramm_skin
 
 window 0,0 - %maxx,%maxy
 UseBrush 1,@RGB(0,0,255)
 UsePen 3,5,@RGB(0,0,0)
 Rectangle 0,0 - %maxx-20, %maxy-100
 
 button_ende% = @Create("Button",%HWnd,"E N D E", %maxx -180,%maxy - 180,145,50)
 button_auswerten% = @Create("Button",%HWnd,"Auswerten", %maxx -330,%maxy - 180,140,50)
 button_löschen% = @Create("Button",%HWnd,"Löschen", %maxx -490,%maxy - 180, 150,50)
 Rahmen%[1] = @Create("GroupBox",%HWnd," Stimmt es, dass die Herstellung einer Cola-Dose etwa gleich viel kostet, wie die Herstellung des Colas, das darin enthaltenen ist?",20,10,850,250)
 Rahmen%[2] = @Create("GroupBox",%HWnd," Welches der unten genannten Lebensmittel enthält am meisten Eisen?",20,300,850,250)
 Rahmen%[3] = @Create("GroupBox",%HWnd," Wodurch 'trocknet' Sekundenkleber?",20,600,850,250)
 Rahmen%[4] = @Create("GroupBox",%HWnd," In welcher europäischen Stadt gibt es die meisten Brücken?",900,10,850,250)
 Rahmen%[5] = @Create("GroupBox",%HWnd," Wovon bekommen wir die meiste radioaktive Strahlung ab?",900,300,850,250)
 Rahmen%[6] = @Create("GroupBox",%HWnd," Was bekam man beim weltweit ersten Münzautomat für sein Geld?",900,600,850,250)
 
 RadionButton%[1] = @Create("RadioButton",Rahmen%[1],"ja, beides kostet etwa gleich viel",10,75,300,25)
 RadionButton%[2] = @Create("RadioButton",Rahmen%[1],"nein, das Cola ist teurer als die Dose",10,110,300,25)
 RadionButton%[3] = @Create("RadioButton",Rahmen%[1],"nein, die Dose ist teurer als das Cola",10,145,300,25) 'x
 
 RadionButton%[4] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,50,100,30)
 RadionButton%[5] = @Create("RadioButton",Rahmen%[2],"Spinat",10,90,100,30)
 RadionButton%[6] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,130,100,30)'x
 
 RadionButton%[7] = @Create("RadioButton",Rahmen%[3],"Wärme",10,50,100,30)
 RadionButton%[8] = @Create("RadioButton",Rahmen%[3],"Feuchtigkeit",10,90,100,30)'x
 RadionButton%[9] = @Create("RadioButton",Rahmen%[3],"Sauerstoff",10,130,100,30)
 
 RadionButton%[10] = @Create("RadioButton",Rahmen%[4],"Hamburg",10,50,100,30)'x
 RadionButton%[11] = @Create("RadioButton",Rahmen%[4],"Venedig",10,90,100,30)
 RadionButton%[12] = @Create("RadioButton",Rahmen%[4],"Amsterdam",10,130,100,30)
 
 RadionButton%[13] = @Create("RadioButton",Rahmen%[5],"von Atomkraftwerken und radioaktivem Abfall",10,50,500,30)
 RadionButton%[14] = @Create("RadioButton",Rahmen%[5],"von zurückliegenden Atombomben-Tests",10,90,500,30)
 RadionButton%[15] = @Create("RadioButton",Rahmen%[5],"von der natürlichen Strahlung der Erde",10,130,500,30)'x
 
 RadionButton%[16] = @Create("RadioButton",Rahmen%[6],"Kaugummi",10,50,100,30)
 RadionButton%[17] = @Create("RadioButton",Rahmen%[6],"Brot",10,90,100,30)
 RadionButton%[18] = @Create("RadioButton",Rahmen%[6],"Wasser",10,130,100,30)'x
 
 endproc
 
 proc hauptprogramm_run
 Repeat
 waitinput
 if @GetFocus(button_auswerten%)
 
 endif
 endif
 
 until @Or(Clicked(button_ende%) , %scankey = 27)
 endproc
 
 proc hautprgramm_end
 @DestroyWindow(%hwnd)
 endproc
 
 'Hauptprogramm
 
 hauptprogramm_skin
 hauptprogramm_run
 hautprgramm_end
 
 end
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  H.Brill
 | | Wird wohl etwas schwierig mit den Koordinaten, da mit Groupboxen gearbeitet wird. Die Radiobuttons werden
 dann ja relativ zur Groupbox gesetzt.
 Bei deinem Code wird es wohl einfacher sein, bei richtiger
 Antwort, die restlichen 2 Radiobuttons zu deaktivieren.
 Bei falscher Antwort kann man dann noch verbessern
 und wieder auswerten lassen. Deshalb würde ich es mal
 so machen :
 KompilierenMarkierenSeparieren
 Declare kleine_zahl&, alter&
Declare button_ende%, button_löschen%, button_auswerten%, Rahmen%[10], text%[10],RadionButton%[50]
Declare komma_zahlen!, preise!
Declare text$
proc hauptprogramm_skin
    window 0,0 - %maxx,%maxy
    UseBrush 1,@RGB(0,0,255)
    UsePen 3,5,@RGB(0,0,0)
    Rectangle 0,0 - %maxx-20, %maxy-100
    button_ende% = @Create("Button",%HWnd,"E N D E", %maxx -180,%maxy - 180,145,50)
    button_auswerten% = @Create("Button",%HWnd,"Auswerten", %maxx -330,%maxy - 180,140,50)
    button_löschen% = @Create("Button",%HWnd,"Löschen", %maxx -490,%maxy - 180, 150,50)
    Rahmen%[1] = @Create("GroupBox",%HWnd," Stimmt es, dass die Herstellung einer Cola-Dose etwa gleich viel kostet, wie die Herstellung des Colas, das darin enthaltenen ist?",20,10,850,250)
    Rahmen%[2] = @Create("GroupBox",%HWnd," Welches der unten genannten Lebensmittel enthält am meisten Eisen?",20,300,850,250)
    Rahmen%[3] = @Create("GroupBox",%HWnd," Wodurch 'trocknet' Sekundenkleber?",20,600,850,250)
    Rahmen%[4] = @Create("GroupBox",%HWnd," In welcher europäischen Stadt gibt es die meisten Brücken?",900,10,850,250)
    Rahmen%[5] = @Create("GroupBox",%HWnd," Wovon bekommen wir die meiste radioaktive Strahlung ab?",900,300,850,250)
    Rahmen%[6] = @Create("GroupBox",%HWnd," Was bekam man beim weltweit ersten Münzautomat für sein Geld?",900,600,850,250)
    RadionButton%[1] = @Create("RadioButton",Rahmen%[1],"ja, beides kostet etwa gleich viel",10,75,300,25)
    RadionButton%[2] = @Create("RadioButton",Rahmen%[1],"nein, das Cola ist teurer als die Dose",10,110,300,25)
    RadionButton%[3] = @Create("RadioButton",Rahmen%[1],"nein, die Dose ist teurer als das Cola",10,145,300,25)'x
    RadionButton%[4] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,50,100,30)
    RadionButton%[5] = @Create("RadioButton",Rahmen%[2],"Spinat",10,90,100,30)
    RadionButton%[6] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,130,100,30)'x
    RadionButton%[7] = @Create("RadioButton",Rahmen%[3],"Wärme",10,50,100,30)
    RadionButton%[8] = @Create("RadioButton",Rahmen%[3],"Feuchtigkeit",10,90,100,30)'x
    RadionButton%[9] = @Create("RadioButton",Rahmen%[3],"Sauerstoff",10,130,100,30)
    RadionButton%[10] = @Create("RadioButton",Rahmen%[4],"Hamburg",10,50,100,30)'x
    RadionButton%[11] = @Create("RadioButton",Rahmen%[4],"Venedig",10,90,100,30)
    RadionButton%[12] = @Create("RadioButton",Rahmen%[4],"Amsterdam",10,130,100,30)
    RadionButton%[13] = @Create("RadioButton",Rahmen%[5],"von Atomkraftwerken und radioaktivem Abfall",10,50,500,30)
    RadionButton%[14] = @Create("RadioButton",Rahmen%[5],"von zurückliegenden Atombomben-Tests",10,90,500,30)
    RadionButton%[15] = @Create("RadioButton",Rahmen%[5],"von der natürlichen Strahlung der Erde",10,130,500,30)'x
    RadionButton%[16] = @Create("RadioButton",Rahmen%[6],"Kaugummi",10,50,100,30)
    RadionButton%[17] = @Create("RadioButton",Rahmen%[6],"Brot",10,90,100,30)
    RadionButton%[18] = @Create("RadioButton",Rahmen%[6],"Wasser",10,130,100,30)'x
endproc
proc hauptprogramm_run
    WhileNot @Clicked(button_ende%)
        waitinput
        if @GetFocus(button_auswerten%)
            If GetCheck(RadionButton%[3]) = 1
                'DrawIcon 4, 400,145,  '-> richtig
                EnableWindow RadionButton%[1], 0
                EnableWindow RadionButton%[2], 0
            EndIf
            If GetCheck(RadionButton%[6]) = 1
                EnableWindow RadionButton%[4], 0
                EnableWindow RadionButton%[5], 0
            EndIf
            If GetCheck(RadionButton%[8]) = 1
                EnableWindow RadionButton%[7], 0
                EnableWindow RadionButton%[9], 0
            EndIf
            If GetCheck(RadionButton%[10]) = 1
                EnableWindow RadionButton%[11], 0
                EnableWindow RadionButton%[12], 0
            EndIf
            If GetCheck(RadionButton%[15]) = 1
                EnableWindow RadionButton%[13], 0
                EnableWindow RadionButton%[14], 0
            EndIf
            If GetCheck(RadionButton%[18]) = 1
                EnableWindow RadionButton%[16], 0
                EnableWindow RadionButton%[17], 0
            EndIf
        endif
        Case %scankey = 27 : Break
    EndWhile
endproc
proc hautprgramm_end
    @DestroyWindow(%hwnd)
endproc
'Hauptprogramm
hauptprogramm_skin
hauptprogramm_run
hautprgramm_end
end
Die Radiobuttons kann man ja bei einem neuen Spiel in
 einer Schleife wieder aktivieren.
 Bei verschiedenen Spielen muß man halt alles in Arrays oder
 Listen halten(Fragetext, Antworten, Lösungen). Mit SetText RadionButton%[x],
 "neuer Text" oder SetText Rahmen%[1], "neue Frage" kannst du dann
 die Fragen und Radiobutton-Texte ändern.
 
 Aber vielleicht hat noch jemand eine Idee.
 | 
 |  |  |  |  | | Benutze   XPROFAN X3 + FREEPROFANWir sind die XProfaner.
 Sie werden von uns assimiliert.
 Widerstand ist zwecklos!
 Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
 
 Was die Borg können, können wir schon lange.
 | 25.02.2014  ▲ | 
 |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Danke ! 
 weißt du vielleicht wie ich es hinbekomme das wenn ich auf löschen klicke das denn die makieungen die ich gemacht habe weg gehen ?
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  H.Brill
 |  |  |  |  |  | | Benutze   XPROFAN X3 + FREEPROFANWir sind die XProfaner.
 Sie werden von uns assimiliert.
 Widerstand ist zwecklos!
 Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
 
 Was die Borg können, können wir schon lange.
 | 25.02.2014  ▲ | 
 |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Noch eine Frage ich möchte das sich vorher eine messagebox öffnet und fragt ob man das starten will soweit habe ich es geschafft bei ja geht alles nur wenn ich nein klicke öffnet sich das gleich nochmal also ich habe es in ner whilenot schleife so : 
 Clear Ende%
 
 WhileNot Ende%
 
 Knopf% = @MessageBox ("Willst Du das Quiz starten?", "",292)
 
 Case Knopf% = 6 : Ende% = 1
 EndWhile
 
 wie bekome ich es hin das wenn ich auf nein klicke es sich schließt ?
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  Nico
 Madysa
 | | Hi, 
 wenn du möchtest, dass die Messagebox nur einmal erscheint, egal was der Nutzer wählt, darf die Box nicht in einer Schleife sein.
 
 Ein besserer Ansatz wäre es, das Quiz in eine Prozedur zu verlagern und die Prozedur aufzurufen, wenn der Nutzer "ja" wählt.
 KompilierenMarkierenSeparieren
 | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Danke  | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Wie kann ich das machen das ich noch andere fragen machen kann also wenn ich auf enien button klicke öffnen sich andere fragen ? | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Danke aber habe jetzt selber eine ösung gefunden  | 
 |  |  |  |  |  |  |  |  | 
 
 
 |  |  |  |  diimool25
 | | Kann mir einer sagen wie ich das machen kann das mir gesagt wird du hast 3 von 6 richtig ? | 
 |  |  |  |  |  |  |  |  | 
 
 
 | 
 
 Antworten| Themenoptionen | 19.924 Betrachtungen | 
 ThemeninformationenDieses Thema hat 4 Teilnehmer: |