没有合适的资源?快使用搜索试试~ 我知道了~
首页Object Pascal中文手册:Delphi开发者的必备资源
Object Pascal中文手册:Delphi开发者的必备资源
需积分: 3 1 下载量 48 浏览量
更新于2024-08-02
收藏 2.09MB PDF 举报
Object Pascal中文参考手册是一份详尽的文档,专为学习Delphi编程而设计,它介绍了Borland公司的Object Pascal语言。作为高级编译语言,Object Pascal以其强类型系统著称,这意味着它对数据类型的验证非常严格,有助于提高代码质量。其结构化和面向对象编程特性使得代码易于阅读和理解。 该手册强调了使用Object Pascal进行快速应用程序开发(RAD)的优势,特别是在Borland提供的集成开发环境(IDE)如Delphi和Kylix中。这些工具不仅简化了代码编写过程,还能自动管理工程和源文件的依赖关系,如单元(unit)的链接和名称规范。然而,尽管IDE提供了便利,但它并非语言规范的全部,开发者在非IDE环境中编写代码时,可以避开IDE特有的限制。 程序组织方面,Object Pascal程序通常由多个单元组成,每个单元都包含程序头,定义程序名称,并通过uses子句引用其他共用单元。uses子句的重要性在于它向编译器传达模块之间的依赖关系,无需额外的Makefile、头文件或预处理指令,这与C语言等其他编程语言的实现方式不同。在多单元项目中,IDE的Project Manager会自动生成makefile,但在独立编译时,这种自动化就不再适用。 这份参考手册不仅适合初学者了解Object Pascal的基本概念和语法,也对熟练使用Delphi工具链的开发者提供了深入理解和实践指导,特别是关于程序结构和依赖管理的细节。无论是为了学习还是解决实际编程问题,都能从中找到有价值的信息。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/1487214/bg10.jpg)
Programs and units
- 15 -
在两个单元相互依赖这种最简单的情况下,你不能在它们的接口部分的 uses 子句中互相列出对方。
所以,下面的例子将产生编译错误:
unit Unit1;
interface
uses Unit2;
...
unit Unit2;
interface
uses Unit1;
...
但是,若把其中的一个引用移到实现部分,这两个单元之间的相互引用将是合法的:
unit Unit1;
interface
uses Unit2;
...
unit Unit2;
interface
...
implementation
uses Unit1;
...
为了减少出现循环单元引用的机会,要尽可能在实现部分的 uses 子句中引用单元。只有当来自另一
个单元的标志符必须在接口部分使用时,才需要在接口部分的 uses 子句中引用它。
![](https://csdnimg.cn/release/download_crawler_static/1487214/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/1487214/bg12.jpg)
Syntactic elements
- 17 -
Syntactic elements(语法元素)
Syntactic elements: Overview(概述)
Object Pascal 使用 ASCII 字符集,包括 A 到 Z、a 到 z、0 到 9、以及其它标准字符,字母是大小写
无关的。空格(#32)和控制符(#0 到#31,其中#13 叫回车符或行的结束符)被称为空白符(blank)。
基本语法元素被称为 token(如何翻译?),它们组合起来构成表达式、声明和命令语句。命令语句
描述算法行为,它是可执行的;表达式是一个语法单元,它出现在命令语句中并表示一个值;声明定义
一个标志符(比如函数或变量的名称),可以用在表达式或命令语句中,并在适当的地方为标志符分配内
存。
Fundamental syntactic elements(基本语法元素)
Fundamental syntactic elements: Overview(概述)
在最简单层次上,一个程序是一系列由分隔符隔开的 token 构成的。在一个程序中,token 是有意
义的最小文字单元,分隔符可以是空白符,也可以是注释。严格说来,并不是任何时候在两个 token 之
间都要有一个分隔符。如下面的代码:
Size:=20;Price:=10;
是完全合法的。但为遵循约定和代码的可读性起见,我们应当如下书写代码:
Size := 20;
Price := 10;
Token 被分为特殊符号、标志符、关键字(保留字)、指示字、数字、标签和字符串(常量字符串)。
只有当 token 是常量字符串时,它才可以包含分隔符。紧邻的标志符、保留字、数字和标签,它们之间
必须有一个或多个分隔符。
Special symbols(特殊符号)
特殊符号是非文字和数字字符,或这类字符的组合,它们有固定的意义。以下是单字符的特殊符号:
# $ & ' ( ) * + , - . / : ; < = > @ [ ] ^ { }
以下的组合字符也是特殊符号:
(* (. *) .) .. // := <= >= <>
上面,‘[’相当于‘(.’,‘]’相当于‘.)’;‘(*’和‘*)’分别相当于‘{’和‘}’(表示注释)。
请注意,!(惊叹号)、 ”(双引号)、 %(百分号)、 ?(问号)、 \(反斜杠)、 _(下划线)、 |(通
道)和 ~(破折号)不是特殊符号。
![](https://csdnimg.cn/release/download_crawler_static/1487214/bg13.jpg)
Syntactic elements
- 18 -
Identifiers(标志符)
标志符用来表示常量、变量、字段、类型、属性、过程、函数、程序、单元、库以及包。一个标志
符的长度是任意的,但只有前面的 255 个字符是有意义的。标志符必须以字母或下划线(_)开始,后面
可以是字母、数字和下划线,但不能包含空格。关键字不能用作标志符。
因为 Object Pascal 是不区分大小写的,所以,象 CalculateValue 标志符,它可以是下面的任何形
式:
CalculateValue
calculateValue
calculatevalue
CALCULATEVALUE
在 Linux 下,只有作为单元名的标志符要注意大小写。因为单元名和文件名相同,大小写不一致有
时会影响编译。(Linux 下的文件名是区分大小写的)
Qualified identifiers(限定符)
当一个标志符(名称相同)在多个地方声明时,使用它时可能要对标志符进行限定。限定标志符的
语法为:
identifier1.identifier2
这里,identifier1 限定 identifier2。比如,若两个单元分别声明了一个叫做 CurrentValue 的变
量,你可以通过如下方式指定要使用 Unit2 单元的 CurrentValue:
Unit2.CurrentValue
限定符可以重复,比如
Form1.Button1.Click
它调用 Form1 中 Button1 的 Click 方法。
如果你没有使用限定符,在块和范围
一节中所讲述的范围规则将决定它作如何解释。
Reserved words(关键字,保留字)
下面的关键字不能被重新定义或用作标志符:
and array as asm
begin case class const
constructor destructor dispinterface div
do downto else end
except exports file finalization
finally for function goto
if implementation in inherited
initialization inline interface is
label library mod nil
not object of or
![](https://csdnimg.cn/release/download_crawler_static/1487214/bg14.jpg)
Syntactic elements
- 19 -
out packed procedure program
property raise record repeat
resourcestring set shl shr
string then threadvar to
try type unit until
uses var while With
xor
除上面的关键字外,private、protected、public、published 和 automated 在对象类型
的声明中用作关键字,但其它情况下则作为指示字。关键字 at 和 on 也具有特殊的含义。
(以下内容摘自《Delphi 技术手册》
关键字是由 Delphi 编译器决定意义的保留标志符,不能把关键字用作变量、方法、或类型的名字等。)
Directives(指示字)
指示字只在代码中的特定位置才有特殊意义。在 Object Pascal 中,指示字具有特殊的意义,但和关
键字不同,它只用于(用户)自定义标志符不能出现的上下文环境中。因此,你可以定义一个和指示字
完全相同的标志符,虽然这是不明智的。
(以下内容摘自《Delphi 技术手册》
指示字是指在一个特定的上下文环境中,对编译器具有特殊意义的一个标志符。在上下文环境之外,你
可以自由地把指示字的名字作为普通的标志符来使用。但是,编辑器并不总是对的,因为一些指示字的
语法比较复杂,简单的编辑器不能正确处理。)
Numerals(数字)
整数和实数常量可以用十进制的阿拉伯数字序列来表示,数字之间不能有逗号或空格,但它可以有
一个前缀“+”或“-”来表示正负。它的数值默认为正(所以,67258 和+67258 是相等的),并且必须
位于预先定义的实数或整数类型的最大值之内。
带有小数点或指数符号的数字表示实数,而其它数字表示整数。当 E 或 e 出现在实数中时,它表示
10 的几次方。比如,7E-2 表示 7*10^-2,12.25e+6 和 12.25e6 都表示 12.25*10^6。
$前缀表示一个 16 进制数字,比如$8F。没有“-”号运算符的数字被认为是正数。在赋值时,若它
的值在接收者的数据类型范围之外,将产生一个错误,除非它是整数类型(32 位整数),此时将引发一
个警告,并且,values exceeding the positive range for Integer are taken to be negative numbers in a manner
consistent with 2's complement integer representation.
关于实数和整数类型的更多信息,请参考数据类型、变量和常量。关于数字常量的数据类型,请参
考真常量
。
Labels(标签)
标签是一个不超过 4 位的阿拉伯数字序列,也就是从 0 到 9999,打头的 0 没有意义。标志符也可行
使标签的功能。
剩余167页未读,继续阅读
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
vanisa
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)