我做了一个组件,经过注册,但是却没有显示出来,查看Samples中所含的组件中却有我的组件,这是什么原因呢??程序如下:
unit Qdir;interfaceuses
SysUtils, Classes, QControls, QStdCtrls;type
Tdir = class(TButton)
private
{ Private declarations }
//name:string;
//pro:string;
//direction:string;
//procedure lookup(n,p,d:string);
//function dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
protected
{ Protected declarations }
public
{ Public declarations }
name:string;
pro:string;
direction:string;
procedure lookup(n,p,d:string);
function dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
constructor Create(AOwner:TComponent);
published
{ Published declarations }
end;procedure Register;implementation
constructor Tdir.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
Enabled:=True;
Visible:=True;
Height:=25;
Width:=75;
end;procedure Tdir.lookup(n,p,d:string);
begin
name:=n;
pro:=p;
direction:=d;
end;function Tdir.dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
begin
if((a2<=x1)and(b1>=y2))then
result:='NW';//NW
if((x1<=a1)and(a2<=x2)and(b1>=y2))then
result:='RN';//RN
if((a1>=x2)and(b1>=y2))then
result:='NE';//NE
if((y1<=b1)and(b2<=y2)and(a2<=x1))then
result:='RW';//RW
if((y1<=b1)and(b2<=y2)and(a1>=x2))then
result:='RE';//RE
if((a2<=x1)and(b2<=y2))then
result:='SW';//SW
if((x1<=a1)and(a2<=x2)and(b2<=y1))then
result:='RS';//RS
if((a1>=x2)and(b2<=y1))then
result:='SE';//SE
if((b1>=y2)and(x1<a1)and(a1<x2))then
result:='N';//N
if((b1>=y2)and(x1<a2)and(a2<x2))then
result:='N';//N
if((b1>=y2)and(a1<x1)and(a2>x2))then
result:='N';//N
if((b2<=y1)and(x1<a1)and(a1<x2))then
result:='S';//S
if((b2<=y1)and(x1<a2)and(a2<x2))then
result:='S';//S
if((b2<=y1)and(a1<x1)and(a2>x2))then
result:='S';//S
if((a2<=x1)and(y1<b1)and(b1<y2))then
result:='W';//W
if((a2<=x1)and(y1<b2)and(b1<y2))then
result:='W';//W
if((a2<=x1)and(b1<y1)and(b2>y2))then
result:='W';//W
if((a1>=x2)and(y1<b1)and(b1<y2))then
result:='W';//W
if((a1>=x2)and(y1<b2)and(b1<y2))then
result:='W';//W
if((a1>=x2)and(b1<y1)and(b2>y2))then
result:='W';//W
if((a2>x1)and(b1<y2)and(a1<x1)and(b2>y2))then
result:='SA';//SA
if((a1<x2)and(b1<y2)and(a2>x2)and(b2>y2))then
result:='SA';//SA
if((a2>x1)and(b2>y1)and(a1<x1)and(b1<y1))then
result:='SA';//SA
if((a1<x2)and(b2>y1)and(a2>x2)and(b1<y1))then
result:='SA';//SA
if((x1<=a1)and(a2<=x2)and(y1<=b1)and(b2<=y2))then
result:='SA';//SA
if((a1<x1)and(a2>x2)and(b1<y1)and(b2>y2))then
result:='SA';//SA
end;
procedure Register;
begin
RegisterComponents('Samples', [Tdir]);
end;end.
unit Qdir;interfaceuses
SysUtils, Classes, QControls, QStdCtrls;type
Tdir = class(TButton)
private
{ Private declarations }
//name:string;
//pro:string;
//direction:string;
//procedure lookup(n,p,d:string);
//function dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
protected
{ Protected declarations }
public
{ Public declarations }
name:string;
pro:string;
direction:string;
procedure lookup(n,p,d:string);
function dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
constructor Create(AOwner:TComponent);
published
{ Published declarations }
end;procedure Register;implementation
constructor Tdir.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
Enabled:=True;
Visible:=True;
Height:=25;
Width:=75;
end;procedure Tdir.lookup(n,p,d:string);
begin
name:=n;
pro:=p;
direction:=d;
end;function Tdir.dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
begin
if((a2<=x1)and(b1>=y2))then
result:='NW';//NW
if((x1<=a1)and(a2<=x2)and(b1>=y2))then
result:='RN';//RN
if((a1>=x2)and(b1>=y2))then
result:='NE';//NE
if((y1<=b1)and(b2<=y2)and(a2<=x1))then
result:='RW';//RW
if((y1<=b1)and(b2<=y2)and(a1>=x2))then
result:='RE';//RE
if((a2<=x1)and(b2<=y2))then
result:='SW';//SW
if((x1<=a1)and(a2<=x2)and(b2<=y1))then
result:='RS';//RS
if((a1>=x2)and(b2<=y1))then
result:='SE';//SE
if((b1>=y2)and(x1<a1)and(a1<x2))then
result:='N';//N
if((b1>=y2)and(x1<a2)and(a2<x2))then
result:='N';//N
if((b1>=y2)and(a1<x1)and(a2>x2))then
result:='N';//N
if((b2<=y1)and(x1<a1)and(a1<x2))then
result:='S';//S
if((b2<=y1)and(x1<a2)and(a2<x2))then
result:='S';//S
if((b2<=y1)and(a1<x1)and(a2>x2))then
result:='S';//S
if((a2<=x1)and(y1<b1)and(b1<y2))then
result:='W';//W
if((a2<=x1)and(y1<b2)and(b1<y2))then
result:='W';//W
if((a2<=x1)and(b1<y1)and(b2>y2))then
result:='W';//W
if((a1>=x2)and(y1<b1)and(b1<y2))then
result:='W';//W
if((a1>=x2)and(y1<b2)and(b1<y2))then
result:='W';//W
if((a1>=x2)and(b1<y1)and(b2>y2))then
result:='W';//W
if((a2>x1)and(b1<y2)and(a1<x1)and(b2>y2))then
result:='SA';//SA
if((a1<x2)and(b1<y2)and(a2>x2)and(b2>y2))then
result:='SA';//SA
if((a2>x1)and(b2>y1)and(a1<x1)and(b1<y1))then
result:='SA';//SA
if((a1<x2)and(b2>y1)and(a2>x2)and(b1<y1))then
result:='SA';//SA
if((x1<=a1)and(a2<=x2)and(y1<=b1)and(b2<=y2))then
result:='SA';//SA
if((a1<x1)and(a2>x2)and(b1<y1)and(b2>y2))then
result:='SA';//SA
end;
procedure Register;
begin
RegisterComponents('Samples', [Tdir]);
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货