unit uWWM;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ButtonClose: TButton;
LabelFrageText: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ButtonCloseClick(Sender: TObject);
private
{ Private-Deklarationen }
FRichtigBeantwortet: integer;
FGewinnSumme: double;
public
{ Public-Deklarationen }
procedure FrageLaden;
procedure GewinnSummeAktualisieren;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
// Jeder der 4 Buttons hat dieses "OnClick"-Ereignis
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Sender
as TButton).Tag = 0
then
begin // falsche Antwort
// ... wiederholen???
// oder
ButtonClose.Click;
end else begin // richtige Antwort
GewinnSummeAktualisieren;
FrageLaden;
end;
end;
procedure TForm1.ButtonCloseClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FRichtigBeantwortet := 0;
end;
procedure TForm1.FrageLaden;
var
RichtigeAntwort: Integer;
begin
// Hier Code zum Laden der Frage, z.B. aus einer Datei
LabelFrageText.Caption := '
Der Text zur Frage';
// In der Datei muss natürlich angegeben sein, welche Antwort die richtige ist
RichtigeAntwort := 1;
// 2, 3 oder 4;
// Alle Buttons Tag auf "null"
Button1.Tag := 0;
Button2.Tag := 0;
Button3.Tag := 0;
Button4.Tag := 0;
// Welcher Button gibt die richtige Antwort
case RichtigeAntwort
of
1 : Button1.Tag := 1;
2 : Button2.Tag := 1;
3 : Button3.Tag := 1;
4 : Button4.Tag := 1;
else raise Exception.Create('
Richtige Antwort im ungültigen Bereich 1..4');
end;
end;
procedure TForm1.GewinnSummeAktualisieren;
begin
Inc(FRichtigBeantwortet);
case FRichtigBeantwortet
of
1 : FGewinnSumme := 50.00;
2 : FGewinnSumme := 100.00;
3 : FGewinnSumme := 200.00;
// ... usw.
end;
end;
end.