Entwickler-Ecke

Sonstiges (Delphi) - Programmierung eines Quizes mit Delphi


Carolaiin - Do 01.03.12 17:53
Titel: Programmierung eines Quizes mit Delphi
Hey,
Ich habe seit 2 Jahren Informatik in der Schule, leider dabei aber noch nicht wirklich gelernt mit Delphi um zugehen, da unser Lehrer der Meinung ist das er uns nichts beibringen müsse weil ja eh alles im Internet steht. Um zum Punkt zu kommen soll jeder unseres Kurses ein Spiel programmieren. Ich habe die Aufgabe ein Quiz zu programmieren. Die Schwierigkeit der Fragen soll nach und nach erhöht werden.Das Quiz soll aus 15 Fragen bestehen. Ich habe bereits etwas Quelltext, jedoch kommt immer wieder eine Fehlermeldung. Habe bereits meinen Informatik Lehrer drüber schauen lassen, der hat aber auch keinen Fehler gefunden. Deswegen will ich es nun hier versuchen und hoffe , dass man mir weiter helfen kann :)
Hier mal der Quelltext der bis jetzt vorhanden ist.

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:
55:
56:
57:
58:
59:
var feld: array [1..15,1..6of String{15 Fragen, 4 Antwortmöglichkeiten,richtige Antwort+Frage selbst)}

function quizfragen(n,m: Integer): string{Einlesen der Quizfragen}
{var feld: array [1..15,1..6] of String; }

begin
feld[1,1]:='Aus welchem Pflanzenteil der Kamille wird Tee hergestellt?';
feld[2,1]:='Wie heißt der höchste Berg Deutschlands?';
feld[3,1]:='Was sind Pumps?';

end;

function quizantwort(n,m: Integer): string;
{var feld: array [1..15,1..6] of string;  }

begin
feld[1,2]:='Blüte'   ;
feld[1,3]:='Stiel'   ;
feld[1,4]:='Blätter' ;
feld[1,5]:='Wurzel'  ;
feld[2,2]:='Zugspitze';
feld[2,3]:='Schneefernerkopf';
feld[2,4]:='Mount Everest';
feld[2,5]:='Ätna';
feld[3,2]:='Damenschuhe';
feld[3,3]:='Werkzeuge';
feld[3,4]:='Gewürze';
feld[3,5]:='Seen';

end;

function quizrichtig(n,m: Integer): string;

{var feld: array [1..15,1..6] of string;}

begin
feld[1,6]:='Blüte';
feld[2,6]:='Zugspitze';
feld[3,6]:='Damenschuhe';

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
  var n : integer;
      quizfragen,quizantwort : string;
begin
            randomize;
            n:=random(3)+1;
            
            Panel1.Caption:=quizfragen    (feld[n,1]);
            Checkboxa.caption:=quizantwort(feld[n,2]);
            Checkboxb.Caption:=quizantwort(feld[n,3]);
            Checkboxc.caption:=quizantwort(feld[n,4]);
            Checkboxd.Caption:=quizantwort(feld[n,5]);

                if Checkboxa.checked
                  then showmessage('Richtig');

end;

In dieser Zeile Panel1.Caption:=quizfragen    (feld[n,1]); kommt dann immer der Fehler
Zitat:
Semikolon oder anderer Operator fehlt

Hoffe ihr könnt mir irgendwie helfen, und ihr blickt einigermaßen durch :)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


bummi - Do 01.03.12 18:06

quizfragen erwartet 2 Integerparameter (n,m: Integer)
Du übergibst aber einen String z.B. feld[n,1]


Delphi-Laie - Do 01.03.12 19:04

user profile iconCarolaiin hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe seit 2 Jahren Informatik in der Schule, leider dabei aber noch nicht wirklich gelernt mit Delphi um zugehen, da unser Lehrer der Meinung ist das er uns nichts beibringen müsse weil ja eh alles im Internet steht.


Das bezweifele ich. Ob da wohl Frustration dieser m.E. etwas anmaßenden Einschätzung vorausging? Es liest sich so, als täte er gar nichts, und das wäre ein massiver Dienstverstoß (stimmt also höchstwahrscheinlich nicht). Vermutlich bist Du Gymnasiast (oder anderweitiger Abiturient), und Euer Lehrer will Euch zu selbständiger Arbeit(sweise) erziehen (vielleicht (!) sich auch ein wenig Arbeit vom Halse halten). Aus Diskussionen erfuhr ich, daß im Informatikstudium auch keine Programmiersprache gelehrt wird, sondern das Beherrschen einer solchen Voraussetzung und als selbständige Aneignung gefordert ist. Im Studium, egal welchem, wirst Du noch ganz anders zu selbständiger Arbeit(sweise) gezwungen sein (oder elend scheitern).

Aber zum Erlernen gibt es neben Büchern und Anleitungen im Internet natürlich auch die Foren.

Konkrete Fragen muß allerdings Dein Lehrer beantworten, (auch) dafür wird er schließlich bezahlt.


Carolaiin - Do 01.03.12 20:12

Es steht ja hier auch nicht zur Debatte wie nun der Unterricht gehalten wird. Es geht viel mehr darum, was ich bei dem, was ich mir selbst angeeignet habe falsch gemacht habe bzw. worauf ich acht geben sollte damit das Programm endlich läuft ;).


Narses - Do 01.03.12 23:16

Moin und :welcome: in der EE!

user profile iconCarolaiin hat folgendes geschrieben Zum zitierten Posting springen:
Es steht ja hier auch nicht zur Debatte wie nun der Unterricht gehalten wird.
Das ist richtig, deshalb wollen wir auch gleich zu beginn festhalten, dass wir nicht deine Hausaufgaben machen werden. ;) Nur damit wir das schonmal klargestellt haben. :nixweiss: Auch wenn die Ausführungen von user profile iconDelphi-Laie sicher Off-Topic, vielleicht auch unangebracht sind, hat er nichts desto Trotz recht... 8) Aber diesen Teil der Diskussion wollen wir hiermit endgültig einstellen, das bringt uns alle nicht weiter. :|

user profile iconCarolaiin hat folgendes geschrieben Zum zitierten Posting springen:
Es geht viel mehr darum, was ich bei dem, was ich mir selbst angeeignet habe falsch gemacht habe bzw. worauf ich acht geben sollte damit das Programm endlich läuft ;).
Dann fangen wir mal an:Damit solltest du schonmal weiter kommen.

cu
Narses


Carolaiin - Mo 05.03.12 18:29

Ah Dankeschön :) habe die Funktionen jetzt als Prozedur geschrieben , und anstatt der Checkboxen nun Radiobutton verwendet:) Jetzt läuft es erstmal :) Werde einfach mal weiter Programmieren & hoffe das keine Probleme mehr auftreten ^^
Danke für eure Hilfe ! :D