unit
Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Math;
type
TMoveForm =
class
(TForm)
EditOPX1Tag: TLabel;
EditOSR1Tag: TLabel;
EditOPX1: TEdit;
EditOPY1: TEdit;
EditOSR1: TEdit;
BClearEdit: TButton;
BDefEdits: TButton;
CheckBox1: TCheckBox;
RG1: TRadioGroup;
EditOPY1Tag: TLabel;
EditOSX1Tag: TLabel;
EditOSX1: TEdit;
EditOSY1Tag: TLabel;
EditOSY1: TEdit;
EditOSL1: TEdit;
EditOSL1Tag: TLabel;
CheckBox2: TCheckBox;
RG2: TRadioGroup;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure
FormCreate(Sender: TObject);
Procedure
ChSize(SD:
Boolean
);
procedure
AllEditKeyPress(Sender: TObject;
var
Key:
Char
);
procedure
EditOPX1Exit(Sender: TObject);
procedure
EditOPY1Exit(Sender: TObject);
procedure
EditOSR1Exit(Sender: TObject);
procedure
EditOSX1Exit(Sender: TObject);
procedure
EditOSY1Exit(Sender: TObject);
procedure
EditOSL1Exit(Sender: TObject);
procedure
BClearEditClick(Sender: TObject);
procedure
BDefEditsClick(Sender: TObject);
private
public
end
;
var
MoveForm: TMoveForm;
implementation
uses
Unit1, Unit2;
{$R *.dfm}
procedure
TMoveForm
.
FormCreate(Sender: TObject);
begin
MoveForm
.
Hide;
ShowForm
.
SetLastSound(
0
);
end
;
procedure
TMoveForm
.
ChSize(SD:
Boolean
);
begin
Robot1
.
EraseAll;
If
(SD)
then
MoveForm
.
ScaleBy(
1
,
2
)
else
MoveForm
.
ScaleBy(
2
,
1
);
end
;
procedure
TMoveForm
.
AllEditKeyPress(Sender: TObject;
var
Key:
Char
);
begin
if
(
not
(Key
in
[
'0'
..
'9'
, #
8
]))
then
begin
Key := #
0
; Beep;
end
;
end
;
procedure
TMoveForm
.
EditOPX1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOPX1
.
Text=
''
)
then
MoveForm
.
EditOPX1
.
Text:=
'0'
;
end
;
procedure
TMoveForm
.
EditOPY1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOPY1
.
Text=
''
)
then
MoveForm
.
EditOPY1
.
Text:=
'0'
;
end
;
procedure
TMoveForm
.
EditOSR1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOSR1
.
Text=
''
)
or
(MoveForm
.
EditOSR1
.
Text=
'0'
)
then
MoveForm
.
EditOSR1
.
Text:=
'1'
;
end
;
procedure
TMoveForm
.
EditOSX1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOSX1
.
Text=
''
)
or
(MoveForm
.
EditOSX1
.
Text=
'0'
)
then
MoveForm
.
EditOSX1
.
Text:=
'1'
;
end
;
procedure
TMoveForm
.
EditOSY1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOSY1
.
Text=
''
)
or
(MoveForm
.
EditOSY1
.
Text=
'0'
)
then
MoveForm
.
EditOSY1
.
Text:=
'1'
;
end
;
procedure
TMoveForm
.
EditOSL1Exit(Sender: TObject);
begin
If
(MoveForm
.
EditOSL1
.
Text=
''
)
or
(MoveForm
.
EditOSL1
.
Text=
'0'
)
then
MoveForm
.
EditOSL1
.
Text:=
'1'
;
end
;
procedure
TMoveForm
.
BClearEditClick(Sender: TObject);
begin
MoveForm
.
EditOPX1
.
Text:=
'0'
;
MoveForm
.
EditOPY1
.
Text:=
'0'
;
MoveForm
.
EditOSR1
.
Text:=
'1'
;
MoveForm
.
EditOSX1
.
Text:=
'1'
;
MoveForm
.
EditOSY1
.
Text:=
'1'
;
MoveForm
.
EditOSL1
.
Text:=
'1'
;
end
;
procedure
TMoveForm
.
BDefEditsClick(Sender: TObject);
begin
If
((Field1
.
GetPX+Detail1
.
GetPX)<Round(ShowForm
.
WorkField
.
Width/
5
*
2
))
then
begin
MoveForm
.
RG1
.
ItemIndex:=
0
;
MoveForm
.
RG2
.
ItemIndex:=
0
;
MoveForm
.
EditOPX1
.
Text:=IntToStr(Detail1
.
GetPX+Round(ShowForm
.
WorkField
.
Width/
5
*
2
));
MoveForm
.
EditOPY1
.
Text:=
'0'
;
MoveForm
.
EditOSR1
.
Text:=
'10'
;
MoveForm
.
EditOSX1
.
Text:=
'1'
;
MoveForm
.
EditOSY1
.
Text:=
'1'
;
MoveForm
.
EditOSL1
.
Text:=
'1'
;
end
else
begin
If
((Field1
.
GetPX+Detail1
.
GetPX)>Round(ShowForm
.
WorkField
.
Width/
5
*
3
))
then
begin
MoveForm
.
RG1
.
ItemIndex:=
0
;
MoveForm
.
RG2
.
ItemIndex:=
0
;
MoveForm
.
EditOPX1
.
Text:=IntToStr(Detail1
.
GetPX-Round(ShowForm
.
WorkField
.
Width/
5
*
2
));
MoveForm
.
EditOPY1
.
Text:=
'0'
;
MoveForm
.
EditOSR1
.
Text:=
'10'
;
MoveForm
.
EditOSX1
.
Text:=
'1'
;
MoveForm
.
EditOSY1
.
Text:=
'1'
;
MoveForm
.
EditOSL1
.
Text:=
'1'
;
end
else
begin
Randomize;
MoveForm
.
RG1
.
ItemIndex:=
0
;
MoveForm
.
RG2
.
ItemIndex:=
0
;
If
(RandomRange(-
49
,
50
)<=
0
)
then
MoveForm
.
EditOPX1
.
Text:=IntToStr(Detail1
.
GetPX-Round(ShowForm
.
WorkField
.
Width/
5
*
1
))
else
MoveForm
.
EditOPX1
.
Text:=IntToStr(Detail1
.
GetPX+Round(ShowForm
.
WorkField
.
Width/
5
*
1
));
MoveForm
.
EditOPY1
.
Text:=
'0'
;
MoveForm
.
EditOSR1
.
Text:=
'10'
;
MoveForm
.
EditOSX1
.
Text:=
'1'
;
MoveForm
.
EditOSY1
.
Text:=
'1'
;
MoveForm
.
EditOSL1
.
Text:=
'1'
;
end
;
end
;
end
;
end
.