结构里各个成员的赋值问题
有时候结构里的成员和外部变量名称一样,怎样快速赋值给结构里的成员?
例如:
TRec=Record
ID:Integer;
Name:String;
Age:Integer;
end;
var Person:TRec;
procedure SetPerson(ID:Integer;Name:String;Age:Integer);
begin
with Person do
begin
ID:=ID;Name:=Name;Age:=Age;
end;
end;
我知道可以改成SetPerson(AID:Integer;AName:String;AAge:Integer),或者Person.ID=ID等等
但是有没其他更好的办法,就是不改变变量和结构成员的名称?
[解决办法]
我一直建议语法能让with支持别名
即:
aaaaaa.x:=1;
bbbbbb.y:=ccccc.z+1*aaaaa.x;
能写成:
with aaaaaa as a,bbbbbb as b,ccccc as c do
begin
a.x:=1;
b.y:=c.z+1*a.x;
end;