gpt4 book ai didi

delphi - 如何完成通过函数的无类型参数传递的记录?

转载 作者:行者123 更新时间:2023-12-03 15:19:13 25 4
gpt4 key购买 nike

我可以将“任何”记录类型传递给我的程序吗?

很多时候我将“记录”与字符串一起使用。

type 
TR = record
a: string;
b: string;
end;

要清除它们,我需要写:

Finalize(R);
FillChar(R, SizeOf(R), #0);

问题是我如何传递任何类型的记录来清除它?

为此,我得到了这个提示:“表达式不需要初始化/终结”。

procedure ClearRecord(var R);
begin
Finalize(R);
FillChar(R, SizeOf(R), #0);
end;

感谢您提供的每条信息!

最佳答案

不要让它过于复杂。如果您不想编写两行代码来清除记录,请考虑声明:

Const TR_Empty: TR = ();

并使用它:

R := TR_Empty;

正如其他人所评论的,执行此操作的通用程序不值得付出努力。

如果您有 Delphi-2009 或更新版本,此代码对于清除记录有效:

R := Default(TR);

关于delphi - 如何完成通过函数的无类型参数传递的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353736/

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