怎么可以用循环来设置Format里的那个数组参数?(50分)

  • 主题发起人 主题发起人 am2001
  • 开始时间 开始时间
A

am2001

Unregistered / Unconfirmed
GUEST, unregistred user!
就是Format里的数组参数我是在一个循环中的,个数是不定的,不知道怎么做?
for i := 0 to iCount do
begin
Format('dfjklsdhfsgs%sjkdfj%s', []);
end;
 
因为Format('',[const args:array of const])的原型中数组参数声明的array of const 原型为array of TVarRec ,因此只要声明一个类型为array of TVarRec的变量,然后对该变量赋值就可以了。
代码如下
var i:integer;
aVR:TVarRec;
aryVR:array of TVarRec;
myStr:string;
begin
for i:=0 to iCount do
begin
SetLength(aryVR,2);
FillChar(aVR,SizeOf(aVR),0);
aVR.VInteger:=222;
aryVR[0]:=aVR;
FillChar(aVR,SizeOf(aVR),0);
aVR.VInteger:=111;
aryVR[1]:=aVR;
myStr:=Format('a=%d b=%d',aryVR);
end;
end;
以上代码仅供参考。虽然实现了动态赋值,但是对于Format()中的修饰字串的使用只可使用数值有关的如 %d 、 %X ,对于%s %c 之类的无法使用,不知道是我的方法不正确还是什么其它原因我也不清楚,如果有人知道的可以告诉我一下!谢谢!
 
接受答案了.
 
后退
顶部