| Autor |
Beitrag |
M
Hält's aus hier
Beiträge: 3
|
Verfasst: Mi 21.03.07 11:16
Hi, hab ein Problem. Muss für die Schule ein Quiz erstellen. An sich ist s fast fertig, wir müssen nur noch die Punkte zählen lassen. Problem is, wi bekomme ich heraus, welchen Button der user angeklickt hat?
Bitte um schnelle Antwort!!!
Zuletzt bearbeitet von M am Mi 21.03.07 11:23, insgesamt 1-mal bearbeitet
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 21.03.07 11:20
Wie ist denn das Quiz aufgebaut? RadioButtons, CheckBoxen? Eigentlich musst Du nur beispielsweise mittels CheckBox1.Checked auslesen, ob eine CheckBox angehakt wurde und überprüfen, ob das so korrekt ist. Danach kannst Du Punkte vergeben.
Und bitte ändere den Titel des Threads, denn der sagt nicht wirklich etwas über Deine Frage aus.
|
|
M 
Hält's aus hier
Beiträge: 3
|
Verfasst: Mi 21.03.07 11:23
Das Quiz is mit normalen Buttons. Wenn ein Button angeklickt wurde, dann soll kontrolliert werde, ob die Antwort richtig is oder nicht.
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Mi 21.03.07 11:28
Hallo!
Wie ist das Quiz denn aufgebaut?
Über Records?
Wie läuft das Ganze ab?
Jede Frage ne neue Form oder werden einfach die Buttons, etc. aktualisiert?
LG
Stefan
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 21.03.07 11:42
M hat folgendes geschrieben: | | Das Quiz is mit normalen Buttons. Wenn ein Button angeklickt wurde, dann soll kontrolliert werde, ob die Antwort richtig is oder nicht. |
Dann musst Du natürlich einen entsprechenden Event Handler schreiben. Klicke dazu einfach auf einen der Buttons doppelt drauf, dann kannst Du dort überprüfen, ob es der richtige Button war, oder nicht und dementsprechend einen Punkt geben oder nicht.
Mittels des Sender-Parameters dieses Event Handlers kannst Du dann alles auch eine Prozedur packen. Du weißt dann jedem Button einfach die Prozedur als Event Handler für OnClick zu und überprüfst, welcher Button geklickt wurde, beispielsweise mit folgendem Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure ButtonClick(Sender:TObject); var richtigerButton: TButton; begin richtigerButton := Button1; if (Sender = richtigerButton) then Inc(punkte); end; |
Die Variable kannst Du natürlich auch global deklarieren, dann kannst Du sie in einer Initialisierungs-Prozedur, wo Du beispielsweise die Texte der Buttons änderst, setzen.
|
|
M 
Hält's aus hier
Beiträge: 3
|
Verfasst: Mi 21.03.07 11:57
also wir haben das jetzt so gemacht, dass es mit checkboxen arbeitet.
allerdings ist dadurch ein neues problem aufgetreten.
und zwar kann man jetzt die antwort anklicken und die punkte werden wahrscheinlich auch gezählt, aber das programm springt nicht zur nächsten frage..
wie kann man das jetzt noch lösen?
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Mi 21.03.07 12:04
Beantworte die Fragen in meinem Post und wir können euch helfen!
LG
Stefan
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
Comp-Freak
      
Beiträge: 89
|
Verfasst: Mi 21.03.07 12:10
sehr einfach und sehr lang:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| var frage: integer; richtig: integer;
on some form create: label1.caption := listbox1.items.strings(0); antwort := listbox2.items.strings(0);
on antwort button click: if checkbox1.checked = true then begin if antwort = 1 then richtig := richtig+1; frage := frage+1; label1.caption := listbox1.items.strings(frage); antwort := listbox2.items.strings(frage); end; if checkbox2.checked = true then begin if antwort = 2 then richtig := richtig+1; frage := frage+1; label1.caption := listbox1.items.strings(frage); antwort := listbox2.items.strings(frage); end; if checkbox3.checked = true then begin if antwort = 3 then richtig := richtig+1; frage := frage+1; label1.caption := listbox1.items.strings(frage); antwort := listbox2.items.strings(frage); end; |
stat dehn zwei listboxen gehen naturlich auch stringlists.
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|