 |
|
|
Informatik |
|
Autor: be
21.09.2005 10:48 427
|
|
|
Gedächtnistraining - Lösung
unit mGedaechtnistraining;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
edZahl: TEdit;
Memo1: TMemo;
btNeu: TButton;
lbAntwort: TLabel;
btWiederholen: TButton;
Timer1: TTimer;
btOK: TButton;
Label1: TLabel;
Label2: TLabel;
procedure btNeuClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure btWiederholenClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btOKClick(Sender: TObject);
private
{ Private-Deklarationen }
zahlen: Array[1..5] of Integer;
index: Integer;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize
end;
procedure TForm1.btNeuClick(Sender: TObject);
var i: Integer;
begin
for i:=1 to 5 do
zahlen[i] := Random(101);
index := 1;
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if index <= 5 then
begin
edZahl.Text := IntToStr(zahlen[index]);
Inc(index);
end
else
begin
edZahl.Text := '';
Timer1.Enabled := False;
end;
end;
procedure TForm1.btWiederholenClick(Sender: TObject);
begin
index := 1;
Timer1.Enabled := True;
end;
procedure TForm1.btOKClick(Sender: TObject);
var fehler: Boolean;
i: Integer;
begin
fehler := False;
for i:=1 to 5 do
if StrToInt(Memo1.Lines[i-1]) <> zahlen[i] then
fehler := True;
if fehler=False then
lbAntwort.Caption := 'Richtig!'
else
lbAntwort.Caption := 'Falsch!';
{ oder:
if (StrToInt(Memo1.Lines[0]) = zahlen[1]) and
(StrToInt(Memo1.Lines[1]) = zahlen[2]) and
(StrToInt(Memo1.Lines[2]) = zahlen[3]) and
(StrToInt(Memo1.Lines[3]) = zahlen[4]) and
(StrToInt(Memo1.Lines[4]) = zahlen[5])
then
lbAntwort.Caption := 'Richtig!'
else
lbAntwort.Caption := 'Falsch!'; }
end;
end.