通常我们编写DELPHI常量均直接定义在使用单元文件里,有点编程习惯的可能将系统用到的常量放到一个单独的文件里,但是也是类似如下的方式:
const
DEFAULT_USER_NAME = 'ADMIN';
DEFAULT_USER_TYPE_CODE = 0;
写惯了JAVA,习惯将不同的常量分到不同的类里。这样就能很方便将系统常量,用户常量,数据库常量等分开。于是在DELPHI里也希望引用一个Constant单元,然后在button事件等里面这样用:
Edit1.text := Constants.DEFAULT_USER_NAME;
SpinEdit1.value := Constants.DEFAULT_USER_TYPE_CODE;
但是网上很难找到此类的开发资料,于是自己找。发现使用结构体Const可以达到该效果,如下编写:
unit UnitConstants;
interface
uses
Classes, Types;
type
ConstantRecord = packed record
DEFAULT_USER_NAME: string;
DEFAULT_USER_TYPE_CODE: Integer;
end;
const
Constants: ConstantRecord = (
DEFAULT_USER_NAME: 'ADMIN';
DEFAULT_USER_TYPE_CODE: 0
);
implementation
end.
然后在引用的单元里,就可以用Constants.DEFAULT_USER_NAME和Constants.DEFAULT_USER_TYPE_CODE来方便使用了