interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 =
class
(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Timer1: TTimer;
procedure
FormCreate(Sender: TObject);
procedure
Button1Click(Sender: TObject);
procedure
Timer1Timer(Sender: TObject);
private
public
end
;
var
Form1: TForm1;
implementation
const
KC =
5
;
LT =
10
;
var
numb:
integer
;
right:
integer
;
n:
integer
;
{$R *.dfm}
function
GetNumb(k:
integer
) :
integer
;
var
n:
integer
;
i:
integer
;
begin
n:= Random(
9
)+
1
;
for
i :=
1
to
(k-
1
)
do
n := n*
10
+ Random(
10
);
GetNumb := n;
end
;
procedure
TForm1
.
FormCreate (Sender: TObject);
begin
Edit1
.
Visible :=
False
;
Edit1
.
MaxLength := KC;
Label1
.
Wordwrap :=
True
;
Label1
.
Caption :=
'Сейчас на экране будут появляться числа. '
+
'Вы должны запомнить число, набрать его на клавиатуре '
+
'и нажать <Enter>'
;
Button1
.
Caption :=
'Начать'
;
Timer1
.
Enabled :=
False
;
Timer1
.
Interval :=
1000
;
right :=
0
;
n :=
0
;
Randomize;
0
end
;
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
if
Button1
.
Caption =
'Завершить'
then
Form1
.
Close;
if
Button1
.
Caption =
'Начать'
then
begin
Button1
.
Caption :=
'Завершить'
;
Button1
.
Visible :=
False
;
Label1
.
Caption :=
''
;
Label1. Font .Size :=
24
;
Edit1
.
Font
.
Size :=
24
;
numb := GetNumb(KC);
Label1
.
Caption := IntToStr(numb);
Timer1
.
Enabled :=
True
;
end
;
end
;
procedure
TForm1
.
Timer1Timer(Sender: TObject);
begin
Timer1
.
Enabled :=
False
;
Label1
.
Visible :=
False
;
Edit1
.
Visible :=
True
;
Edit1
.
SetFocus;
end
;
procedure
TForm1
.
Edit1KeyPress(Sender: TObject;
var
Key:
Char
);
var
igrok:
integer
;
begin
case
Key
of
10
'..'
9
',#
8
: ;
#
13
:
begin
igrok := StrToInt(Editl
.
Text) ;
if
(igrok = numb)
then
right := right +
1
;
n := n +
1
;
Edit1
.
Text :=
''
;
Edit1
.
Visible :=
False
;
if
n < LT
then
begin
numb := GetNumb(KC);
Label1
.
Caption : = IntToStr(numb);
end
Labell
.
Visible :=
True
;
Timerl
.
Enabled :=
True
;
else
begin
Labell
.
Font
.
Size :=
10
;
Labell
.
Caption := 'Результат:
1
+ #
13
+
'Показано чисел: '
+ IntToStr(LT) + #
13
+
'Правильных: '
+ IntToStr(right);
Labell
.
Visible :=
True
;
Buttonl
.
Visible :=
True
;
end
;
end
;
else
Key := Chr(
0
);
end
;
end
;
procedure
TForm1
.
FormCreate(Sender: TObject);
begin
procedure
TForm1
.
FormCreate (Sender: TObject);
begin
Editl
.
Visible :=
False
;
Editl
.
MaxLength := КС;
Labell
.
Wordwrap : =
True
;
Labell
.
Caption :=
'Сейчас на экране будут появляться числа. '
+
'Вы должны запомнить число, набрать его на клавиатуре '
+
'и нажать <Enter>'
; .
Buttonl
.
Caption :=
'Начать'
;
Timerl
.
Enabled :=
False
;
Timerl
.
Interval :=
1000
;
right :=
0
;
п :=
0
;
Randomize; o
end
;
end
;
procedure
TForm1
.
FormCreate(Sender: TObject);
begin
var
n:
integer
;
i:
integer
;
begin
n:= Random(
9
)+
1
;
for
i :=
1
to
(k-
1
)
do
n := n*
10
+ Random(
10
);
GetNumb := n;
end
;
procedure
TForm1
.
FormCreate (Sender: TObject);
begin
Edit1
.
Visible :=
False
;
Edit1
.
MaxLength := KC;
Label1
.
Wordwrap :=
True
;
Label1
.
Caption :=
'Сейчас на экране будут появляться числа. '
+
'Вы должны запомнить число, набрать его на клавиатуре '
+
'и нажать <Enter>'
;
Button1
.
Caption :=
'Начать'
;
Timer1
.
Enabled :=
False
;
Timer1
.
Interval :=
1000
;
right :=
0
;
n :=
0
;
Randomize;
0
end
;
end
;
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
if
Buttonl
.
Caption =
'Завершить'
then
Forml
.
Close;
*
if
Buttonl
.
Caption =
'Начать'
then
begin
Buttonl
.
Caption :=
'Завершить'
;
Buttonl
.
Visible :=
False
;
Labell
.
Caption : =
''
;
Labell. Font .Size :=
24
;
Editl
.
Font
.
Size : =
24
;
numb := GetNumb(KC);
Labell
.
Caption := IntToStr(numb);
Timerl
.
Enabled :=
True
;
end
;
end
;
end
.
procedure
TForm1
.
Timer1Timer(Sender: TObject);
begin
procedure
TForm1
.
Timer1Timer(Sender: TObject);
begin
Timerl
.
Enabled :=
False
;
Labell
.
Visible :=
False
;
Editl
.
Visible :=
True
;
Editl
.
SetFocus;
end
;
end
;
end
.