Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:14:37
构成Delphi工程的文件:工程文件

构成Delphi工程的文件:工程文件

构成Delphi工程的文件

Delphi 是以工程为中心来开发应用程序的,即每个应用程序都是一个工程,由一个或多个文件及工程文件组成。组成工程的几种文件包括:工程文件、单元文件、窗体文件、资源文件、工程选项及桌面配置文件、中间编译单元、备份文件、包文件等。下面分别讲述各文件的功能及使用。

3.2.1 工程文件(.dpr)

工程文件的扩展名为.dpr。工程文件包含了应用程序的入口,位于“Begin”和“End”之间。打开工程文件的方法为:在菜单中依次选择“Project”? “View Source”菜单项;在工具栏单击按钮,在弹出的对话框中选择工程文件。本章3.1 节实例的工程文件代码如下:


program Welcome; //指出可执行文件名

uses //显示包括在工程中的文件

Forms,

Unit1 in ’Unit1.pas’ {Form1};

{$R *.res} //$R 语句是编译器指令

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

注意:用户应该尽量避免修改工程文件内的代码,除非确实有修改它的原因,否则最好让Delphi 自行管理工程文件。

3.2.2 单元文件(.pas)

单元文件的扩展名为.pas。通常每个工程至少有一个单元,单元内为源代码。在编写程序之前,必须对单元文件内部的结构有所了解。

1.Unit 部分

Unit 部分指明了文件的名字。例如3.1 节中的示例,单元文件的名字为Unit1.pas。

2.接口部分

接口部分起始于“interface”行,结束于“implementation”行之前。接口部分描述了应用程序的其余部分在该单元中可以访问的函数、可调用的过程和可使用的数据。其中还包含其他单元可以访问的类型、常数、变量等。

定义在接口部分的变量、类型、常数等可以在单元外使用。

注意:接口部分没有运行代码。

3.实现部分

实现部分是编写运行代码的地方,可以包含类型、变量、常数等。定义在实现部分的变量、类型、常数只能在单元内部使用;定义在实现部分的过程或函数,在接口部分没有声明,则只能在单元内部使用。如果要用其他单元的访问过程或函数,要将其声明放在接口部分,将定义放在实现部分。

4.Uses 子句

Uses 子句指示编译器添加在列出的各个单元中找到的代码。例如下面的代码:

uses //程序用到的公共单元


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;

子句下面的以逗号分隔的都是程序用到的公共单元,用户可以将鼠标指针移动到单元名上,按下

键盘的“Ctrl”键,可以看到鼠标指针变成小手形状,指针下面的字符串变成带下划线的蓝色字体,

单击就可以打开此单元并查看单元文件的内容了。

接口部分或实现部分可以各有一个Uses 子句。例如下面的单元就在实现部分引用了一个Unit2 单

元:


unit Unit1;

interface

uses //接口部分的uses 子句

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;

type

...

var

Form1: TForm1;

implementation

{$R *.dfm}

uses //实现部分的uses 子句

Unit2;

...

end.

注意:两个单元不能在接口部分的Uses 子句(单元文件里的第1 个Uses 子句)中相互引用。

5.Type 子句

Type 子句可以定义集合、数组、记录和类等。接口部分或实现部分都可能有Type 子句。在关键字Type 之后引入新的类型,以下代码包含了TForm1 类的类型定义:


type

TForm1 = class(TForm) //定义TForm1 类

private

{ Private declarations }

public

{ Public declarations }

end;

6.变量部分

接口部分和实现部分都可以用Var 子句来进行变量的定义。接口部分定义的变量是全局变量,可以供其他单元访问。实现部分定义的变量是局部变量,不能被其他单元使用。

注意:由于无法确保全局变量不被其他程序误用,请慎用全局变量。

7.资源声明部分

{$R *.res}是编译器指令,批示编译器包含与该单元同名的.res 文件。$R 指令通常只出现在具有窗体的单元中,它们也可能是开发人员添加的。

8.initialization 部分

单元的initialization 部分的代码将在单元中任何其他代码运行前运行。initialization 与finalization

或end 关键字之间的代码,将在单元向内存加载时运行。如果要使用全局变量或局部变量,可以在

initialization 关键字后进行初始化。

9.finalization 部分

单元中既可以有initialization 部分,也可以有finalization 部分。还可以在finalization 部分运行清除代码,释放在initialization 部分中分配给对象的内存。finalization 部分由关键字finalization 开始直到文件结尾(end)结束。finalization 部分与相应的initialization 部分是按相反的顺序运行的。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759