Italia
Foro

RadioButtons

 

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 per hilfen !!!
 
25.02.2014  
 




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
// ...

while running%

    waitinput

    if clicked(Auswerten&)

        if getcheck(radiobutton3&)

            messagebox("Richtig", "Quiz", 0)

        else

            messagebox("leider falsch", "Quiz", 0)

        endif

    elseif clicked(beenden&)

        running% = 0

    endif

wend

 
25.02.2014  
 




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 per 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
 
25.02.2014  
 




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 + FREEPROFAN
Wir 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 ?
 
25.02.2014  
 




H.Brill
Einfach mit einer Schleife und SetCheck !
so geht es :
KompilierenMarkierenSeparieren
ElseIf @Clicked(button_löschen%)

WhileLoop 1, 18

    EnableWindow RadionButton%[&LOOP], 1
    SetCheck RadionButton%[&LOOP], 0

EndW
a>

mach das in deiner Eventschleife dazu.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir 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 ?
 
26.02.2014  
 




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 un Prozedur zu verlagern und die Prozedur aufzurufen, wenn der Nutzer "ja" wählt.
KompilierenMarkierenSeparieren
Knopf% = @MessageBox ("Willst Du das Quiz starten?", "",292)

if knopf% = 6

    StarteQuiz()

endif

a>
 
26.02.2014  
 




diimool25
Danke
 
26.02.2014  
 




diimool25
Wie kann ich das machen das ich noch andere fragen machen kann also wenn ich auf enien button klicke öffnen sich andere fragen ?
 
07.03.2014  
 




diimool25
Danke aber habe jetzt selber eine ösung gefunden
 
07.03.2014  
 




diimool25
Kann mir einer sagen wie ich das machen kann das mir gesagt wird du hast 3 von 6 richtig ?
 
08.03.2014  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

16.296 Views

Untitledvor 0 min.
Erasmus.Herold11.06.2019
rquindt08.05.2018
Ernst15.06.2016
Joerg09.06.2016
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie