Program structure and syntax(程序的结构和语法)
Programs and units: Overview(概述)
一个程序由称为单元的源代码模块构成。每个单元保存在一个单独的文件中并分别进行编译,编译
后的单元被链接到程序中。单元允许你
把一个大的程序分成多个模块,它们可单独进行编辑
创建可以在程序间共享的库
不必提供源代码就可以向其它开发者分发共享库
在传统的Pascal 编程中,所有源代码,包括主程序都存储在 .pas 文件中。Borland 工具使用一个工
程文件(.dpr)来存储‘主’程序,而大部分源代码则保存在单元文件(.pas)中。每个程序(或工程)
包含一个工程文件和一个或多个单元文件(严格说来,你不必在一个工程中明确引用任何单元,但所有
程序自动引用System 单元)。要生成程序,编译器需要每个单元的源代码(.pas)或编译单元(.dcu 等)。
Program structure and syntax(程序的结构和语法)
一个程序包括
一个程序头(program heading)
一个uses 子句(可选),和
一个包含声明和命令语句的块(block)
程序头指定程序的名称;uses 子句列出了程序引用的单元;块包含声明和命令语句,当程序运行时,
这些命令将被执行。IDE 期望在一个工程文件(.dpr)中找到以上三种元素。
下面的实例显示了一个叫做Editor 的程序:
program Editor;
uses
Forms, { 在Linux 下改成QForms }
REAbout in 'REAbout.pas' { AboutBox },
REMain in 'REMain.pas' { MainForm };
{$R *.res}
begin
Application.Title := 'Text Editor';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
第1 行包含程序头;uses 子句从第3 行到第6 行;第8 行是编译器指示字,它把工程的资源文件链
接到程序中;第10 行到第14 行包含命令块,程序运行时将执行它们;最后,和所有源文件一样,工程
文件以一个句点(.)结束。
实际上,这是一个典型的工程文件。工程文件通常很短,因为绝大部分的程序逻辑位于单元文件中。
工程文件是自动产生并自动维护的,很少需要手工编辑。
The program heading(程序头)
程序头指定程序的名称。它以关键字program 开始,后面跟一个有效标志符(指定程序名),并
以分号结束。标志符必须和工程文件名相同,在上例中,因为程序叫Editor,工程文件应该是
EDITOR.dpr。
在标准Pascal 中,可在程序名的后面包含参数:
program Calc(input, output);
Borland Object Pascal 编译器忽略这些参数。
The program uses clause(程序的uses 子句)
uses 子句列出了共同构成程序的单元,这些单元可能包含自己的uses 子句。关于uses 子句,请参
考单元引用和uses 子句。
The block(块)
块包含一个简单语句或结构语句,程序运行时将执行它。在大多数程序中,块包含一个复合语句,
它(复合语句)由关键字begin 和end 括起来,其中的命令只是简单调用Application 对象的方法(每
个工程都有一个Application 变量,它是TApplication、TWebApplication 或TServiceApplication
的一个实例)。块也可以包含常量、类型、变量、过程和函数的声明,它们必须位于(块中)命令语句的
前面。