4.2.1 项目文件
项目文件是在设计时创建的,它的扩展名是. d p r 。这个文件也是主程序文件。项目文件是主窗体
以及其他自动创建的窗体实例化的地方。一般不需要编辑项目文件,除非要执行程序初始化例程、显
示启动画面或执行其他必须在程序启动时运行的例程。下面的代码是一个典型的项目文件:
P a s c a l 程序员会把项目文件看作是标准的P a s c a l 源文件。注意u s e s 子句列出了主窗体单元U n i t 1 。项
目文件以同样的方式列出项目的所有窗体单元。下面这行代码用于引用项目的资源文件:
这一行告诉编译器去链接一个资源文件,该资源文件名与项目文件相同,但扩展名是. r e s 。项目的
资源文件中包含了程序图标和版本信息。
最后,b e g i n . . e n d 之间的语句是应用程序要执行的主代码。在这个例子中,创建了主窗体即F o r m 1 。
当A p p l i c a t i o n . R u n 这条语句执行后,F o r m 1 作为主窗体显示出来。后面将会介绍,可以在b e g i n . . e n d 之
间加入自己的代码。
4.2.2 单元文件
单元文件是P a s c a l 源文件,它的扩展名是. p a s 。有三种类型的单元文件:窗体/数据模块和框架的
单元文件、组件的单元文件和通用的单元文件。
• 窗体/数据模块和框架单元文件是由Delphi 5 自动生成的。每个窗体/数据模块或框架都有一个对
应的单元文件。例如,不能让两个窗体共用一个单元文件。为了解释窗体文件,我们不在窗体、
数据模块和框架之间进行区分。
• 组件的单元文件是由程序员或Delphi 5 创建新的组件时生成的。
• 通用的单元文件是由程序员创建的,用于声明在应用程序中要访问的数据类型、变量、过程、
类等。
后面将详细介绍这些单元的细节。
4.2.3 窗体文件
窗体文件存储了窗体的二进制信息。当创建一个窗体时,Delphi 5 将同时创建一个窗体文件(扩展
名为. d f m )和一个P a s c a l 单元文件(扩展名为. p a s )。如果打开一个窗体的单元文件,会看到下面这行语
句:
这一行告诉编译器去链接对应的窗体文件(名称与单元文件相同,但扩展名是. d f m )到项目中。
一般不用直接编辑窗体文件(尽管可以这么做)。可以用Delphi 5 编辑器打开一个窗体文件,这样就
能够查看或编辑文本形式的窗体文件了。要打开一个窗体文件,先选择File | Open 菜单命令,然后选
择只打开窗体文件( . d f m )的选项。也可以在窗体设计器上单击鼠标右键,在弹出的菜单中选择View as
Te x t 命令。当打开文件后,会看到窗体的文本形式。
查看窗体的文本形式会带来一些方便,因为可以从中看出非缺省的属性设置以及窗体上有那些组
件。编辑窗体文件是修改组件类型的方法之一。例如,假设一个窗体上有一个T B u t t o n 组件:
如果把object Button1: TButton 这一行改为“object Button1: TLabel ”,那么组件的类型就被改为
T L a b e l 。当打开这个窗体时,将会看到一个标签而不是一个按钮。
注意在窗体文件中修改组件类型可能会导致错误。例如,TButton 原来有TabOrder 属性,如果
把T B u t t o n 改为T L a b e l ,由于T L a b e l 没有Ta b O r d e r 属性,这就会导致错误。不过,不用手工去更
正它,因为当保存这个窗体时,Delphi 会自动进行更正。
警告编辑窗体文件时要特别小心。如果操作失误,可能会导致Delphi 5 无法打开这个窗体文
件。
注意Delphi 5 的新功能允许以文本文件格式保存窗体。这样就可以利用其他像记事本这样的
通用工具来编辑窗体。只要在窗体上单击右键打开关联菜单,然后选择Text DFM 命令。
4.2.4 资源文件
资源文件( . r e s )中包含了二进制数据,也称为资源,这些资源将链接到应用程序的可执行文件
中。. r e s 文件是Delphi 5 自动创建的,包含应用程序的图标、应用程序版本信息及其他信息。要把资源
加入到应用程序中,可以先创建一个单独的资源文件,然后把它链接到项目中。要创建资源文件,可
以使用专门的资源编辑器,例如Delphi 5 提供的Image Editor 或Resource Wo r k s h o p 等。
警告不要编辑由D e l p h i 在编译时自动生成的资源文件。如果那样的话,下次编译时所做的修
改有可能丢失。如果要在应用程序中加入其他资源,应当创建另外一个和项目文件不同名的资
源文件,然后参照下面这一行把资源链接到项目中:
{$R MYRESFIL.RES}
4.2.5 项目选项及桌面设置文件
项目选项文件(扩展名为. d o f )存储了Project | Options 菜单命令所设置的项目选项。它是在第一次保
存项目时创建的,以后每次保存项目时都会保存这个文件。
桌面设置文件(扩展名为. d s k )存储了Tools | Options 菜单命令所设置的桌面选项。桌面设置与项目
选项不同,项目选项与具体项目有关,而桌面设置作用于Delphi 5 环境。
提示错误的.dsk 或.dof 文件在编译时可能导致像GPF 这样不可预测的错误。如果真的出现这种
情况,应当把. d o f 和. d s k 文件都删除掉。当保存项目或退出Delphi 5 时会重新生成这两个文件。
IDE 和项目又恢复到默认设置。
4.2.6 备份文件
自第二次保存开始,Delphi 5 为项目文件和PA S 单元文件生成备份文件。备份文件是上次保存的文
件的副本。项目文件的备份文件的扩展名是. ~ d p 。单元文件的备份文件的扩展名是. ~ p a 。
窗体文件的二进制备份文件也是在第二次保存时创建的。窗体文件的备份文件的扩展名是. ~ d f 。
删除备份文件一般不会有什么问题。如果不想生成备份文件,可以在Editor Properties 对话框的
D i s p l a y 页上不选中Create Backup File 选项。
4.2.7 包文件
包类似于动态链接库,它的代码可以被几个应用程序共享。不过,包是D e l p h i 特有的,用于共享
组件、类、数据和代码。把组件放到包中,而不是直接链接到应用程序中,可以大大减少应用程序的
长度。后面的章节将进一步介绍包。包的源文件的扩展名是.dpk(Delphi package 的缩写),编译后就会
生成一个. b p l 文件(一个. b p l 文件类似于一个动态链接库)。这个. b p l 文件由若干个单元或. d c u ( D e l p h i
compiled units 的缩写)文件组成。与源文件对应的中间文件其扩展名是.dcp(Delphi compiled package 的
缩写)。这些内容如果一时搞不清楚就先不要管它,我们会在后面详细介绍。