Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Quiz in Delphi (https://www.delphipraxis.net/127887-quiz-delphi.html)

chuck.9 20. Jan 2009 18:34


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:
feld: array [1..60,1..6] of String;
--> Da es 60 Fragen sind 1..60 un da es 6 verschiedene zeilen sind, weil Frage, Antwortmöglichkeiten und die richtige Frage!

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:
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;
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!
Delphi-Quellcode:
panel1.caption:=quizfragen(feld[n]);
--> Hier im Panel die Frage angezeigt werden, und zwar soll sich das Programm die Frage aus der Unit und dem Feld holen..
die Unit Fragen sieht so aus:

Delphi-Quellcode:
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?';
also sind diese 3 Fragen die 3 möglichen die ich mit Randomize aussuchen will!
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:
panel1.caption:=quizfragen(feld[n,1]);
angezeigt, nur leider weiß ich nicht was ich Falsch gemacht habe!?!?

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]

DeddyH 20. Jan 2009 18:43

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.

mkinzler 20. Jan 2009 18:44

Re: Quiz in Delphi
 
Die Prozedur besitzt auch keinen Parameter

DeddyH 20. Jan 2009 18:48

Re: Quiz in Delphi
 
Die würden auch nichts nützen, es müsste dann schon eine Funktion sein :zwinker:.

chuck.9 20. Jan 2009 18:51

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?!

mkinzler 20. Jan 2009 18:54

Re: Quiz in Delphi
 
Delphi-Quellcode:
function quizfragen( n, m: Integer): string;

chuck.9 20. Jan 2009 18:59

Re: Quiz in Delphi
 
wunderbar...danke!
:thumb:

aber wie ändere ich es hier: panel1.caption:=quizfragen(feld[n,1]);
?

DeddyH 20. Jan 2009 19:01

Re: Quiz in Delphi
 
Delphi-Quellcode:
panel1.caption:=quizfragen(n,1);
Kann man aber auch selbst drauf kommen ;)

chuck.9 20. Jan 2009 19:05

Re: Quiz in Delphi
 
ja stimmt...
nur leider wir immer noch als Fehlermeldung: Zu viele Parameter angezeit!

DeddyH 20. Jan 2009 19:06

Re: Quiz in Delphi
 
Wie sieht denn "quizfragen" jetzt aus?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
Seite 1 von 4  1 23     Letzte »    

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