Einzelnen Beitrag anzeigen

Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#7
  Alt 13. Apr 2003, 00:53
Elegantere Lösung:
Delphi-Quellcode:
const
  MaxAntwort = 3;

var
  arrFehler: array [1..MaxAntwort] of string;

// Initialisierung
  arrFehler[1] := 'Leider falsch!';
  arrFehler[2] := 'Das war nicht richtig!';
  arrFehler[3] := 'Du hast leider einen Fehler gemacht!';

...

function WaehleAntwort: string;

var
  i: integer;

begin
  Randomize;
  i := random(MaxAntwort + 1);
  result := arrFehler[i];
end;

...

// Aufruf
if falsch then
  begin
  Label1.Caption := WaehleAntwort;
  ...
end;
Dabei hast Du den Vorteil, dass Du die Funktion von beliebigen Stellen aus aufrufen kannst und dabei ist es möglich, jederzeit weitere Antworten hinzufügen. Du musst lediglich die Konstante MaxAntwort anpassen.

Erweiterungsmöglichkeiten:
Falls Du auch Antworten für richtige Ergebnisse brauchst, machst Du das Array zweidimensional und übergibst der Funktion einen Parameter, durch den festgelegt wird, ob eine Richtig- oder Falsch-Antwort gebraucht wird.
Du könntest die Antworten dann auch aus einer Datei auslesen oder ...

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat