Delphi 程序员代码编写标准指南 (五)

王朝delphi·作者佚名  2006-01-08
宽屏版  字体: |||超大  

五、窗体和数据模板

5.1 窗体

5.1.1 窗体类型命名标准

窗体类型的取名应能表达使用该窗体的目的。类型定义应加以前缀T。前缀后面跟随着描述性的名字。最后,应加以Form后缀来描述名字。例如,一个“关于”的窗体的类型的名字应为:

TAboutFrom = class(TForm);

主窗体的定义为:

TMainForm = class(TForm);

一个用户接入窗体的名字应象:

TCustomerEntryForm = class(TForm);

5.1.2 窗体实例命名标准

窗体实例应是没有带前缀T的相应类的名字。例如,对应于前面窗体类型而言,其实例的名字应为:

类型名称 实例名称

TAboutForm AboutForm

TMainForm MainForm

TCustomerEntryForm CustomerEntryForm

5.1.3 自动创建窗体

只有主窗体可以是自动创建的除非有其它更好的理由不这样做。所有其它的窗体必需从工程选项对话框中的自动创建列表中移走。查阅以下部分来获得更多的信息。

5.1.4 模式窗体实例化函数

所有的窗体单元都应包含一个窗体实例化函数,该函数用来创建、设置、模式地显示窗体,并释放窗体。该函数应返回窗体的模式结果。该函数要传递的参数应遵循本文档指定的“参数传递”标准。通过这种方式封装的函数性有助于代码的再利用和维护。

该窗体的变量要从单元中移走,并再窗体实例的函数中进行本地式地定义。注意,这就意味着该窗体必需从工程/选项对话框中的自动创建列表中剔除。参考本文档后面的“自动创建窗体”。

例如,下面的单元展示了再GetUserData窗体中的一个函数。

unit UserDataFrm;

interface

uses

windows, Messages, SysUtils, Classes, 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 : Integer) :

word;

var

UserDataForm : TuserDataForm;

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.edtUserID.Text);

end;

finally

UserDataForm.Free;

end;

end;

end.

5.2 数据模板

5.2.1 数据模板命名标准

数据模板的取名要符合使用该数据模板的目的。类型的定义应加以前缀T,后面紧接着描述性的名字,最后要加以后缀单词“DataModule”。例如,一个自定义的数据模板有时候应该象:

TCustomerDataModule = class(TDataModule)

一个命令式的数据模板的名字应象:

TOrdersDataModule = class(TDataModule)

5.2.2 数据模板实例命名标准

数据模板实例的名称应是对应不带前缀T的类型的名称。例如,对于前面的窗体类型而言,其实例的名称应为:

类型名称 实例名称

TCustomerDataModule CustomerDataModule

TOrdersDataModule OrdersDataModule

六、包

6.1 使用运行包和设计包的比较

运行时刻的包应只包含其它构件包所要求的单元或构件。另外,包含属性/构件编辑器和其它只为设计的代码应放入到设计时刻包中。注册单元应放在设计包中。

6.2 文件命名标准

包的名称应依照下面的例子:

“iiilibvv.pkg” - 设计时刻包

“iiistdvv.pkg” - 运行时刻包

字符“iii”表示一个3字符标识前缀。这个前缀用来表明公司、个人或其它有标识意义的实体。

字符“vv”表示为该包想要对应Delphi某个版本的包的版本号。

注意,包的名字中包含“lib”或“std”的意思是表明这是一个设计时刻包还是一个运行时刻包。

如果既是设计时刻包又是运行时刻包,该文件的命名是同上面一样的,例如,为Delphi 4开发者指南做的包的名称应为:

DdgLib40.pkg – 设计时刻包

DdgStd40.pkg – 运行时刻包

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有