All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

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

Writer: aaa Article type: Programming skills(编程技巧) Time: 2014/7/19 0:14:37 Browse times: 611 Comment times: 0

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


Head photo

Go homepage
Upload pictures
Write articles

构成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 部分是按相反的顺序运行的。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.