打印本文 打印本文 关闭窗口 关闭窗口
Delphi 程序员代码编写标准指南 (五)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1806  更新时间:2009/4/23 18:44:17  文章录入:mintao  责任编辑:mintao
 

五、窗体和数据模板

 

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)

 

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口