delphi - 如何设置默认值以在Delphi中记录

标签 delphi default record delphi-xe7

我正在使用RAD XE7。在我的Delphi应用程序中,我想为“记录”字段设置默认值。

我试过下面的代码,但是它不能编译,我知道这是错误的。我还有别的办法吗?

 TDtcData = record
    TableFormat     : TExtTableFormat = fmNoExtendedData;
    DTC             : integer = 0;
    Description     : string = 'Dummy';
    Status          : TDtcStatus;    
    OccurenceCnt    : integer =20;
    FirstDTCSnapShot: integer;
    LastDTCSnapShot: integer;
  end; 

最佳答案

如果要定义部分初始化的记录,只需声明constant record,但是忽略那些不需要默认值的参数:

Type
  TDtcData = record
  TableFormat     : TExtTableFormat;
  DTC             : integer;
  Description     : string;
  Status          : TDtcStatus;
  OccurenceCnt    : integer;
  FirstDTCSnapShot: integer;
  LastDTCSnapShot: integer;
end;

Const
  cDefaultDtcData : TDtcData = 
    (TableFormat : fmNoExtendedData; 
     DTC : 0; 
     Description : 'Dummy'; 
     OccurenceCnt : 20);

var
  someDtcData : TDtcData;
begin
  ...
  someDtcData := cDefaultDtcData;
  ...
end;

关于delphi - 如何设置默认值以在Delphi中记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763864/

相关文章:

php - 如何为对象创建默认值? PHP

jsf - tr 的默认排序 :table?

在 switch 表达式中尝试记录模式时出现 Java 19 编译器问题

delphi - 在 Delphi 2009 中读取文本文件

c++ - 从 Delphi 生成 .obj 文件

python - 如果 key 在 dict 中具有假值,则获取默认值

java - 使用 JDBC 以用户定义的记录作为其 IN 参数调用 PL/SQL 过程

android ACTION_VIDEO_CAPTURE 不保存视频

windows - 如何从 Windows 应用程序生成 Linux 进程?

Delphi TWebBrowser 在 url 中指定端口