Object Pascal 参考手册
(Ver 0.1)
ezdelphi@hotmail.com
Overview
- 1 -
Overview(概述)
Using object pascal(使用object pascal)
Object Pascal 是一种高级编译语言,具有强类型(对数据类型的检查非常严格)特性,支持结构化
和面向对象编程。它的优点包括代码的易读性、快速编译,以及支持多个单元文件从而实现模块化编程。
Object Pascal 具有一些特性以支持Borland 组件框架和RAD(快速应用程序开发)环境。在很大程
度上,本语言参考的说明和示例假定你使用Borland 公司的开发工具,如Delphi 和Kylix。
绝大多数使用 Borland 开发工具的开发者是在IDE(集成开发环境)环境下编写代码并进行编译。
Borland 开发工具帮助我们设置工程和源文件的许多细节,比如维护单元的依赖信息。并且,使用这些工
具在程序的组织上还有一些限制,严格说来,这不是Object Pascal 语言规范的一部分。比如,Borland
开发工具遵循某些文件和程序的命名约定,若你在IDE 以外编写代码并使用命令行来编译,你可以避开
这些限制。
这些帮助主题假设你在 IDE 环境下工作,并且使用VCL(可视化组件库)和/或 CLX(跨平台组件
库)创建应用程序。但有时候,Borland 一些特定的规则和Object Pascal 的通用规则并不相同。
Program organization(程序组织)
Program organization: Overview(概述)
应用程序通常被分成多个源代码模块,我们称它们为单元(unit)。每个程序以一个程序头(heading)
开始,它为程序指定一个名称。在程序头之后是一个可选的uses 子句,然后是一个由声明和命令语句组
成的块(block)。uses 子句列出了那些链接到程序的单元,这些单元可以被不同的程序共享,并且通常
有自己的uses 子句。
uses 子句给编译器提供各模块间的依赖信息,因为这些信息是存于模块自身的,所以,Object Pascal
程序不需要makefile 文件、头文件以及include 预处理指令(这些概念你可能要参考C 语言)。每当一个
工程调入IDE 时,Project Manager 创建一个makefile,但只有在包含多个工程的工程组中才保存这些文
件。
关于程序结构和依赖关系的更多内容,请参考程序和单元。
Pascal source files(Pascal 源文件)
编译器期望在以下三种文件中取得 Pascal 源代码:
• 单元源文件 (文件扩展名为 .pas)
• 工程文件 (文件扩展名为 .dpr)
• 包源文件 (文件扩展名为 .dpk)
单元源文件包含程序代码的主要部分,每个程序包含一个工程文件和多个单元文件。工程文件相当
Overview
- 2 -
于传统Pascal 语言的‘主’程序文件,它把各单元文件组织成一个程序。Borland 开发工具自动为每一
个应用程序维护一个工程文件。
如果从命令行编译一个程序,你可以把所有源代码放在单元文件(.pas)中,但如果用IDE 创建程
序,则必须有一个工程文件(.dpr)。
包源文件类似于工程文件,但它们用来创建称为包的特殊的动态链接库(DLL)。
关于包的更多信息,请参考动态链接库和包。
Other files used to build applications(创建程序所需的其它文件)
除了源代码文件,Borland 工具还需要几种非Pascal 文件来创建程序。它们是自动维护的,包括以
下文件:
• 窗体文件,扩展名为 .dfm(Delphi)或.xfm(Kylix)
• 资源文件,扩展名为 .res (已经编译的资源文件)
• 工程选项文件,扩展名为 .dof(Delphi)或.kof(Kylix)
窗体文件或者是一个文本文件,或者是一个编译的资源文件,资源文件能包含位图、字符串等等。
每个窗体文件表示一个窗体,通常对应于程序中的一个窗口或对话框。IDE 允许以文本方式察看和编辑
窗体文件,并且能以文本或二进制格式保存它。虽然默认是以文本方式保存窗体,但通常不要手动编辑
它,更常用的方式是使用Borland 提供的可视化设计工具。每个工程至少有一个窗体,每个窗体有一个
关联的单元文件(.pas),默认情况下,单元的文件名和窗体文件名相同。
除了窗体文件,每个工程使用一个资源文件(.res)保存位图作为程序的图标。默认情况下,这个
文件和工程文件(.dpr)同名。要改变程序的图标,可使用Project Options 对话框。
工程选项文件(.dof 或.kof)包含编译器和链接器设置、搜索路径以及版本信息等等。每个工程对
应一个选项文件,它和工程文件同名。通常情况下,文件中的选项是通过Project Options 对话框来完成
的。
IDE 中的许多工具保存其它类型的文件。桌面设置文件(.dsk 或.desk)包含窗口的排列信息及其
它设置项目。桌面设置或者特定于一个工程(和某个工程相关),或者作用于整个环境(environment-wide)
(不是特定于某个工程,对所有工程都有效)。这些文件对编译没有影响。
Compiler-generated files(编译器生成的文件)
在第一次生成一个程序或一个标准 DLL 时,编译器为工程中所使用的每个新单元创建一个编译(过
的)单元文件.dcu(Windows)或.dcu/.dpu(Linux)。工程中所有的.dcu 文件(Windows)或.dcu/.dpu
文件(Linux)被链接到一个单独的可执行文件或共享库中;当第一次生成一个包时,编译器为包所包含
的每个新单元创建一个.dcu 文件(Windows)或.dpu 文件(Linux),然后创建.dcp 文件和包文件(关
于库和包的更多信息,请参考库和包)。若使用–GD 开关,链接器生成一个map 文件和.drc 文件,.drc
文件包含字符串资源,能被编译进资源文件中。
当重新生成一个工程(程序、库或者包)时,除非自上次编译后单元文件(.pas)发生了改变、或
者没发现.dcu 文件(Windows)和.dcu/.dpu 文件(Linux)、或者明确告诉编译器重新编译它,否则,
单元文件不会被重新编译。实际上,只要编译器能找到编译(过的)单元文件(.dcu 或 .dpu),单元源
文件不是必需的。
Overview
- 3 -
Example programs(实例程序)
About example programs(关于实例程序)
下面的实例演示 Object Pascal 编程的基本特点,它们是一些简单的Object Pascal 程序,不能在IDE
下编译,你可以从命令行编译它们。
A simple console application(一个简单的控制台程序)
下面是一个简单的控制台程序,你可以从命令行编译并运行它。
program Greeting;
{$APPTYPE CONSOLE}
var MyMessage: string;
begin
MyMessage := 'Hello world!';
Writeln(MyMessage);
end.
第一行声明程序叫做Greeting;{$APPTYPE CONSOLE} 指示字告诉编译器,这是一个控制
台程序,它要从命令行运行;接下来的一行声明了一个变量MyMessage,它存储一个字符串(Object
Pascal 包含真正的字符串类型)。程序把字符串”Hello world!” 赋给变量MyMessage,然后使用
Writeln 例程把MyMessage 的内容送到标准输出设备(Writeln 在System 单元声明,编译器在每个
程序中自动包含这个单元)。
你可以把这个程序(源代码)输入到一个叫Greeting.pas 或Greeting.dpr 的文件中,然后在控
制台输入如下命令编译它:
对于 Delphi:DCC32 Greeting
对于Kylix:dcc Greeting
执行的结果是输出信息”Hello world!”。
除了简单,上面这个例子和我们在 Borland 开发工具下写的程序有几个重要的不同:首先,这是一
个控制台程序,Borland 开发工具通常创建图形界面的程序,因此,你�
没有合适的资源?快使用搜索试试~ 我知道了~
delphi技术手册
共416个文件
txt:416个
需积分: 9 5 下载量 23 浏览量
2010-11-28
23:55:27
上传
评论
收藏 603KB RAR 举报
温馨提示
delphi技术手册 txt 电子书delphi技术手册 txt 电子书
资源推荐
资源详情
资源评论
收起资源包目录
delphi技术手册 (416个子文件)
Object Pascal 参考手册.txt 363KB
附录二 SysUtils 单元.txt 117KB
第二章 DELPHI 对象模型.txt 78KB
第八章 编译器指示字.txt 67KB
第一章 DELPHI PASCAL.txt 60KB
第四章 并发编程.txt 60KB
第三章 运行时类型信息.txt 49KB
附录一 命令行工具.txt 29KB
Math单元.txt 17KB
第七章 运算符.txt 12KB
TObject 类型.txt 11KB
前言.txt 10KB
第六章 系统常量.txt 8KB
Delphi编译指令说明.txt 6KB
BeginThread函数.txt 6KB
TextFile 类型.txt 6KB
Class关键字.txt 6KB
Asm关键字.txt 5KB
Extended类型.txt 4KB
Property关键字.txt 4KB
Single 类型.txt 4KB
Double类型.txt 4KB
Array关键字.txt 3KB
Try 关键字.txt 3KB
TVarData 类型.txt 3KB
IOResult函数.txt 3KB
Implements指示字.txt 3KB
Variant 类型.txt 3KB
SysFreeMem 函数.txt 3KB
Case关键字.txt 3KB
Procedure关键字.txt 3KB
Default指示字.txt 3KB
File关键字.txt 3KB
Function关键字.txt 3KB
Threadvar 关键字.txt 3KB
ReallocMem 过程.txt 3KB
WideString 类型.txt 3KB
Read过程.txt 3KB
THeapStatus 类型.txt 3KB
Const关键字.txt 3KB
SetMemoryManager 过程.txt 3KB
Constructor关键字.txt 3KB
Raise关键字.txt 3KB
Dispinterface关键字.txt 3KB
第五章 语言参考.txt 3KB
Type 关键字.txt 3KB
SafeCall 指示字.txt 3KB
VarArrayLock 函数.txt 3KB
Write 指示字.txt 3KB
Stored 指示字.txt 3KB
Set 关键字.txt 3KB
Record 关键字.txt 3KB
Write 过程.txt 3KB
TDateTime 类型.txt 2KB
Reset 过程.txt 2KB
Library关键字.txt 2KB
GetMem过程.txt 2KB
Virtual 指示字.txt 2KB
Forward指示字.txt 2KB
DllProc变量.txt 2KB
Packed关键字.txt 2KB
Integer类型.txt 2KB
Inherited关键字.txt 2KB
Exports关键字.txt 2KB
TVarRec 类型.txt 2KB
On指示字.txt 2KB
Resourcestring 关键字.txt 2KB
IndeX指示字.txt 2KB
Object关键字.txt 2KB
AnsiString类型.txt 2KB
TInterfacedObject 类型.txt 2KB
Str 过程.txt 2KB
Published指示字.txt 2KB
Message指示字.txt 2KB
Interface关键字.txt 2KB
BlockRead过程.txt 2KB
Initialize过程.txt 2KB
AddModuleUnloadProc过程.txt 2KB
IUnknown接口.txt 2KB
With 关键字.txt 2KB
Goto关键字.txt 2KB
ReadLn 过程.txt 2KB
Overload指示字.txt 2KB
Self 变量.txt 2KB
RunError 过程.txt 2KB
Uses 关键字.txt 2KB
SetLength 过程.txt 2KB
Read指示字.txt 2KB
Initialization关键字.txt 2KB
ExceptClsProc变量.txt 2KB
Or关键字.txt 2KB
BlockWrite过程.txt 2KB
TClass 类型.txt 2KB
Cardinal类型.txt 2KB
Dispose过程.txt 2KB
FillChar过程.txt 2KB
TVarArray 类型.txt 2KB
SysReallocMem 函数.txt 2KB
Swap 函数.txt 2KB
High函数.txt 2KB
共 416 条
- 1
- 2
- 3
- 4
- 5
资源评论
_HERO_
- 粉丝: 2
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功