All pastes #291062 Raw Edit

Something

public text v1 · immutable
#291062 ·published 2006-12-24 18:39 UTC
rendered paste body
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.