Delphi编程规范(4)

2019-04-16 16:47

//////////////////////////////////////////////////////////////////////

// 创建:Tujh010618 (创建信息:创建者、创建日期)

// 功能:…… (本函数或过程的主要功能)

// 参数:Param1-……

// Param2-(out) …… (out表示输出参数)

// 返回:…… (类型、值)

// 说明:…… (备注信息、调用方法、初始化数值等)

//////////////////////////////////////////////////////////////////////

4. Form与数据模块 4.1 Form

4.1.1 Form类型的命名标准

Form类型的名称应当表达出Form的用途,且要加T为前缀,后跟描述性名,最后是Form。例如,About的类型名称为:

TAboutForm = class(TForm)

主frm的类型名称为:

TMainForm = class(TForm)

客户登录Form的类型名称为:

TCustomerEntryForm = class(TForm)

4.1.2 Form实例的命名标准

Form实例的名称与相应的类型名称相同,但没有前缀T。例如,前面提到的Form类与Form实例的名称为:

类型名 实例名

---------------------------------------------------------------------------

TAboutFo rm AboutForm

TMainForm MainForm

TCustomerEntryForm CustomerEntryForm

4.1.3 自动创建的Form

除非特别原因,只有主Form才自动生成。其他所有Form必须从Project Options对话框的自动生成列表中删除。更进一步的信息,请参阅后面几节。

4.1.4 模式Form实例化函数

所有Form单元都应当含有实例化函数,用于创建、设置、模式显示和释放Form。这个函数将返回由Form返回的模式结果。传递给这个函数的参数遵循“参数传递”的规则。之所以要这样封装,是为了便于代码的重用和维护。

Form的变量应当从单元中移走,改在实例化函数中作为局部变量定义。注意,这要求从Project Options对话框的自动生成列表中移走该Form。

例如,下面的单元文件演示了GetUserData的实例化函数。

unit UserDataFrm; interface uses

Windows, Messages, SysUtils, C1asses, Graphics, Controls, Forms, Dialogs, StdCtrls; type

TUserDataForm = class(TForm)

edtUserName: TEdit;

edtUserID: TEdit; private

{Private declarations} public

{Public declarations} end;

function GetUserData(var aUserName: String; var aUserID: Integer): Word;

implementation

{$R*.DFM}

function GetUserData(var aUserName: String; var aUserID: Integ): Word; var

UserDataForm: TUserDataFrom; begin

UserDataForm := TUserDataForm.Create(Application); try

UserDataForm.Caption := ?Getting User Data?;

Result := UserDataForm.ShowModal;

if Result = mrOK then begin

aUserName := UserDataForm.edtUserName.Text;

aUserID := StrToInt(UserDataForm.edtUserName.Text); end; finally

UserDataForm.Free; end; end; end.

4.2 数据模块

4.2.1 数据模块的命名标准

数据模块类型名称应表达出它的用途,且要加前缀T ,后跟描述性名称,最后是DataModule。例如,Customer

数据模块的类型名称为:

TCustomerDataModule = class(TDataModule);

Orders数据模块的类型名称为:

TOrderDataModule = class(TDataModule);

4.2.2 数据模块实例的命名标准

数据模块实例的名称应当与相应的类型名称相同,但没有前缀T。例如,前面的数据模块类型、实例名称如下:

类型名称 实例名

---------------------------------------------------------------------------

TCustomerDataModule CustomerDataModule

TOrderDataModule OrderDataModule 5. 包

5.1 运行期包与设计期包

运行期包中应当只包含所需要的单元。那些特性编辑器和元件编辑器的单元应当放在设计期包中。注册单元也应当放在设计期包中。

5.2 文件命名标准

包的命名遵循下列模式:

iiilibvv.pkg -- 设计期包

iiistdvv.pkg -- 运行期包 其中:

iii代表一个3字符的前缀,用于标识公司、个人或其他需要标识的事情。

vv代表包的版本号,其中也包含了De1phi的版本号。

注意:包名称中的lib或std 分别表示这是设计期包或运行期包。例如,《De1phi 5开发大全》中的包是这样命名的:

ddgLib50.pkg -- 设计期包

ddgStd50.pkg -- 运行期包 6. 元件

6.1 自定义的元件

6.1.1 元件类型的命名标准

元件的命名与类的命名类似,只不过它有3个字符的前缀。这些前缀用以标识公司、个人或其他实体。例如,一个时钟元件可以这样声明:

TddgClock = class(TComponent)

注意,作为前缀的3个字符要小写。

6.1.2 元件单元

元件单元只能含有一个主要元件,这是指出现在元件选项板上的元件。其他辅助性的元件或对象也可以包含在同一单元中。

6.1.3 注册单元

元件的注册过程应当从元件单元中移走,放在一个单独的单元中。这个注册单元用于注册所有元件、特性编辑器、元件编辑器、向导等。

元件注册应当在设计期包中进行。因此,注册单元应当包含在设计期包而不是运行期包中。建议注册单元这样命名:

xxxReg.pas

其中,xxx为3个字符前缀,以标识公司、个人或其他实体。例如,命名为ddgReg.Pas。

6.2 元件实例的命名规则

元件的名称应当具有描述性。Delphi没有为元件指定默认的名称。元件应当有一个小写的前缀以表明其类型,这是为了便于在Object Inspector和Code Explorer中查找元件。

元件类型前缀是元件类型名变化而成的。下面的规则说明如何定义一个元件类型前缀:

1) 从元件类型名中移去T 前缀。例如TButton变成Button。

2) 除了第一个元音,删去所有元音字母。例如,Button变成Bttn,Edit变成Edt 。

3) 压缩双字母。例如,Bttn变成Btn。


Delphi编程规范(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:红外光学材料第六章 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: