unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
tleft,
tright,
ttop,
tbottom : boolean;
lastkey : byte;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Image1.Canvas.LineTo(0,Form1.Image1.Height-1);
Form1.Image1.Canvas.LineTo(Form1.Image1.Width-1,Form1.Image1.Height-1);
Form1.Image1.Canvas.LineTo(Form1.Image1.Width-1,0);
Form1.Image1.Canvas.LineTo(0,0);
Form1.Image1.Canvas.MoveTo((Form1.Image1.Width div 2),(Form1.Image1.Height div 2));
tleft:=false;
tright:=false;
ttop:=false;
tbottom:=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
truenr: byte;
begin
truenr:=0;
if tleft=true then Inc(truenr);
if tright=true then Inc(truenr);
if ttop=true then Inc(truenr);
if tbottom=true then Inc(truenr);
if tright=true then
begin
Form1.Image1.Canvas.MoveTo(Form1.Image1.Canvas.PenPos.X+1,Form1.Image1.Canvas.PenPos.Y);
lastkey:=68;
end
else if tleft=true then
begin
Form1.Image1.Canvas.MoveTo(Form1.Image1.Canvas.PenPos.X-1,Form1.Image1.Canvas.PenPos.Y);
lastkey:=65;
end
else if ttop=true then
begin
Form1.Image1.Canvas.MoveTo(Form1.Image1.Canvas.PenPos.X,Form1.Image1.Canvas.PenPos.Y-1);
lastkey:=87;
end
else if tbottom=true then
begin
Form1.Image1.Canvas.MoveTo(Form1.Image1.Canvas.PenPos.X,Form1.Image1.Canvas.PenPos.Y+1);
lastkey:=83;
end;
Form1.Image1.Canvas.Pixels[Form1.Image1.Canvas.PenPos.X,Form1.Image1.Canvas.PenPos.Y]:=clBlack;
truenr:=0;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=65 then tleft:=true;
if key=68 then tright:=true;
if key=87 then ttop:=true;
if key=83 then tbottom:=true;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=65 then tleft:=false;
if key=68 then tright:=false;
if key=87 then ttop:=false;
if key=83 then tbottom:=false;
end;
end.