您的位置:首页 > 编程语言 > Delphi

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

2008-04-30 23:13 549 查看
五、窗体和数据模板[/b] [/b]5.1 窗体[/b] [/b]5.1.1 窗体类型命名标准[/b] [/b]窗体类型的取名应能表达使用该窗体的目的。类型定义应加以前缀T。前缀后面跟随着描述性的名字。最后,应加以Form后缀来描述名字。例如,一个“关于”的窗体的类型的名字应为: TAboutFrom = class[/b](TForm);主窗体的定义为: TMainForm = class[/b](TForm);一个用户接入窗体的名字应象: TCustomerEntryForm = class[/b](TForm); 5.1.2 窗体实例命名标准[/b] 窗体实例应是没有带前缀T的相应类的名字。例如,对应于前面窗体类型而言,其实例的名字应为: 类型名称 实例名称[/b] TAboutForm AboutForm TMainForm MainForm TCustomerEntryForm CustomerEntryForm 5.1.3 自动创建窗体[/b] 只有主窗体可以是自动创建的除非有其它更好的理由不这样做。所有其它的窗体必需从工程选项对话框中的自动创建列表中移走。查阅以下部分来获得更多的信息。 5.1.4 模式窗体实例化函数[/b] 所有的窗体单元都应包含一个窗体实例化函数,该函数用来创建、设置、模式地显示窗体,并释放窗体。该函数应返回窗体的模式结果。该函数要传递的参数应遵循本文档指定的“参数传递”标准。通过这种方式封装的函数性有助于代码的再利用和维护。 该窗体的变量要从单元中移走,并再窗体实例的函数中进行本地式地定义。注意,这就意味着该窗体必需从工程/选项对话框中的自动创建列表中剔除。参考本文档后面的“自动创建窗体”。 例如,下面的单元展示了再GetUserData窗体中的一个函数。 unit[/b] UserDataFrm; interface[/b] uses[/b]windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; type[/b] [/b]TUserDataForm = class[/b](TForm) edtUserName : TEdit; edtUserID : TEdit; private[/b] { Private declarations }[/i] public[/b] { Public declarations }[/i] end;[/b] function[/b] GetUserData(var[/b] aUserName : String[/b]; var[/b] aUserID : Integer) : Word; implementation[/b] {$R *.DFM }[/i] function[/b] GetUserData(var[/b] aUserName : String[/b]; var[/b] aUserID : Integer) : word; var[/b] UserDataForm : TuserDataForm; begin[/b] UserDataForm := TuserDataForm.Create(Application); try[/b] UserDataForm.Caption := ‘Getting User Data’; Result := UserDataForm.ShowModal; if[/b] (Result = mrOK) then[/b] begin[/b] aUserName := UserDataForm.edtUserName.Text; aUserID := StrToInt(UserDataForm.edtUserID.Text); end[/b]; finally[/b] UserDataForm.Free; end;[/b] end;[/b] end.[/b][/b] 5.2 数据模板[/b] 5.2.1 数据模板命名标准[/b] 数据模板的取名要符合使用该数据模板的目的。类型的定义应加以前缀T,后面紧接着描述性的名字,最后要加以后缀单词“DataModule”。例如,一个自定义的数据模板有时候应该象: TCustomerDataModule = class[/b](TDataModule)一个命令式的数据模板的名字应象: TOrdersDataModule = class[/b](TDataModule) 5.2.2 数据模板实例命名标准[/b] 数据模板实例的名称应是对应不带前缀T的类型的名称。例如,对于前面的窗体类型而言,其实例的名称应为: 类型名称 实例名称[/b] TCustomerDataModule CustomerDataModule TOrdersDataModule OrdersDataModule 六、包[/b] [/b]6.1 使用运行包和设计包的比较[/b] 运行时刻的包应只包含其它构件包所要求的单元或构件。另外,包含属性/构件编辑器和其它只为设计的代码应放入到设计时刻包中。注册单元应放在设计包中。 6.2 文件命名标准[/b] 包的名称应依照下面的例子:“iii[/b]libvv[/b].pkg” - 设计时刻包“iii[/b]stdvv[/b].pkg” - 运行时刻包字符“iii”表示一个3字符标识前缀。这个前缀用来表明公司、个人或其它有标识意义的实体。 字符“vv”表示为该包想要对应Delphi某个版本的包的版本号。 注意,包的名字中包含“lib”或“std”的意思是表明这是一个设计时刻包还是一个运行时刻包。 如果既是设计时刻包又是运行时刻包,该文件的命名是同上面一样的,例如,为Delphi 4[/i]开发者指南[/i]做的包的名称应为: DdgLib40.pkg – 设计时刻包DdgStd40.pkg – 运行时刻包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: