Einzelnen Beitrag anzeigen

deLin

Registriert seit: 8. Jun 2005
4 Beiträge
 
#19

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 8. Jun 2005, 13:29
Hi ihr,

Ich schreib das mal hier rein und zwar:

Ich mache gerade ein Quiz...es hat 3 Antwortmöglichkeiten. Ich wolte fragen, wie man 1.) einen Joker dazumacht, der eine falsche Antowrt wegstreicht und 2.) die Auswerung macht und 3.) die Fragen in geordneter Reihenfolge erscheinen lässt.
Hier ist mal mein Quellcode:

Delphi-Quellcode:
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    b_frage: TButton;
    b_fertig: TButton;
    Panel1: TPanel;
    RadioGroup1: TRadioGroup;
    BitBtn1: TBitBtn;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure b_frageClick(Sender: TObject);
    procedure b_fertigClick(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

const Max = 7; // 7 Fragen
var
  Form1: TForm1;
  Frage : Array[1..Max] of String; // von 1-5
  Antwort: Array[1..Max, 1..3] of
  String;
  Richtig: Array[1..Max] of Integer;
  Nr : Integer; // Die Nummer der jeweils richtigen Antwort
  (*reihe: Array[1..7] of integer;*)

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
(*randomize;
for i:= 1 to 7 do
begin*)


Frage[1] := 'Was ist das von Borland entwickelte Delphi?';
    Antwort[1,1]:= 'Eine griechische Stadt, die von den sogenannten "Borländern" gegründet wurde';
    Antwort[1,2]:= 'Ein von der Firma Borland entwickeltes Programmier-Programm';
    Antwort[1,3]:= 'Ein Roboter, der von einem Mann namens Borland gebaut wurde und "Delphi" heißt';
    Richtig[1]:= 2;

Frage[2] := 'Mit welcher Delphi-Version konnte Borland viele Pascal-Veteranen begeistern?';
    Antwort[2,1]:= 'Delphi 25';
    Antwort[2,2]:= 'Delphi 10';
    Antwort[2,3]:= 'Delphi 1';
    Richtig[2]:= 3;

Frage[3] := 'Welches "Pascal-Dialekt" von Borland wurde besonders berühmt?';
    Antwort[3,1]:= 'TurboPascal';
    Antwort[3,2]:= 'SuperPascal';
    Antwort[3,3]:= 'HyperPascal';
    Richtig[3]:= 1;

Frage[4] := 'Welchen anderen Namen bekam Delphi für kurze Zeit?';
    Antwort[4,1]:= 'Enterprise';
    Antwort[4,2]:= 'Inprise';
    Antwort[4,3]:= 'Surprise';
    Richtig[4]:= 2;

Frage[5] := 'Wann wurde die Programmiersprache, auf der Delphi basiert, entwickelt?';
    Antwort[5,1]:= '500 vor Christus von König Alexander I. von Makedonien';
    Antwort[5,2]:= '1920 von Melina Mercouri, eine griechische Schauspielerin';
    Antwort[5,3]:= 'In den Jahren 1968 - 1972 an der ETH Zürich von Prof. Nikolaus Wirth';
    Richtig[5]:= 3;

Frage[6] := 'Was sind globale Variablen?';
    Antwort[6,1]:= 'Globale Variablen gibt es gar nicht';
    Antwort[6,2]:= 'Globale Variablen können nur durch spezielle Befehle angesprochen werden';
    Antwort[6,3]:= 'Globale Variablen gelten im ganzen Programm';
    Richtig[6]:= 3;

Frage[7] := 'Was ist das Gegenstück zur globalen Variable';
    Antwort[7,1]:= 'Die "normale Variable"';
    Antwort[7,2]:= 'Die "lokale Variable"';
    Antwort[7,3]:= 'Die "Variable"';
    Richtig[7]:= 2;


end;

procedure TForm1.b_frageClick(Sender: TObject);
begin
Nr := random(Max) + 1;
Panel1.caption := Frage[Nr];
RadioGroup1.Items[0] := Antwort[Nr,1]; // beginnt bei 0!
Radiogroup1.Items[1] := Antwort[Nr,2];
Radiogroup1.Items[2] := Antwort[Nr,3];
RadioGroup1.ItemIndex:= -1;
end;

procedure TForm1.b_fertigClick(Sender: TObject);
begin
if Radiogroup1.ItemIndex = Richtig[Nr]-1
then Panel1.Caption := 'Richtig!'
else Panel1.Caption := 'Falsch!';
if Radiogroup1.ItemIndex = -1
then Panel1.Caption :='Bitte geben Sie eine Antwort!';
end;
  Mit Zitat antworten Zitat