Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Buttonabfrage bei Wer wird millionär
johi23 - Do 05.12.13 22:54
Titel: Buttonabfrage bei Wer wird millionär
Hallo.
Ich soll für die schule ein Wer wird Millionär spiel programmieren. Ich habe pro Geldstufe 3 verschiedene Fragen die per Zufall ausgewählt werden. Nun hat jede Frage die richtige Antwort auf einem anderen Button. Ich möchte das wen Frage 1 kommt und die Antwort auf Button3 liegt, wenn man auf den Button klickt man weiter kommt. Leider hat es mit sender = button3 nicht geklappt. Wisst ihr weiter??
Mathematiker - Do 05.12.13 23:03
Hallo,
Du hast in relativ kurzer Zeit 3 Fragen gestellt, die alle noch offen sind und auf die Du Antworten erhalten hast.
Dreimal hast Du auf die Antworten
nicht reagiert.
Natürlich kann hier jeder so viele Anfragen stellen wie er möchte, aber glaube mir, die Bereitschaft, Dir zu helfen, wird abnehmen, wenn Du Dich nie zu den Antworten äußerst.
johi23 hat folgendes geschrieben : |
Ich soll für die schule ein Wer wird Millionär spiel programmieren. ... Leider hat es mit sender = button3 nicht geklappt. Wisst ihr weiter?? |
Eine neues Projekt für die Schule? So viele in so kurzer Zeit?
Nun ja. Natürlich kann Dir jemand helfen, aber ohne etwas mehr Information, z.B. einen Quelltext in dem man das Problem suchen kann, wird es nichts.
Also bitte ein Stück Quelltext.
Beste Grüße
Mathematiker
johi23 - Do 05.12.13 23:05
Delphi-Quelltext
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: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| a:= random (3)+1;
if a = 1 then begin label1.Caption:= 'Was ist man, wenn man mit' +#10+#13+ 'dem Internet verbunden ist?';
label1.Show; button1.Hide; button2.Show; button3.Show; button4.Show; button5.Show;
button2.Caption:= 'inline'; button3.Caption:= 'online'; button4.Caption:= 'downline'; button5.Caption:= 'leftline';
end;
if a = 2 then begin label1.Caption:= 'Wenn irgendwo nichts los ist, und es langweilig ist,' +#10+#13+ 'dann ist es einer Redensart nach....?';
label1.Show; button1.Hide; button2.Show; button3.Show; button4.Show; button5.Show;
button2.Caption:= 'leeres Hemd'; button3.Caption:= 'tote Hoose'; button4.Caption:= 'nasses Handtuch'; button5.Caption:= 'alter Socken';
end;
if a = 3 then begin
label1.Caption:= 'Was ruft man, wenn man' +#10+#13+ 'seine Wut ausdrücken will?';
label1.Show; button1.Hide; button2.Show; button3.Show; button4.Show; button5.Show;
button2.Caption:= 'Fensterkitt'; button3.Caption:= 'Scheibenkleister'; button4.Caption:= 'Türkleber'; button5.Caption:= 'Bodenleim';
end; |
Moderiert von
Narses: Delphi-Tags hinzugefügt
Mathematiker - Do 05.12.13 23:10
Hallo,
sag mal, was soll denn das? :?
Du hast eine Frage zu dem "Nichtfunktionieren" von Sender = button3, ich bitte Dich um den Quelltext und Du knallst hier irgendeinen Teil hin, der offensichtlich nichts mit Deinem Problem zu tun hat.
Für mich ist es damit erledigt. Suche Dir einen anderen, der Dir hilft. :evil:
Mathematiker
johi23 - Do 05.12.13 23:14
"sag mal, was soll denn das?
Du hast eine Frage zu dem "Nichtfunktionieren" von Sender = button3, ich bitte Dich um den Quelltext und Du knallst hier irgendeinen Teil hin, der offensichtlich nichts mit Deinem Problem zu tun hat."
Ich weiß nicht wo und wie ich sender= button3 einfüge damit es funktioniert.
Und der Quelltext hat sehrwohl was mit meinem Programm zu tun.
mandras - Do 05.12.13 23:27
Der Quelltext mag etwas mit Deinem Programm zu tun haben,
aber nicht mit Deiner Frage.
Woher weißt Du, daß irgendwo "sender= button3" reinsoll? Aufgabenstellung?
Der gepostete Programmteil betrifft die Darstellung der Frage,
Du brauchst aber anscheinend etwas für die Auswertung der Antwort. Das ist ein anderer Programmteil.
Hinweis: Ein Button hat ein OnClick-Ereignis. Man kann auch mehreren Buttons das gleiche Ereignis zuweisen, dann muß dieses berücksichtigen, von welchem Button das Ereignis ausgelöst wurde. Dazu wird dem Click-Ereignis immer im Paramter "Sender" der Button hinterlegt, der gedrückt wurde.
johi23 - Do 05.12.13 23:33
Hallo.
Kannst du mir das mit dem sender bitte genauer erklären?
mandras - Fr 06.12.13 02:20
johi23 hat folgendes geschrieben : |
Hallo.
Kannst du mir das mit dem sender bitte genauer erklären? |
Selber ausprobieren:
Im Formulardesigner einen Doppelklick auf einen Button machen. Du landest im Quelltexteditor.
Dort ist nun eine Methode die heißt irgendwie ...Buttonxclick (Sender...)
Diese Prozedur wird aufgerufen, wenn der Knopf gedrückt wird.
In der Variable Sender ist dann der Button enthalten, der gedrückt wurde.
Dort kannst Du dann prüfen:
... if Sender = Button1
oder
= Button2
etc
WasWeißDennIch - Fr 06.12.13 09:25
Vielleicht sollte man die Logik von der Darstellung trennen, dann muss man auch keinen Sender abfragen. Was braucht man denn? Eine Frage und 4 Antworten dazu, von denen eine richtig ist. Nun muss man nur noch wissen, welche Antwort der Nutzer ausgewählt hat, und kann das dann auswerten. Dazu könnte in den jeweiligen ButtonClicks z.B. stehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TFormWWMMain.btn1Click(Sender: TObject); begin Antwort := 1; end;
procedure TFormWWMMain.btn2Click(Sender: TObject); begin Antwort := 2; end; |
Die Variable/das Feld Antwort muss natürlich vorher deklariert worden sein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!