Object
Pascal is a high-level, compiled, strongly typed language that supports
structured and object-oriented design. Its benefits include easy-to-read code,
quick compilation, and the use of multiple unit files for modular programming.
Object
Pascal has special features that support Borland’s component framework and RAD
environment. For the most part, descriptions and examples in this language
reference assume that you are using Object Pascal to develop applications using
Borland development tools such as Delphi or Kylix.
Most
developers using Borland software development tools write and compile their
code in the integrated development environment (IDE). Borland development tools
handle many details of setting up projects and source files, such as
maintenance of dependency information among units. The product also places
constraints on program organization that are not, strictly speaking, part of
the Object Pascal language specification. For example, Borland development
tools enforce certain file- and program-naming conventions that you can avoid
if you write your programs outside of the IDE and compile them from the command
prompt.
These Help topics generally assume that you are working in the IDE and that you are building applications that use the Visual Component Library (VCL) and/or Borland Component Library for Cross Platform (CLX). Occasionally, however, Borland-specific rules are distinguished from rules that apply to all Object Pascal programming.
Program organization: Overview
Other files used to build applications
Program organization: Overview
译文
Object
Pascal是一种支持结构化面向对象程序设计的计算机高级编程语言,具有代码易读、编译快速、多重单元文件实现模块化编程等优点。
Object
Pascal最具优势的特点是支持Borland组件构架和支持快速应用开发(RAD,Rapid Application
Development)环境。当前Object Pascal语言参考中的大多数描述和范例都是针对在Borland开发工具(如Delphi和Kylix)中使用Object Pascal进行应用开发。
大多数使用Borland软件开发工具的开发者在集成开发环境(IDE, Integrated Development Environment)中完成代码的编写和编译。Borland开发工具还能替开发者处理许多有关工程和源文件设置的详细资料,如管理单元之间的相关信息;该产品也能设置有关程序组织的约束(严格地说,这些约束是Object Pascal语言规范的一部分)。例如,Borland开发工具加强了对某些文件和单元命名的限制,尽管这些限制当在集成开发环境之外编写代码并且以命令提示符的方式编译代码时是可以被消除的。
当前Object Pascal语言参考一般针对工作于集成开发环境(IDE)并且利用Borland可视化组件库(Visual Component Library)和/或Borland跨平台组件库(Component Library for Cross Platform)建立应用程序,然而,与适用于所有Object Pascal编程的规则相比,有时候Borland特殊规则更显其优势。
编者注
Pascal发展简述
Pascal语言的命名是为纪念17世纪法国著名数学家Blaise Pascal(1623-1662)。
Pascal由20世纪60年代的ALGOL60发展而来。
Pascal编译程序于1970由瑞士苏黎世联邦技术学院的Niklaus Wirth教授首次运行。
标准Pascal于1974年由Niklaus Wirth和K.Jensen正式发表问世。
Turbo
Pascal 1.0于1983年由美国Borland公司推出。
此后,Pascal语言由Borland公司(现又注册公司名为Inprise)不断发展和演变,历经Turbo Pascal(5.0到6.0版本中就开始支持面向对象技术)、Turbo Pascal for Windows(昙花一现)、Delphi(最成熟和稳定的版本是Delphi 3和Delphi 6,当前最新版本为Delphi 7)、Kylix(截止到2002年已经发展到Kylix 3)。
为什么选择Pascal
Pascal语言以其结构严谨、思路清晰、代码易读的特点成为计算机教学语言中的首选,而这些特点如今已成为软件工程管理特别是程序设计过程中代码维护必需体现的。尽管几乎所有的计算机程序设计语言都支持为源代码添加注释,但选择Pascal可以使注释降低到最小,因为编写Pascal源代码就象是在用自然语言描述程序逻辑。
Object Pascal和Delphi
Object
Pascal是Delphi的语言基础,Delphi是Object Pascal的加速引擎。软件开发工具在任何发展阶段都具有一个永远不变的目标:提高软件生产力。换句话说,就是最大程度为开发者提供方便,在最短时间内建立应用程序。例如,为了降低代码编写难度(对于近几年来才入门的程序员,汇编语言是晦涩难懂的,更不要说去编写代码了),最早的C语言和Pascal语言出现了;为了提高代码效率,面向对象技术应用到编程语言中;为了提高开发效率,可视化开发工具出现了;为了实现跨平台应用,Delphi6和Kylix出现了。
Delphi的精华是VCL。离开了VCL,开发者又回到了刀耕火种的年代。你可以试着将你编写的单元中的uses子句中由Delphi自动添加的如SysUtils、Forms等单元名删除,你会发现你编写的代码无法编译。VCL封装了Windows消息机制,因此开发者可以方便地通过属性、事件、方法来控制对象;VCL封装了数据库游标机制(准确地说是BDE封装的),因此用Delphi进行数据库应用开发的开发者完全可以对关系数据库的游标机制一无所知。Delphi已经充分提供了积木元件(组件、类、标准例程),而开发者只需要加以利用就能够快速实现构想(应用程序)。可见,快速应用开发(RAD)对于Delphi来说是当之无愧的。
Delphi和Kylix
Delphi运行于Windows操作系统,Kylix运行于Linux操作系统。作为最早运行于Linux的可视化开发工具包,Kylix可以视为是Delphi的姊妹篇。而从Delphi 6开始,跨平台应用成为该产品的亮点。在VCL源代码中,针对操作系统的编译指示到处可见。也就是说,用Delphi 6开发的跨平台应用程序,可以轻松地被移植到Kylix中。
至于Object Pascal和Kylix的关系,也就不言而喻了。
为什么选择Delphi
Delphi不仅提供了功能强大而完善的可视化开发环境,提供了全面的组件、类、标准例程,而且提供了几乎全部的源代码(例如,你可以全面了解TEdit如何由TObject派生而来)。这对于开发者了解Delphi思想和提高开发水平是有很大帮助的。至于那些演示程序和帮助系统中的范例程序,更是Borland工程师提供的编程宝典。
Delphi的不足之处
Delphi完美地实现了跨平台快速应用开发,并提供对Microsoft .NET的最新支持,这些无疑是软件生产行业提高工作效率、降低生产成本的又一次飞跃。而在Delphi发展的过程中,笔者认为尚存在如下不足之处(此为拙见,祈为见谅):
(1) BDE以及部分报表组件在升级过程中向旧版本的兼容性比较差。笔者至今还在使用Delphi 3对早先的一个大型项目实施维护,因为Delphi 3中编写的源代码在Delphi 6中不是随便改动一些uses子句(例如变体类型Variant的声明单元就发生了变化)就可以使用的,更何况有些报表组件的事件处理程序连声明都变了(当然,这不完全是Borland/Inprise的问题,但至少是由于选择第三方软件不慎而导致了用户的尴尬)。因此,对于数据库应用的开发,建议要慎重选择Delphi的版本,因为很有可能你的应用程序从此就与Delphi的某个版本“绑定”了。还有就是安装程序需要附加BDE,并且要求用户不得再使用其他含有不同BDE版本的软件。(笔者在Delphi 3和Delphi 6中各完成一个基于BDE的数据库应用,却不能安装到同一个运行环境中。)
(2) ADO支持比较脆弱。或许这一问题的根本原因还在于Microsoft,因为Borland/Inprise的许多技术实现都跟在其后并且穷追不舍,这也就造成了Borland/Inprise发布补丁但还是不能完全令用户满意。笔者经常遇到这样的情况:在开发环境中运行得上好,到运行环境却要碰运气了,你必须要求最终用户也非常了解ADO相关的知识。如果你一定要使用ADO,建议不要使用Delphi 5,而使用Delphi 6(Delphi 7笔者尚未考证)。
(3) Delphi 7是最近发布的版本,支持Microsoft .NET的框架结构。对于数据库应用开发来说,Delphi 7提供的Rave确实令人不敢恭维。笔者正在初学,但已经遇到一些恼人的BUG了。Delphi 7中丢弃了QuickRep,这一大手笔也未免太过了吧(笔者尚未了解其他更多的优势和不足)。