on 部分:I m p l e m e n t a t i o n 部分包括本单元私有的类型、变量、 过程与函数的实现。 (5) Initialization 部分:不要在 I n i t i a l i z a t i o n 部分放置花费时间很多的代码。否 则,将导致应用程序启动时显得很慢。 (6) Finalization 部分:确保释放所有在 I n i t i a l i z a t i o n 部分中分配的资源。
6、窗体单元
窗体单元文件的名称与相应的窗体名称相同。 例如:StudentFrm 窗体的单元名称叫 StudentFrm.pas。
7、数据模块单元
数据模块单元文件的名称与相应的数据模块名称相同。 例如:数据模块单元的名称叫 StudentDM.pas。
8、通用的单元
通用单元的名称应当表达出它的用途。 例 如 : 一 个 控 制 单 元 的 名 称 叫 Control.pas , 包 含 全 局 变 量 的 单 元 名 称 叫 StudentGlobals.pas。(注意,一个项目中单元名称必须是唯一的。通用单元名不 能重名。)
9、组件单元
组件单元应放在单独的路径中, 以表明它们是定义组件的单元。 它们一般与项目不放在 同一路径下。单元文件名称应表达出其内容。
10、 10、文件头
所有源文件和项目文件都应具有文件头。 一个正确的文件头应包含以下信息: { Copyright @ YEAR by AUTHORS }
二、窗体与数据模块命名 1、窗体类型的命名标准
窗体类型的名称应当表达出窗体的用途,且要加 T 前缀,后跟描述性名,最后是 Form。 例如:Student 窗体类型名称为:TStudentForm= class (TForm) 用户登录窗体的类型名称为:TUserEntryForm= class (TForm)
2、窗体实例的命名标准
窗体实例的名称与相应的类型名称相同,但没有前缀 T。 例如: var StudentForm: TStudentForm UserEntryForm: TUserEntryForm
3、自动创建的窗体
除非特别原因,只有主窗体才自动生成。其他所有窗体必须从 Project Options 对话框的 自动生成列表中删除。
4、模式窗体实例化函数
所有窗体单元都应当含有实例化函数,用于创建、设置、模式显示和释放窗体。这个函 数将返回由窗体返回的模式结果。 传递给这个函数的参数遵循参数传递的规则。 之所以要这 样封装,是为了便于代码的重用和维护。窗体的变量应当从单元中移走,改在窗体实例化函 数
中作为局部变量定义(注意, 要求从 ProjectOptions 对话框的自动生成
列表中移走该窗体。 请看前面的内容)。
例如,下面的单元文件
演示了 GetStudent 的实例化函数。 Unit StudentFrm; Interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type TStudentForm= class(TForm) editID: TEdit; editName: TEdit; private {Private declarations} public {Public declarations} end; function GetStudent (var aStudentName: String; var aStudentID: Integer): Word; implementation {$R*.DFM} function GetStudent (var aStudentName: String; var aStudentID: Integer): Word; var StudentForm: TStudentForm; begin StudentForm: = TStudentForm.Create (Application); Try StudentForm.Caption:='Getting Student’; Result: = StudentForm.ShowModal; If Result=mrOK then begin aStudentName: = StudentForm. editName.Text; aStudentID: = StrToInt (StudentForm.editID.Text); end; finally StudentForm.Free; end; end; end.
5、数据模块的命名标准
数据模块类型名称应表达出它的用途,且要加前缀 T,后跟描述性名称,最后是 DataModule。 例如:Student 数据模块的类型名称为 TStudentDM= class(TDataModule)
6、数据模块实例的命名标准
数据模块实例的名称应当与相应的类型名称相同,但没有前缀 T。 例如: var StudentDM: TStudentDM;
三、组件命名 1、组件类型的命名标准 、
组件的命名与类的命名类似,只不过它有 3 个字符的前缀。这些前缀用以标识公司、 个人或其他实体。(注意,作为前缀的 3 个字符要小写。) 例如,一个时钟组件可以这