马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Delphi的项目组成详解
Delphi 为每个项目建立了相当数目的文件。这些文件中,一部分是在设计阶段产生的,如项目文件(.DPR)、单元文件(.PAS)和窗体文件(.DFM)等。还有一些则是在编译阶段产生的,如对象映射文件(.DSM)、编译单元文件(.DCU)等。当然,项目中还包括一些非 Delphi生成的文件,如位图、图标、鼠标指针等资源文件。
这些文件一部分要由用户保存时命名。一部分文件由 Delphi 自动产生,这些文件的命名主要取决于用户为项目和窗体所取的名称以及 Delphi 和系统欲定义的文件扩展名。这些文件构成了一个完整项目,但常用的文件并不多,主要是项目文件(.DPR)、单元文件(.PAS)、窗体文件(.DFM)以及一些资源文件。前面已经介绍了窗体文件,这里着重介绍单元文件和项目文件。
1. 单元文件
单元文件是组成应用源代码的主要部分,无论是窗体事件处理过程还是单独的源代码都保存在单元文件中。单元文件可以分为两种:有窗体文件和无窗体文件。每当用户在项目中新建一个窗体,例如使用【File】菜单的【New Form】命令新建窗体,都会自动产生一个单元文件。
如果用户需要产生一个无窗体文件,可以使用【File】菜单中的【New Unit】命令。下面给出一个典型的有窗体的单元文件的结构。
Delphi的项目组成
Delphi 为每个项目建立了相当数目的文件。这些文件中,一部分是在设计阶段产生的,如项目文件(.DPR)、单元文件(.PAS)和窗体文件(.DFM)等。还有一些则是在编译阶段产生的,如对象映射文件(.DSM)、编译单元文件(.DCU)等。当然,项目中还包括一些非 Delphi生成的文件,如位图、图标、鼠标指针等资源文件。
这些文件一部分要由用户保存时命名。一部分文件由 Delphi 自动产生,这些文件的命名主要取决于用户为项目和窗体所取的名称以及 Delphi 和系统欲定义的文件扩展名。这些文件构成了一个完整项目,但常用的文件并不多,主要是项目文件(.DPR)、单元文件(.PAS)、窗体文件(.DFM)以及一些资源文件。前面已经介绍了窗体文件,这里着重介绍单元文件和项目文件。
1. 单元文件
单元文件是组成应用源代码的主要部分,无论是窗体事件处理过程还是单独的源代码都保存在单元文件中。单元文件可以分为两种:有窗体文件和无窗体文件。每当用户在项目中新建一个窗体,例如使用【File】菜单的【New Form】命令新建窗体,都会自动产生一个单元文件。
如果用户需要产生一个无窗体文件,可以使用【File】菜单中的【New Unit】命令。下面给出一个典型的有窗体的单元文件的结构。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
{code}
end;
end.
代码首句指出了单元名,单元名必须与单元文件名保持一致。如果保存时文件名变为“FishC.pas”,则首句相应变为:代码中的“uses”语句指出了单元文件在编译时要链接哪些单元,如 Windows、Messages、SysUtils、Classes、Graphics、Controls、Forms、Dialogs、StdCtrls等,因为这些单元中包含了编程中所调用的一些函数、对象等。
“type”语句为窗体的类声明。类声明中包括了窗体中的组件和事件响应过程名。如语句“Button1: TButton;”指出了组件类型(TButton)和组件的 Name 属性(Button1),除处理Name 属性外,设置其他属性不会影响单元文件源代码。
添加新的事件处理过程对单元文件的影响最大,每为一个事件定义一个处理过程,窗体的类型定义下就会多出一行,执行部分中就会加入一个空白处理过程,窗体文件中也会相应存入一些信息。例如,上面的“type”语句下定义了一个处理过程。
procedure TForm1.Button1Click(Sender: TObject);
而在实现部分(implementation)中,出现了一个空白处理过程。procedure TForm1.Button1Click(Sender: TObject);
begin
{code}
end;
用户可在“begin”和“end”之间添加自己的事件处理代码。
2. 项目文件
项目文件对应用至关重要。它由 Delphi 自动建立,一般用户不需要改变它。项目文件是真正意义上的 Pascal 源代码文件。它描述了整个应用程序的结构及启动代码:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
用户可以通过【Project】菜单的【View Source】命令来查看项目文件。
上面的代码首行给出了项目名称:program Project1;
“uses”语句中列出了组成项目的单元文件,其中有些单元文件还有相应的窗体文件,编译项目时,Delphi 将首先编译各个单元文件及其相应的窗体文件,然后再将其链接成可执行文件。例如:Unit1 in 'Unit1.pas' {Form1};
该语句说明项目包含了单元文件“unit1.pas”,而后面的括号对“{Form1}”则说明单元文件有相应的窗体文件“Form1.dfm”。
接下来是编译指令“{$R *.RES}”,表示把项目中所有资源文件全部包括进来。“begin”和“end”之间的代码段所起的作用是初始化应用程序、创建表单和启动应用程序。
|