![]() |
Quiz in Delphi
Hi Leute,
also ich will ein Quiz in Delphi machen, un zwar mit einen Mehrdimensionalen Array, wo: Frage, 4 Antwortmöglichkeiten und die richtige Frage! Quasi
Delphi-Quellcode:
--> Da es 60 Fragen sind 1..60 un da es 6 verschiedene zeilen sind, weil Frage, Antwortmöglichkeiten und die richtige Frage!
feld: array [1..60,1..6] of String;
Nun nutze ich auch module also Units, in den die Arrays sind! Im Projekt selber werden 3 verschieden Units verwendet: uses Fragen1, Antworten, richtige_Antworten;
Delphi-Quellcode:
Das ist mein Code für die erste Frage, man kann erkennen das ich für die erste Frage mittels Randomize eine von 3 Fragen aussuche, die im Array bzw Unit Fragen enthalten sind!
procedure TForm1.Button2Click(Sender: TObject);
begin showmessage('Verloren, versuchs noch einmal.'); close; end; procedure TForm1.Button1Click(Sender: TObject); begin randomize; panel3.Caption:='0 €'; panel2.caption:='Nr. 1'; n:=random(3)+1; panel1.caption:=quizfragen(feld[n,1]); radiobutton1.caption:=quizant(feld[2]); radiobutton2.Caption:=quizant(feld[n,3]); radiobutton3.caption:=quizant(feld[n,4]); radiobutton4.Caption:=quizant(feld[n,5]); if radiobutton2.checked then showmessage('Richtig'); end;
Delphi-Quellcode:
--> Hier im Panel die Frage angezeigt werden, und zwar soll sich das Programm die Frage aus der Unit und dem Feld holen..
panel1.caption:=quizfragen(feld[n]);
die Unit Fragen sieht so aus:
Delphi-Quellcode:
also sind diese 3 Fragen die 3 möglichen die ich mit Randomize aussuchen will!
procedure quizfragen;
var feld: array [1..60,1..6] of String; begin feld[1,1]:='Wie heißt der höchste Berg Deutschlands?'; feld[2,1]:='Wie viele Beine hat eine Spinne?'; feld[3,1]:='Was sind Pumps?'; Nun das Problem, das Programm holt sich leider keine Frage aus der Unit! Es wird die Fehlermedlung: [Fehler] Unit1.pas(67): E2034 Zu viele Parameter an der Stelle
Delphi-Quellcode:
angezeigt, nur leider weiß ich nicht was ich Falsch gemacht habe!?!?
panel1.caption:=quizfragen(feld[n,1]);
Bitte helft mir, danke! Und ist die überhaupt möglich eine Frage aus einer Unit und dem darin enthaltenen Array zu holen? Danke für die Antwort! LG Oli [edit=mkinzler]Delphi-Tags statt bold Mfg, mkinzler[/edit] |
Re: Quiz in Delphi
Hallo und Willkommen in der DP :dp:,
Du hast feld als lokale Variable definiert, d.h. es ist außerhalb der procedure quizfragen überhaupt nicht sichtbar. Auch wenn es etwas übertrieben erscheint, würde ich mir evtl. eine Klasse für die Frage und die möglichen Antworten bauen, das macht das Ganze leichter wartbar. |
Re: Quiz in Delphi
Die Prozedur besitzt auch keinen Parameter
|
Re: Quiz in Delphi
Die würden auch nichts nützen, es müsste dann schon eine Funktion sein :zwinker:.
|
Re: Quiz in Delphi
Als was müsste ich jez in die Unit reinschreiben, ich wollts halt mit Unit machen, weil wir das bald inner Klausur brauchen^^
...könnt mir nen Quelltextstück schreiben, wie ich das mit dem ausrufen der fragen aus dem array und unit mache?! |
Re: Quiz in Delphi
Delphi-Quellcode:
function quizfragen( n, m: Integer): string;
|
Re: Quiz in Delphi
wunderbar...danke!
:thumb: aber wie ändere ich es hier: panel1.caption:=quizfragen(feld[n,1]); ? |
Re: Quiz in Delphi
Delphi-Quellcode:
Kann man aber auch selbst drauf kommen ;)
panel1.caption:=quizfragen(n,1);
|
Re: Quiz in Delphi
ja stimmt...
nur leider wir immer noch als Fehlermeldung: Zu viele Parameter angezeit! |
Re: Quiz in Delphi
Wie sieht denn "quizfragen" jetzt aus?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz