Anfängerproblem ButtonClick-Prozedur

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
rqkr
Beiträge: 2
Registriert: Do 12. Mär 2015, 14:13

Anfängerproblem ButtonClick-Prozedur

Beitrag von rqkr »

Hallo,
ich programmiere für die schule ein recht einfaches quiz, das aus Textdateien Fragen und Antworten nimmt. Jetzt habe ich es hingekriegt, dass die erste zufällig ausgewählte Frage samt Antworten richtig angezeigt wird und hatte mir gedacht, dass ich davor jetzt einfach eine "for i=1 to 10 do"-Schleife mache, damit das ganze halt zehn mal wiederholt wird. Ich hatte mir das dann so vorgestellt, dass wenn man von den drei RadioButtons einen anklickt, ein Weiter-Button angezeigt wird, und wenn man da drauf klickt, kommt die nächste Frage.
Das meiste davon funktioniert auch soweit, nur komme ich nicht dahinter, wie man den Weiter-Button in die Schleife "integrieren" kann. Ich kann ja nur eine extra Prozedur dafür erstellen, was passieren soll, wenn der Button gedrückt wird, ich habe auch schon ausprobiert, dass das Drücken des Weiter-Buttons eine Boolean-Variable "Fertig" von "False" auf "True" setzt und dann in der Schleife "if Fertig=true then" zu machen, aber irgendwie hat der nie das, was hinter dem "then" war, ausgeführt. Wo liegt da mein Fehler?
(Ich hab euch jetzt nicht den ganzen Quellcode kopiert, ich glaube, der würde eher verwirren als helfen, weil er so unordentlich ist :) )
Vielen Dank schonmal für eure Hilfe und sorry, dass euch mit Schul-aufgaben nerve :wink:
Grüße vom rqkr

Mathias
Beiträge: 6918
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Anfängerproblem ButtonClick-Prozedur

Beitrag von Mathias »

Wieso nimmst du nicht eine globale Zähl-Variable, wen die 10 erreicht, ist der Quiz fertig.

Beim Start des Quiz, ist der Zähler 0, beim Weiter-Klick, erhöst du sie um eins.

for-to kannst vergessen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 5152
Registriert: Fr 8. Apr 2011, 09:01

Re: Anfängerproblem ButtonClick-Prozedur

Beitrag von wp_xyz »

rqkr hat geschrieben:ich glaube, der würde eher verwirren als helfen, weil er so unordentlich ist
Dazu kann ich mir nicht verkneifen, dass dieses am meisten dich selbst verwirrt. Ordentlicher Quelltext ist die Grundvoraussetzung, um das zu verstehen, was man geschrieben hat.

Warum überhaupt eine Schleife? Damit keine Frage zweimal gezogen werden kann, würde ich jede gezogene Frage aus der Liste der möglichen Fragen löschen. Dann läuft das Programm solange noch Fragen vorhanden sind (bzw. der Benutzer nicht mehr "Weiter" sondern "Jetzt mag ich nicht mehr" klickt). Wenn keine Fragen mehr da sind, könntest du statt "Weiter" auch den Schalter "Nochmals von vorne" anbieten.

rqkr
Beiträge: 2
Registriert: Do 12. Mär 2015, 14:13

Re: Anfängerproblem ButtonClick-Prozedur

Beitrag von rqkr »

So, es gibt eine gute und eine schlechte nachricht:
die schlechte ist, dass ihr mein problem nicht (bzw falsch) erkannt habt, aber die gute ist, dass ich es mittlerweile selbst hingekriegt hab, war nur ein ziemlich dummer denkfehler, trotzdem danke für eure schnellen antworten.
Eine Schleife wollte ich machen, damit sozusagen jeder seinen persönlichen score auf 10 Fragen ermitteln kann. Momentan bastele ich noch an einem array, der die bereits "gezogenen" fragennummern speichert, damit diese dann mit den neuen zufällig generierten nummern verglichen werden können. Wie macht man das Ermitteln, ob eine Zahl in einem Array vorhanden ist, am besten (und am einfachsten)? Mit IndexOf oder mit ner Schleife?
Ich habe auch das problem, dass einige Antworten zu lang für die RadioButtton-Captions sind. Gibts da irgendeine Möglichkeit, dass es da auch Zeilenumbrüche macht? Oder kann man vielleicht irgendwie einstellen, dass die Schriftgröße automatisch kleiner wird, wenn der Text zu lang für das Feld ist?

Übrigens, das problem mit meinem Quellcode ist am ehesten, dass ich noch viel zeug, das ich vielleicht noch reinnehmen wollte, was aber nicht funktioniert hat, als anmerkung (in geschwungenen Klammern) habe, falls ich es später mal brauche

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6780
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Anfängerproblem ButtonClick-Prozedur

Beitrag von af0815 »

Das mit dem Quellcode halten wir schon aus. Ein paar Komentare Wilds schon geben :mrgreen:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten