Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 

Re: Durch Zufall zweite Form öffnen

  Alt 28. Jan 2007, 11:13
Also mir wurden Array als "Hochhaus" erklärt
Und in jeder Etage gibt es Eintrag dessen Typ man deklarieren kann... z.B. "string" oder "Integer".

Dann gibt es zwei verschiedene Typen. Einmal ein "dynamisches Array" und dann ein "statisches Array". Wie der Name sagt, kann man im dynamischen Array die "Höhe des Hochhauses" ständig bestimmen. Beim Statischen hingegen ist sie immer gleich und wird während du programmierst festgelegt.

Der Zugriff erfolgt mit [X], wobei "X" die "Etage" ist.
Bei dynamischen Array ist es von "0" bis "Länge" - 1.
Bei statischen Arrays kann man den Bereich selber festlegen. (Wobei es sich empfiehlt auch hier von 0 an zu arbeiten, da man dann immer weis, was das erste Item ist )

Die Deklarierung erfolgt mit <Name des Arrays> : array of <Datentyp jedes arrayitems> (dynamisch) oder <Name des Arrays> : array [<Von>..<Bis>] of <Datentyp jedes arrayitems> (statisch).

Außerdem kann man die auch "mehrdimensional" machen, aber ich denke das es hier noch nicht zwingend notwendig ist.

Und nun zu deiner Frage:
(An alle die Konstanten kennen: Da ich davon ausgehen muss, dass "Goldstart" Konstanten nicht kennt, erspare ich es erstmal, und mach es "dynamisch" Wer lust hat kann ja die Konstanten erklären ^^)
Zuerst musst du mehere Arrays deklarieren. In den einen steht die Frage und in den anderen (außer eins) stehen die Antworten. (Ich nehme hier: 3 Antworten ) Und im letzten steht, wo die richtige Antwort steht
Delphi-Quellcode:
questions : array [0..7] of string;
answer1 : array [0..7] of string;
answer2 : array [0..7] of string;
answer3 : array [0..7] of string;
correct : array [0..7] of Integer;
Jetzt muss du beim erstellen der Frageform die Arrays belegen:
Delphi-Quellcode:
questions[0] := 'Wie lange dauert eine Woche (in Stunden)';
answer1[0] := '24';
answer2[0] := '168';
answer3[0] := '170';
correct[0] := 2;
...
questions[7] := 'Was ist der Hauptbestandteil der Erde';
answer1[7] := 'Stickstoff';
answer2[7] := 'Kohlenstoff';
answer3[7] := 'Sauerstoff';
correct[7] := 3;
Und jetzt kannst du die einzelenen Fragen "abfragen":
Delphi-Quellcode:
Label.Caption := questions[<Nummer der Frage>]
AnswerButton1.Caption := answer1[<Nummer der Frage>]
AnswerButton2.Caption := answer2[<Nummer der Frage>]
AnswerButton3.Caption := answer3[<Nummer der Frage>]
Und dann überprüfst du, wenn einer der Button geklickt wurde, ob es der richtige war:
Delphi-Quellcode:
if ClickedButton = correct[<Nummer der Frage>] then
  Showmessage('Richtig!')
else
  Showmessage('Falsch :(')
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat