2009-10-23 18:21:14 -04:00
|
|
|
program project1;
|
|
|
|
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
|
|
|
|
uses
|
|
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
|
|
cthreads,
|
|
|
|
{$ENDIF}{$ENDIF}
|
|
|
|
Classes, SysUtils, CustApp,
|
|
|
|
Forms,Interfaces,
|
2009-10-25 16:55:50 -04:00
|
|
|
LCLIntf,
|
2009-10-23 18:21:14 -04:00
|
|
|
Client
|
|
|
|
|
2009-10-25 16:55:50 -04:00
|
|
|
|
2009-10-23 18:21:14 -04:00
|
|
|
{ you can add units after this };
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
|
|
{ MufasaTests }
|
|
|
|
|
|
|
|
MufasaTests = class(TCustomApplication)
|
|
|
|
protected
|
|
|
|
procedure DoRun; override;
|
|
|
|
public
|
|
|
|
constructor Create(TheOwner: TComponent); override;
|
|
|
|
destructor Destroy; override;
|
|
|
|
procedure WriteHelp; virtual;
|
|
|
|
end;
|
|
|
|
|
|
|
|
{ MufasaTests }
|
|
|
|
|
|
|
|
procedure MufasaTests.DoRun;
|
|
|
|
|
|
|
|
var
|
|
|
|
ErrorMsg: String;
|
2009-10-25 16:55:50 -04:00
|
|
|
Time: DWord;
|
2009-10-23 18:21:14 -04:00
|
|
|
C: TClient;
|
2009-10-25 16:55:50 -04:00
|
|
|
I, W, H, X, Y: Integer;
|
|
|
|
|
2009-10-23 18:21:14 -04:00
|
|
|
begin
|
|
|
|
// quick check parameters
|
|
|
|
ErrorMsg:=CheckOptions('h','help');
|
|
|
|
if ErrorMsg<>'' then begin
|
|
|
|
ShowException(Exception.Create(ErrorMsg));
|
|
|
|
Terminate;
|
|
|
|
Exit;
|
|
|
|
end;
|
|
|
|
|
|
|
|
// parse parameters
|
|
|
|
if HasOption('h','help') then begin
|
|
|
|
WriteHelp;
|
|
|
|
Terminate;
|
|
|
|
Exit;
|
|
|
|
end;
|
|
|
|
|
|
|
|
{ add your program here }
|
|
|
|
C := TClient.Create;
|
2009-10-25 16:55:50 -04:00
|
|
|
|
|
|
|
C.MWindow.GetDimensions(W, H);
|
|
|
|
Time := GetTickCount;
|
|
|
|
for i := 0 to 100 do
|
|
|
|
C.MFinder.FindColor(X, Y, 0, 0, 0, W - 1, H - 1);
|
|
|
|
writeln('Time: ' + IntToStr(GetTickCount - Time));
|
|
|
|
|
|
|
|
if C.MFinder.FindColor(X, Y, 0, 0, 0, W - 1, H - 1) then
|
|
|
|
begin
|
|
|
|
C.MInput.SetMousePos(X, Y);
|
|
|
|
writeln('found!');
|
|
|
|
end else
|
|
|
|
begin
|
|
|
|
writeln('not found!');
|
|
|
|
end;
|
2009-10-23 18:21:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C.Free;
|
|
|
|
|
|
|
|
|
|
|
|
// stop program loop
|
|
|
|
Terminate;
|
|
|
|
end;
|
|
|
|
|
|
|
|
constructor MufasaTests.Create(TheOwner: TComponent);
|
|
|
|
begin
|
|
|
|
inherited Create(TheOwner);
|
|
|
|
StopOnException:=True;
|
|
|
|
end;
|
|
|
|
|
|
|
|
destructor MufasaTests.Destroy;
|
|
|
|
begin
|
|
|
|
inherited Destroy;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure MufasaTests.WriteHelp;
|
|
|
|
begin
|
|
|
|
{ add your help code here }
|
|
|
|
writeln('Usage: ',ExeName,' -h');
|
|
|
|
end;
|
|
|
|
|
|
|
|
var
|
|
|
|
Application: MufasaTests;
|
|
|
|
|
|
|
|
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
|
|
|
|
|
|
|
|
begin
|
|
|
|
Application:=MufasaTests.Create(nil);
|
|
|
|
Application.Title:='My Application';
|
|
|
|
Application.Run;
|
|
|
|
Application.Free;
|
|
|
|
end.
|
|
|
|
|