以下内容转载自《ObjectPascal程序语言手册》
program | 标明应用程序项目的名称 |
library | 标明函式库专案的名称 |
package | 标明套件函式库专案的名称 |
unit | 标明单元文件的名称,单元文件也就是程序代码的原 始档 |
uses | 指示当前这个单元文件会参考到哪些单元文件 |
interface | 单元文件的区段,用来进行宣告 |
implementation | 单元文件的区段,用来放置实作的程序代码 |
initialization | 当程序启动时,要先被执行的程序代码区段 |
finalization | 当程序结束前,最后要被执行的程序代码区段 |
begin | 宣告一个程序代码区块的开始 |
end | 宣告一个程序代码区块的结束 |
type | 标明开始进入数据类型声明区段 |
var | 标明开始进入变量宣告区段 |
const | 标明开始进入常数宣告区段 |
set | 定义一个集合变量 |
string | 定义一个字符串变量,或者自定的字符串型别 |
array | 定义一个数组型别 |
record | 定义一个复合数据型别 |
integer | 定义一个整数变量 |
real | 定义一个浮点数型态的变量 |
file | 定义一个文件变量 |
record | 定义一个复合数据型别 |
筆記
34
以下则是跟类别、对象相关的关键词:
if | 标明一个条件判断式 |
then | 将条件判断式与符合条件时执行的程序代码分隔的符 号 |
else | 标明条件判断式中,不符条件时要执行的程序代码 |
case | 标明一个多重选项的条件判断式 |
of | 把多重选项判断式的条件与各个选项分隔的符号 |
for | 标明一个固定次数的循环开始 |
to | 标明 for 循环将变量递增计算时的最终数值 |
downto | 标明 for 循环将变量递减计算时的最终数值 |
in | 标明在列举循环当中,用来表示要被列举的组合变量 |
while | 标明一个条件化的循环开始 |
do | 把 while 循环的条件式与要执行的程序代码做分隔 的符号 |
repeat | 标明一个具终止条件的循环开始 |
until | 标明repeat循环的终止条件 |
with | 标明要针对特定的数据结构进行处理 |
function | 标明一个会回传执行结果的子程序(名为函式) |
procedure | 标明一个不会回传执行结果的子程序(名为程序) |
inline | 要求编译程序对函式或程序进行优化 |
overload | 允许同名的函式或程序被重复使用(称为多载) |
35
还有一小群跟例外处理 ( 我们在第 11 章里面会介绍 ) 有关的关键词:
另外还有一小群关键词是用来作为运算用的,我们会在本章稍后的篇幅『算
式与运算符』的部份介绍到(有一些进阶的运算符则会在后面的章节介绍):
class | 标明一个新的类别型别 |
object | 用来标明一个就的类别型别(目前已不再使用) |
abstract | 标明一个抽象类,表示该类别还没有完全被定义 |
sealed | 标明一个已封锁类别,该类别不能再被继承 |
interface | 标明一个接口型别(这个关键词也在第一组当中出现 过) |
constructor | 一个类别或对象的初始方法 |
destructor | 一个类别或对象的清除方法 |
virtual | 一个虚拟方法,在衍生类别中需要被实作出来 |
override | 在衍生类别中,实作虚拟方法的关键词 |
inherited | 直接呼叫、引用父类别的方法 |
private | 宣告类别中不能被外界存取的属性、事件或方法 |
protected | 宣告类别中有条件供外界存取的属性、事件或方法 |
public | 宣告类别中可以完全被外界存取的属性、事件或方法 |
published | 宣告类别中特别为了用户建立的属性、事件或方法 |
strict | 比private跟protected限制更为严格的类别区段 |
property | 被对应到变量或方法的一个符号,称之为类别的属性 |
read | 属性的数据源 |
write | 属性的变更方法 |
nil | 表示空对象, 在许多有指针类型的语言当中也都有乡 对应的特别符号,在C里面称为NULL |
try | 标明例外处理区块开始 |
finally | 表示不管例外发生与否,都要被执行的区块 |
except | 表示当例外发生时,要被执行的程序代码区块 |
raise | 用来触发一个例外事件 |
as | and | div |
is | in | mod |
not | or | shl |
shr | xor |
36
最后,我们列出一些比较不常用的关键词,包含一些不建议使用的旧的关键
词,在本书的附录,或者在 IDE 的协助文件中都可以找到,如果您对这些关
键词有兴趣的话:
请注意,近几年来 Object Pascal 的关键词已经很少有新增的了,因为任何新
增的关键词都有可能会使得已存在的程序代码在使用新版的编译程序进行
编译时,导致旧有的程序发生编译错误,因为谁也不敢保证程序人员一定不
会用到什么英文字。 Object Pascal 最近新增的功能都不需要透过关键词来达
成,例如泛型( generics )与匿名方法( anonymous methods )。
程序结构
您可能曾经把所有的程序代码写在同一个文件里面,就像本章的第一个简单
的文本模式应用程序一样。而当我们越常开发可视化程序,就越有机会在项
目档之外使用到第二个原始码文件。这『第二个文件』就被称为 单元文件 ,
通常它的扩展名会是 PAS ( Pascal 原始档的意思),项目档的扩展名则会用
DPR(Delphi 项目档的意思 ) ,这两种文件都会内含有 Object Pascal 的原始码。
Object Pascal 透过了单元文件或者程序模块的使用提供了延伸性。事实上,
单元文件就提供了模块化以及数据封装的功能,即使没有使用到对象也一
样。 Object Pascal 的应用程序通常都是由好几个单元文件所建立的,包含用
来储存画面与数据模块的单元文件。事实上,当我们加入一个可视化的画面
窗体到项目里面, IDE 就会帮我们加入一个单元文件,这个单元文件正是对
应所加入的可视化画面的程序代码。
单元文件无需定义画面窗体,两者之间会自动被关联起来,两者之间的类别、
属性、方法、事件处理程序,都已经被自动连结好,无需我们额外做什么处
理了。如果您要加入一个新的空白单元文件到项目里面,这个空白单元文件
只需要几个简单的关键词来宣告几个必要的区段即可,如下所示:
default | dynamic | export |
exports | external | file |
forward | goto | index |
label | message | name |
nodefault | on | out |
packed | reintroduce | requires |