可以这样定义:
procudure F(string; const Args: array of const);
var i:integer;
begin
for i:=low(Args) to High(Args) do
...
end;使用:
f([1,'aa']);
procudure F(string; const Args: array of const);
var i:integer;
begin
for i:=low(Args) to High(Args) do
...
end;使用:
f([1,'aa']);
比如说,必须用[],类型单一等,而Writeln可是可以这样用的:
var f:file;
Writeln(f,'this is a stirng',128,290.12);
请举个例子,怎样处理类型不单一的情况?包括声明、实现和应用
var
i:integer;
begin
for i:=Low(a) to High(a) do
begin
ShowMessage(IntToStr(a[i].vType));
case (a[i].VType) of
vtInteger:
ShowMessage(IntToStr(a[i].vInteger));
vtAnsiString:
ShowMessage(AnsiString(a[i].vAnsiString));
end;
end;
end;begin
f([1,'2as']);
end.// compile by delphi 5.5 ok
不过人说人心不足,我真的想知道Delphi能不能实现不用[]的未定参数的方法,还请各路大虾不吝赐教!!!
var
I: Integer;
begin
for I := 0 to High(v) do
with v[I] do
case VType of
vtInteger: showmessage(inttostr(v[I].VInteger));
// vtBoolean:
vtChar: showmessage(v[I].Vchar);
// vtExtended: vtString: showmessage(pchar(v[I].VWideString));
// vtPChar:
// vtObject:
// vtClass:
// vtAnsiString:
// vtCurrency:
// vtVariant:
// vtInt64: end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
a([1,'2',3]);
end;