Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Quiz (https://www.delphipraxis.net/185282-delphi-quiz.html)

DerHaushaltsProfi 27. Mai 2015 18:37

Delphi Quiz
 
Moin,

und zwar bin ich gerade dabei ein Quiz zu erstellen. Jedoch habe ich da einige kleine Probleme.
Das Quiz soll wie ein Multiple Choice Test werden, also 1 Frage 4 Antworten und genau eine Antwort davon ist richtig. Nun habe ich die Frage in einem Label und die Antworten in RadioButtons (ich habe erstmal 2 genommen zum Testen). Button1 ist der Start Button der die erste Frage in Label1 schreibt. Label1 enthält die Fragen die durch Button 2 geändert werden. Label2 enthält dann, je nachdem was der Benutzer wählt : 'Wahr' oder 'Falsch'. Durch den Button 3 wird die gegebene Antwort getestet. So mein Quelltext sieht folgendermaßen aus :

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.caption := 'Was ist 2+2?';
RadioButton1.Caption:= '5';
RadioButton2.Caption:='4';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:= 'Was ist 3+2?';
RadioButton1.Caption:= '5';
RadioButton2.Caption:= '7';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Label2.Visible:=True;
if (RadioButton1.Checked) and not (RadioButton2.Checked) then
Label2.Caption:= 'SUPER';
else
Label2.caption :='Das ist leider falsch';
So nun ist aber das Problem, wenn ich jetzt Frage 2 (Also die von Button 2 neu eingefügte) ebenfalls beantworten will "merkt" sich Delphi, dass in RadioButton1 die Lösung war. Wenn ich jetzt aber für Frage 2 die richtige Antwort in RadioButton2 schreiben würde, würde Delphi bei Frage 2 beide RadioButtons als richtig erkennen, da es ja RadioButton1 von der 1. Frage als richtig erkennt und jetzt von der 2. Frage RadioButton2 als richtig erkennt. Dadurch würde der Nutzer, egal ob er bei der 2. Frage RadioButton1 oder RadioButton2 anklickt immer recht haben. Und das soll er ja nicht ;D

So nun meine Frage : Wie kann ich delphi "sagen", dass es alles von Frage 1 vergisst und die RadioButtons für Frage 2,3,4... betrachtet ohne die vorherigen Fragen zu beachten?

Wenns etwas kompliziert formuliert ist könnt ihr einfach fragen... Ich konnte es nicht anders ausdrücken.

MFG

Mavarik 27. Mai 2015 18:46

AW: Delphi Quiz
 
Oje...

Du willst doch sicherlich nicht alle Fragen FIX im Source eingeben oder etwa doch?

Sondern lieber als Datei oder was auch immer Reinladen und dann alle Fragen nacheinander bringen... (Hoffe ich)

Also brauchst Du nur eine Radiogroup Box...

Vor jeder Frage setzt Du den Itemindex der Groupbox auf -1

Und dann belegst Du die mit den einzelnen Antworten und ein Memo/Label mit der Frage...

Dann noch merken welche Antwort die Richtige ist ein einen Button für weiter...

Mavarik

DerHaushaltsProfi 27. Mai 2015 19:08

AW: Delphi Quiz
 
Danke für den Tipp mit der Radiogroup Box. Damit werde ich es jetzt mal probieren :D

mfg

DeddyH 27. Mai 2015 19:15

AW: Delphi Quiz
 
Such doch mal hier in der DP nach "Wer wird Millionär" oder "WWM", das Thema haben wir ja öfters.

Mavarik 27. Mai 2015 19:16

AW: Delphi Quiz
 
Liste der Anhänge anzeigen (Anzahl: 1)
Eigentlich machen ich das sonst nicht... Aber meine VM ist gerade beschäftigt... Daher Quick&Dirty

DerHaushaltsProfi 27. Mai 2015 20:22

AW: Delphi Quiz
 
So weit so gut:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label2.Visible:=True;
Label1.Visible:=False;
Label2.Caption:= 'Was ist 2+2?';
 RadioGroup1.Items.Clear;
 RadioGroup1.Items.Add('5');
 RadioGroup1.Items.Add('6');
 RadioGroup1.Items.Add('4');
 RadioGroup1.Items.Add('8');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Visible:=true;
Label2.Visible:=false;
case RadioGroup1.ItemIndex of
3: Label1.Caption:= 'Richtig' else Label1.Caption:= 'Falsch';;


end;

end;
end.
So aber wie kann ich jetzt einstellen, dass eine neue Frage gewählt wurde und nun Button2 diese 2. Frage in der RadioGroup abfragen soll. denn bei der zweiten Frage ist ja case RadioGroup1.ItemIndex of 2 Richtig und nicht case of RadioGroup1.ItemIndex of 3...

Danke und

Mfg

Sir Rufo 27. Mai 2015 21:53

AW: Delphi Quiz
 
Es ware sehr freundlichst, wenn du deinen Code in die dafür vorgesehenen
Code:
[DELPHI][/DELPHI]
Tags setzen würdest, dann bekommt man keinen Augenkrebs ...

Luckie 27. Mai 2015 22:51

AW: Delphi Quiz
 
Ich glaube, du solltest dir erst mal klar über das grundlegende Konzept werden, anstatt einfach drauf los zu programmieren.

Wenn man sich erst mal eine Datenstruktur für Fragen und zugehörigen Antworten überlegt, dann ergibt sich der Rest fast von selbst. o wie es bisher läuft, ist es zum Scheitern verurteilt.

DeddyH 27. Mai 2015 23:29

AW: Delphi Quiz
 
Ich hab ja nicht umsonst auf die Forensuche verwiesen. Man muss das Rad ja nicht immer wieder neu erfinden.

Mavarik 28. Mai 2015 10:40

AW: Delphi Quiz
 
Zitat:

Zitat von DerHaushaltsProfi (Beitrag 1303295)
So weit so gut:So aber wie kann ich jetzt einstellen, dass eine neue Frage gewählt wurde und nun Button2 diese 2. Frage in der RadioGroup abfragen soll. denn bei der zweiten Frage ist ja case RadioGroup1.ItemIndex of 2 Richtig und nicht case of RadioGroup1.ItemIndex of 3...

Danke und

Mfg

1.) Würde ich Dir empfehlen vielleicht mal die Antworten zu lesen zum Beispiel diese hier. Diese Antwort ist genau die Lösung für Deine Frage...
2.) Könnest Du dir einfach mal den Source anschauen aus dieser Antwort. Hast Du scheinbar auch nicht gemacht, sonst hättest Du nicht WIEDER das gleiche gefragt.

Ansonsten ist meine Antwort...

42


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz