zation这个字之前的都属于 implementation区,如果往下没有其他区块 了,就以“end.”结束。
11
2.1.2单元文件
implementation区
该区和interface区一样,可以包含Uses子句、 const 、type及procedure(或function)这几 个区块,各区块的用途和interface的一样, 最大的区别是:interface区定义、声明的内 容是公开的;而implementation区里所定义、 声明的内容却是私有的,只能供本单元使用。
12
2.1.2单元文件
implementation区
implementation区还比interface区多了“事 件过程”区,这一区并没有保留字注明区块 位置,但是在本单元中的实现事件,会全部 显示在这里;另外在interface区声明的 procedure(或function)也必须在此进行实 现。
13
2.1.2单元文件
initialization区
不常用,可有可无,它是单元的进入点,用 来作初始化,在程序执行进入此单元〔Unit〕 之前,会先执行initialization区里的代码。
14
2.1.2单元文件
finalization区
本区也不
常用,也不是必需的,当程序执行 要结束(Application Terminate)时,会执行 finalization区里的东西,而且它的执行次序 会和initialization时相反。例如:假使项目里 有A、B、C三个单元(Unit),程序依顺执行 A、B、C三个单元的initialization操作,在程 序结束的时候,它会倒序执行C、B、A三个 单元的finalization操作。
15
2.1.2单元文件
end区
每一个单元程序都是以此区作结尾,虽然本 区只有“end”一个字加“.”,却是程序不可 或缺的一部分。尤其是“.”符号代表单元程 序的结束,和文章的句号相似,没有它程序 就不能执行。
16
2.1.3窗体文件(.dfm)
当创建一个窗体时,
系统自动创建一个 窗体文件(扩展名为.dfm)和一个单元
文件(.pas)。 在Delphi7中,dfm文件是脚本化的文件, 其中定义了窗体的外观、尺寸、位置等 属性信息。
17
2.1.3窗体文件
Delphi项目中,一个窗体文件肯定对应着 一个单元文件,即如果有Unit1.dfm文件, 肯定就有Unit1.pas文件,但是反之,有 单元文件,不一定就有窗体,这是因为 有窗体就会有对应的窗体定义、方法、 事件
源代码,而单元文件存放的源代码 不一定是窗体的定义,有可能只是变量、 常量的定义。
18
2.1.4中间编译单元(.dcu)
编译过的单元是不可执行的,以“.dcu” 为扩展名。在建立应用程序的链接阶段, 所有的“.dcu”文件被链接成为可执行程 序。
19
2.1.5资源文件
资源文件用于保存应用程序的图标、应 用程序信息以及其他资源信息,扩展名 是.res。资源文件是二进制数据,在编译 时,编译器会自动将这些资源链接到应 用程序的可执行文件中去。
20
2.2 Console模式项目
Console模式的项目结构和GUI模式大致 相似,最大区别在于Console模式的项目 没有窗体。 如果在窗口模式下执行Console模式的项 目,会因为执行的速度太快,而看不见 输出结果,可以切换到DOS模式下执行 程序,或者在程序最后加上语句readln使 结果窗口暂停,以查看结果。
21
Console模式项目结构
Project1.dpr 项目
******* ******* ******* 程序 .pas unit1
******* ******* ******* 程序 .pas unit2