如果这样完全正确
s:='aaa %d kkkk %s ppp';
format(s,[10,'str']);但是s是动态的,我想定义参数Params,然后将Params传入format(s, Params);
不知道Params要定义什么类型的?是Params: array of TVarRec;这类型吗?
定义后如何增加参数到Params?
s:='aaa %d kkkk %s ppp';
format(s,[10,'str']);但是s是动态的,我想定义参数Params,然后将Params传入format(s, Params);
不知道Params要定义什么类型的?是Params: array of TVarRec;这类型吗?
定义后如何增加参数到Params?
const
c_MyConst: array[0..2] of string = ('姓名:%s', '性别:%s', '年龄:%d');
begin
ShowMessage(Format(c_myconst[0], ['牛群']));
ShowMessage(Format(c_myconst[1], ['男']));
ShowMessage(Format(c_myconst[2], [12]));
end;
var params:不知道是什么类型(array of TVarRec)
s:='name:%s age:%d'; //s是动态的
增加AAA到params //不知道怎么增加
增加18到params
format(s, Params);结果输出为:name:AAA age:18
str:tstringlist;
begin
str:=tstringlist.Create;
stype:='姓名:%d';
str.Add(stype);
stype:='性别:%s';
str.Add(stype);
stype:='年龄:%d';
str.Add(stype);
memo1.Lines.Add(Format(str.GetText, [0,'男',12]));
str.free;
end;
要写在一行的话var stype:string;
str:tstringlist;
begin
str:=tstringlist.Create;
stype:='姓名:%d 性别:%s 年龄:%d';
str.Add(stype);
memo1.Lines.Add(Format(str.GetText, [0,'男',12]));
str.free;
end;
var Params: array of TVarRec;如何增加内容到params
这样好像不行:Params[0]:=18;
Params[1]:='Name';
var
Str:string;
begin
Str:='%d';
showmessage(format( 'SSSS'+Str,[6]));
Str:='%s';
showmessage(format( 'SSSS'+Str,['FFFFF']));
end;
想不出来什么好办法了,最好是先确定str到底是那个然后才能确定第二个参数的数值啊! Args: array of const
关注!
var
p:array [0..2]of TVarRec;
e:extended;
begin
p[0].VType:=0;
p[0].VInteger:=1;
p[1].VType:=6;
p[1].VPChar:=pchar('1.0');
p[2].VType:=3;e:=1.0;
p[2].VExtended:=@e;
caption:=format('%2d,%s,%2.1f',p);