Pascal语言 & Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。
缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
Pascal语言简介
Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3 月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。
Delphi的出现打破了V承可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成.EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。 Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi的基本形式
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。 在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可?/td>
B. Delphi面向对象的编程方法(一)
Delphi的编程语言是以Pascal为基础的 Pascal语言具有可读性好 编写容易的特点 这使得它很适合作为基础的开发语言 同时 使用编译器创建的应用程序只生成单个可执行文件( EXE) 正是这种结合 使得Pascal成为Delphi这种先进开发环境的编程语言
本章中 我们将讨论Object Pascal的主要特点 并讲解如何在事件处理过程和其他应用程序中 使用它来编制程序代码握液 本章将讲解Delphi应用程序中最常用的Object Pascal语法 而不是Pascal语言的一切细节 如果您完全不熟悉Pascal编程 请参阅一些基础的Pascal教程 如果您具有编程经验 并能熟练地使用其他流行程序语言 您将在本章的Object Pascal中发现一些相同的概念 如果您已经熟悉了Borland Pascal 就可以快速浏览或跳过本章
编写Object Pascal程序代码
在本章中 我们将从熟悉Pascal编程的角度 配合实例 讲解Object Pascal编程的基本方法
在编写自己的Object Pascal程序时 要注意程序的可读性 Pascal语言是英式结构语言 在程序中选择合适的缩排 大小写风格 并在需要时将程序代码分行 会使得程序代码能够很容易地被自己和他人读懂 一般的程序员都有这样的体验 如果不给程序加上适当的注解 一段时间后 自己也难以理清程序的流程 给程序及时地加上芹宏注释是良好的编程习惯 Delphi的注释需要加注在{}之间 编辑器会把它们处理成为空白 Delphi保留了Borland Pascal编辑器的风格 关键字采用黑体字 被注释的部分会变暗 这使得编程风格良好 易读易写
编写赋值语句
在事件处理过程中 最常用到的工作就是把一个新值赋给一个属性或变量 在设计用户界面时 可以使用Object Inspector(Object Inspector)来改变其属性 但有时需要在程序执行时改变属性的值 而且有些属性只能在执行时改变 这些属性在Delphi的在线帮助的 Proprety 主题中被标为执行期属性 进行这种改变 就必须使用赋值语句
下文的赋值语句表征一个OnClick事件 当按钮按动后 将编辑框部件Edit 的Color属性置为clRed:procere TForm Button Click(Sender: TObject);beginEdit Color := clRed;end;
当按动按钮后赋值语句被执行 编辑框变成红色
在语句中 部件的名称在属性前 中间用 表示属性的所属关系 这样就准确地指定了要将clRed值赋给哪一部件的哪一属性 赋值号为 := 不论给属性还是给变量赋值 都是将右边的值赋给左边的属性或变量
当将一个属性值 变量 常量或文本数据赋给属性或变量时 所赋值的类型和接受此值的属性或变量的类型应相同或兼容 一个属性或变量的类型定义了此属性或变量的可能值集合 也定义了程序代码可以执行的运算 在前边的例程中 编辑框部件的Color属性和clRed的类型都是TColor 可以在在线帮助中找到一个属性的类型 另外一种方法是在Object Inspector中选定该属性值段 并按下F 键 则类型将在属性说明的结尾处列出 例如Color属性列出下边的语句
Property Color : TColor;
有些属性是只读(Read Only)的 它们只能被读取 不能被改变 请查阅在线帮助 在Delphi中这些只读属性都有注解
标识符的说明与使用嫌皮册
标识符是Delphi应用程序中一些量的名称 这些量包括变量(var) 常量(const) 类型(type) 过程(procere) 方法(Method)及其他 Object Pascal 在应用标识符时 必须首先说明它们 Object Pascal是强类型语言 它的编译器可以检查确保赋给变量或属性的值是正确的类型 以便于您改正错误 因为Object Pascal是编译语言 所以Delphi的执行速度要比使用解释语言快得多 在使用标识符前说明它们 可以减少程序错误并增加代码的效率
变量
变量是程序代码中代表一个内存地址的标识符 而此地址的内存内容在程序代码执行时可以被改变 在使用变量前必须对它进行说明 即对它进行命名 并说明它的类型 在所有变量说明以前加上保留字var 变量说明左边是变量的名称 右边则是该变量的类型 中间用(:)隔开
varValue Sum : Integer;Line : String;
在窗体中加入一个名称为Edit 的编辑框 再加入一个名称(属性Name)为Add的按钮部件 并建立如下的事件处理过程
procere TForm addClick(Sender: TObject);varX Y: Integer;beginX := ;Y := ;Edit Text := IntToStr(X + Y);end;
在本例中 当按动ADD按钮时 编辑框中显示值 在Object Pascal中 必须确保变量或属性被赋予类型相同或兼容的值 您可以尝试将赋给X的值改为 或去掉IntToStr函数 在编译时会出现类型不匹配的错误 这也说明了Object Pascal强类型语言的特点 Object Pascal有多个预定义的数据类型 您可以说明任何这些类型的变量
整形 Integer的范围是 到 占 字节的内存 Shortint从 到 占 字节内存 Longint从 到 占 字节内存 Byte从 到 占 字节 Word从 到 占 字节内存 它们都是没有小数部分的数字
实型 Single可以包含 到 位有效小数部分 占用 字节的内存 Double类可以包含 到 位有效小数部分 占用 字节的内存 Extended类型包含 到 位有效小数部分 占用 字节内存 Comp可以包含 到 位有效小数部分 占用 字节内存 以上实数类型只有在 / 选项[N+]打开才可以使用 Real可以包含 到 位有效小数部分 占用 字节内存 它只有在和以前Borland Pascal兼容的情况下才使用 否则应使用Double或Extended
布尔型 Boolean 只包含true或False两个值 占用 字节内存
字符型 Char 一个ASCII字符 字符串类型String一串最长可达 个ASCII字符
指针型 Pointer 可以指向任何特定类型
字符串型 PChar 是一个指向以零结尾的字符串的指针
除了预定义类型外 Delphi还有自行定义的类型 上述例程的TColor就是这种类型 此外 用户还可以定义自己的数据类型 这部分内容将在下文中详细讲述
整型类别和实型类别都各有五种类型 同一类别中 所有的类型与其他同类别的都相容 您可以将一种类型的值赋给相同类别中不同类型的变量或属性 而只需要这个值的范围在被赋值的变量或属性的可能值范围内 例如 对于一个Shortint型的变量 可以接受在 到 范围内的任意整数 例如Shortint类型的 您不能将 赋给它 因为 已经超出了Shortint的范围了 将范围检查功能打开(选用Options|Project 并在Compiler Options Page中选择Range Checking) 将会检查出一个范围错误 如果Range Checking没有被打开 那么程序代码将可以执行 但被赋值的值将不是您期望的值
在一些情况下 您可以进行不同类型的变量或属性的赋值 一般来说 可以将一个较小范围的值赋给一个较大范围的值 例如 您可以将整型值 赋给一个接受实型值的Double属性而使得值成为 但如果将一个Double类型的值赋给整形变量 则会出现类型错误 如果您不清楚类型的兼容性 可以参阅Delphi的在线帮助中 Type Compatibility and Assignment Compatibility 主题
常量
常量在说明时就被赋予了一个值 在程序执行过程中是不可改变的 下面的例子说明了三个常量
constPi = ;Answer = ;ProctName = Delphi ;
象变量一样 常量也有类型 不同的是 常量假设其类型就是常量说明中其所代表的值的类型 上文的三个常量的类型分别是real型 整形 字符串型 常量用 = 表示两边的值是相等的
过程与函数
lishixin/Article/program/Delphi/201311/8549