工程文件结构与语法
一个完整的Delphi程序是由多个unit模块组成,这些模块被一个单一的源文件--工程文件所联系。不同于传统的Pascal程序,Delphi中的程序的主模块的源文件格式为.dpr,其他模块的格式为.pas。一个完整的程序 = 一个.dpr文件 + 0或者多个.pas文件。
一个.dpr文件的组成部分为:程序头、【uses从句】、主程序块。(另外,在IDE中,一个工程中往往需要用到命名空间的限定语句。)一个典型的工程文件如下:
program Project1; {&APPTYPE CONSOLE} uses SysUtils; begin end.那对应C++也是不是由相同的格式呢?
program project1 inclue <windows> int main(arg,arv[]) { return 0; }
the program heading 程序头语句指示所编写的程序的名称。形式为:project程序名;在RAD中,此名称在任何时候均与.dpr文件名相同。良好的程序中,.dpr中的代码应该尽量的少,尽量将代码分与.pas中然后在.dpr中调用。
C++中program的作用主要防止xxx.h头重复引用。
uses从句和inclue的作用相同预编译块。
Delphi的形式是 uses name1,name2,。。。;
主程序块和main操作基本相同
一个在begin和end中间操作,一个在{}中间操作。不过一些变量定义可能位置不太相同。具体看后面会解释。
单文件结构
程序的每个子模块称之为一个单元。单元中可包含任何元素包括类型、变量、常量、例程等。每个单元均存储于一个.pas文件中。一个文件只能应对一个单元。
对应于C++中.h和.cpp。只不过Delphi是在.pas中实现所有操作。
.pas文件结构如下:
unit Unit1;//单元名称 interface //Interface部分起始处 type uses implementation uses initialization 。。。。。。 finalization 。。。。。。 end//单元文件结尾Unit1名称和.pas文件的名称也一致。注意一个.dpr中不能引用两个名称相同的.pas。
interface和C++中.h头文件一样各种定义都在这部分添加。
对应的implementation就是对应声明里面的各种实现。
initialization和finalization这连个部分是可选的,这两个部分一个做的是初始化一个做的是结束回收。有点像construction和destruction。
uses从句:
uses从句可以出现于三个场合:
.dpr文件中工程名称的后面
.pas文件中Interface部分,必须紧跟于关键字Interface
.pas文件implementation关键字之后
System与SysInit单元被默认引用,如果不是本目录下的工程或者其他项目的.pas要引用可以使用in,但是要说明一下再.dpr中可以使用in限定源文件会被认为是工程的一部分。不会影响编译,但是影响IDE对工程的管理。在.pas中不能使用in,这意味着此类型文件中引用的所有单元的源文件均在当前目录或者搜索路径职中。