uses TypInfo;{$R *.dfm}procedure TMainForm.Button1Click(Sender: TObject); begin SetOrdProp(Button1, 'Left', 400); end;
"str:='left'",str是字符串"Button1.str来获得Button1.Left同样的效果",又肯定要是整型那当然不可能所以肯定要是两个Tobj = class private ... FTypeStr:String; procedure GetStr:Integer; procedure SetStr(Value: Integer); published property TypeStr: String read FStr write FStr; property Str: Integer read GetStr write SetStr; end;procedure Tobj.GetStr:Integer; begin if FStr='Left' then Result:=Left else if FStr='Top' then Result:=Top; end;procedure Tobj.SetStr(Value: Integer); begin if FStr='Left' then Left:=Value else if FStr='Top' then Top:=Value; end;var obj:Tobj;obj.TypeStr:='Left';
Ttemp = class(someclass) private Strs:String; procedure Set_Str(Value: String);published property 属性名称: String read Strs write Set_Str default '加入默认值' ; end;procedure Ttemp.set_Str(value:string); begin if value<>Strs then Strs:=value; end;
private
FLeft: Integer;
published
property Left: Integer read FLeft write FLeft;
end;var obj:Tobj
设置obj.Left:=xx,FLeft的值就会改变为xx
private
FLeft: Integer;
published
property Left: Integer read FLeft write FLeft;
end;var obj:Tobj
设置obj.Left:=xx,FLeft的值就会改变为xx
visual C++中有
有一个变量 :Str:String;
str:='left';或者 str:='right'
还有一个Button1:TButton
我想用
Button1.str来获得Button1.Left同样的效果,该怎么做
??
begin
SetOrdProp(Button1, 'Left', 400);
end;
private
...
FTypeStr:String;
procedure GetStr:Integer;
procedure SetStr(Value: Integer);
published
property TypeStr: String read FStr write FStr;
property Str: Integer read GetStr write SetStr;
end;procedure Tobj.GetStr:Integer;
begin
if FStr='Left' then
Result:=Left
else if FStr='Top' then
Result:=Top;
end;procedure Tobj.SetStr(Value: Integer);
begin
if FStr='Left' then
Left:=Value
else if FStr='Top' then
Top:=Value;
end;var obj:Tobj;obj.TypeStr:='Left';
Ttemp = class(someclass)
private
Strs:String;
procedure Set_Str(Value: String);published
property 属性名称: String read Strs write Set_Str default '加入默认值' ;
end;procedure Ttemp.set_Str(value:string);
begin
if value<>Strs then
Strs:=value;
end;