procedure test(numArgs:integer; MyFormattingString:string);
var
v:variant;
i:integer;
begin
v:=VarArrayCreate([0,numArgs],varVariant);
for i:=1 to numArgs do
v[i-1]:=myDataSet.FieldByName(inttostr(i)).asstring;
memo1.lines.add(Format(MyFormattingString,[v]);
.........
I want to build the arguments I give to Format on the fly. Is there
any way to do this?
var
v:array of tvarrec;
i:integer;
begin
setlength(v, numArgs);
for i:=1 to numArgs do
begin
v[i-1].vtype:=vtpchar;
v[i-1].vtpchar:=strnew(pchar(myDataSet.FieldByName(inttostr(i)).asstring));
end;
memo1.lines.add(Format(MyFormattingString,v);
for i:=1 to numArgs do strdispose(v[i-1].vtpchar);
.........
Delphi can build this array on the fly but only for function
parameters such as the one used by the Format function. For manual
creation, it has to be done like above.