主题:DELPHI入门——应用程序框架!
每个Delphi开发项目都由若干个相关的文件构成。一些文件是在设计时创建的,如窗体的定义文件。另外一些文件则是在编译时生成。要有效地管理Delphi 6的项目,有必要了解各种文件的用途和结构。Delphi 6的文档和在线帮助都详细介绍了项目中文件的用途。
一 项目文件(.dpr)
项目文件是Delphi在设计时自动创建的,文件后缀名为“dpr”。项目文件的名称也是最后编译所得可执行文件的名称。项目文件的源代码一般如下:
program Project1; //项目类型和名称
uses //引用单元
Forms, //窗体类
Unit1 in 'Unit1.pas' {Form1}, //Unit1单元说明
{$R *.RES} //引用资源文件
begin //程序执行部分
Application.Initialize; //初始化
Application.CreateForm(TForm1, Form1); //创建窗体
Application.Run; //运行,即显示窗体Form1
end. //执行部分结束
项目文件是主窗体以及其他自动创建的窗体实例化的地方。一般不需要编辑项目文件,除非要执行程序初始化例程、显示启动画面或执行其他必须在程序启动时运行的例程。
项目文件是一个标准的Pascal源文件。uses子句列出了主窗体单元Unit1。如果包含其他自动创建的窗体,会以同样的形式列在uses子句中。源文件中的“{$R *.RES}”用于引用项目的资源文件。这一行告诉编译器去连接一个资源文件,该资源文件名与项目文件相同,但扩展名为“res”。项目的资源文件中包含了程序图标和版本信息。
最后,begin...end之间的语句是应用程序要执行的主代码。在这个例子中,创建了主窗体,即Form1。当Application.Run这条语句执行后,Form1作为主窗体显示出来。
二 单元文件(.pas)
单元文件是Pascal源文件,后缀名为“pas”。在创建窗体、数据模块、组件或者普通程序模块时,都会产生相应的单元文件。下面是一个窗体的单元文件。为了说明方便,我们在前面加了行号。
1: unit Unit1; //单元名称
2: interface
3: uses //引用单元
4: Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
5: StdCtrls;
6: type // TForm1类型声明
7: TForm1 = class(TForm) //TForm1类
8: Label1: TLabel; //标签对象
9: Edit1: TEdit; //文本编辑框对象
10: Button1: TButton; //按钮对象
11: procedure Button1Click(Sender: TObject); //Button1 OnClick事件处理程序
12: private //私有部分
13: { Private declarations } //在此添加私有变量和方法声明
14: public //公共部分
15: { Public declarations } //在此添加公有变量和方法声明
16: end; //TForm1类声明结束
17: var //变量声明
18: Form1: TForm1; //声明Form1对象
19: implementation
20: {$R *.DFM} //指明了对应的窗体文件名称与单元文件名称相同
21: procedure TForm1.Button1Click(Sender: TObject); //事件处理程序
22: begin //处理程序开始
23: Edit1.Text:='Hello, World!'; //修改文本编辑框内容
24: end; //处理程序结束
25: end. //单元结束
源文件的第一行指明了单元的名称,一般单元名称和单元文件名相同,由系统在第一次保存该单元文件时自动设置。其他的单元文件需要引用该单元的实例对象的属性或者方法时,可以在uses子句中加入该单元名。
3-5行的uses子句指定了该单元所引用的其他单元。在Delphi中,各种类库都是一单元文件的形式来定义。因此,要使用Delphi提供的控件对象,就需要包含该控件所在的单元。
6-16行定义了一个TForm1类,它是从TForm继承而来,并且包含了窗体中所有控件的定义,如Label1、Edit1和Button1。并且定义了一个Button1Click过程。如果我们要为程序增加一些变量和函数过程,可以在private和public两个范围内定义。两者的区别是private定义的变量和函数只能被单元内的程序访问;而public定义的可以被其他单元的程序访问和调用。
17、18两行定义了一个TForm1的实例对象Form1。这主要是为了单元中的函数和过程可以通过这个对象来访问窗体中控件的属性和方法。
20行指明了对应的窗体文件名称与单元文件名称相同,后缀为“.dfm”。
21-24行是前面定义的Button1Click过程的实际代码。完成的工作就是将Edit1的文本显示为“Hello, World!”。
三 窗体文件(.dfm)
当创建一个窗体时,Delphi会同时创建一个单元文件和一个窗体文件。窗体文件存储了窗体的二进制信息,文件后缀名为“dfm”。
一般不用直接编辑窗体文件。如果需要查看窗体文件的内容,可以用Delphi的编辑器打开后缀为dfm的文件,并且。这时候文件以文本的形式显示,可以进行修改。窗体文件中保存了窗体上所有控件的非缺省属性值。直接修改窗体文件和在对象监视器中修改控件属性可以获得相同的效果。
四 资源文件(.res)
资源文件中包含了二进制数据,将连接到应用程序的可执行文件中。资源文件是Delphi自动创建的,包括应用程序的图标、应用程序版本信息及其他信息。要把资源加入到应用程序中,可以先创建一个单独的资源文件,然后把它连接到项目中。要创建资源文件,可以使用专门的资源编辑器,如Delphi中的Image Editor或者Resource Workshop等。
五 项目选项和桌面设置文件(.dof, .dsk)
项目选项文件,后缀名为“dof”,存储了Project菜单列中Opetions菜单项所设置的项目选项。它是在第一次保存项目时创建的,以后每次保存项目时都会保存这个文件。
桌面设置文件,后缀名为“dsk”,存储了Toos菜单列中Options菜单项所设置的桌面选项。桌面设置和项目选项不同,项目选项于具体项目有关,而桌面设置作用于Delphi环境。
错误的项目选项和桌面设置文件在编译时可能导致像GPF这样不可预测的错误。如果出现,应当把dof和dsk文件都删除。当保存项目或退出Delphi时会重新生成这两个文件,并且恢复到默认设置。
六 备份文件(.~dpr, .~pas, ~dfm)
自第二次保存开始,Delphi 6为项目文件、单元文件和窗体文件生成备份文件。备份文件是上次保存的文件的副本。项目文件的备份文件后缀名为“~dpr”;单元文件的备份文件后缀名为“~pas”;窗体文件的备份文件后缀名为“~dfm”。
删除备份文件一般不会有什么问题。如果不想生成备份文件,可以在“Editor Properties”对话框的“Display”标签页上取消“Create Backup File”选项。
[em2][em2][size=1][/size][size=3][/size][color=000000]应用程序框架[/color][color=FF0000]应用程序框架[/color][em2]