gpt4 book ai didi

arrays - 如何获取 const 数组的类型和值?

转载 作者:行者123 更新时间:2023-12-03 14:49:27 24 4
gpt4 key购买 nike

在我的Delphi开发中,我想将一个“const 数组”(也可以包含类)传递给一个过程,并在过程中循环元素并检测元素的类型,如下所示。

Procedure Test(const Args : array of const);
begin
end;

and in my code call it with some variables

Procedure Test();
begin
cls := TMyObject.create;
i := 123;
j := 'book';
l := False;
Test([i,j,l, cls, 37.8])
end;

如何循环发送的数组元素并检测其类型?

最佳答案

假设您使用的是 Unicode Delphi(否则,您必须更改字符串大小写):

procedure test(const args: array of const);
var
i: Integer;
begin
for i := low(args) to high(args) do
case args[i].VType of
vtInteger: ShowMessage(IntToStr(args[i].VInteger));
vtUnicodeString: ShowMessage(string(args[i].VUnicodeString));
vtBoolean: ShowMessage(BoolToStr(args[i].VBoolean, true));
vtExtended: ShowMessage(FloatToStr(args[i].VExtended^));
vtObject: ShowMessage(TForm(args[i].VObject).Caption);
// and so on
end;
end;


procedure TForm4.FormCreate(Sender: TObject);
begin
test(['alpha', 5, true, Pi, Self]);
end;

关于arrays - 如何获取 const 数组的类型和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com