Delphi_Object_Pascal语法

上传人:jiups****uk12 文档编号:40001240 上传时间:2018-05-22 格式:DOC 页数:56 大小:821.50KB
返回 下载 相关 举报
Delphi_Object_Pascal语法_第1页
第1页 / 共56页
Delphi_Object_Pascal语法_第2页
第2页 / 共56页
Delphi_Object_Pascal语法_第3页
第3页 / 共56页
Delphi_Object_Pascal语法_第4页
第4页 / 共56页
Delphi_Object_Pascal语法_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《Delphi_Object_Pascal语法》由会员分享,可在线阅读,更多相关《Delphi_Object_Pascal语法(56页珍藏版)》请在金锄头文库上搜索。

1、 第2章 Object Pascal语言Delphi的编程语言是以 Pascal为基础的。Pascal语言具有可读性好、编写容易的特点, 这使得它很适合作为基础的程序开发语言。同时,使用编译器创建的应用程序只生成单个可 执行文件(.EXE),正是这种结合,使得 Pascal成为 Delphi这种先进开发环境的编程语言。 本章中,我们把 Delphi的可视化元素放在一边,将主要讨论 Object Pascal的主要特点, 并讲解如何在事件处理过程和其它应用程序中,使用它来编制程序代码。首先,本章将讲解 Delphi应用程序中最常用的 Object Pascal语法和面向对象技术;然后介绍一些 O

2、bject Pascal 语言的高级技术。如果读者完全不熟悉 Pascal编程,可以参阅一些基础的 Pascal教程。如果 具有一定编程经验,并能熟练地使用其它流行的程序语言,就将会在本章的 Object Pascal中 发现一些相同的概念。如果读者已经熟悉了 Borland Pascal和面向对象技术,就可以快速浏 览或直接跳过本章。2.1 Object Pascal语言基础2.1.1 Object Pascal入门一般来说,使用 Delphi开发的程序有以下三种:1Windows图形界面程序Windows图形界面程序包括了目前 Windows平台上绝大多数应用程序,这些程序通过窗 体和对话

3、框与用户进行信息交互,实现一定的功能。如 Microsoft公司的 Office系列软件和正 在使用的 Delphi 6.0等。2控制台程序控制台程序是指一些没有图形用户界面的 32位 Windows应用程序。通常是在类似以前 的 DOS环境下运行。这些程序很少要求用户输入大量的信息,一般只实现特定的功能。控 制台程序的代码较小,占用的系统资源少。编译、链接的速度比较快。在本章中将主要采用 控制台程序介绍 Object Pascal语言。3服务器程序服务器程序可以接受客户应用程序的请求,处理这些请求,并将结果信息返回客户应用 程序。服务器应用程序一般在后台运行,也不需要太多的信息交互。下面我们

4、通过一个具体的控制台程序的例子,使读者对在 Delphi中生成 Object Pascal程 序,以及 Object Pascal程序的一般结构有一个比较直观的认识。 在 Delphi集成开发环境中,激活菜单 File/New打开 New Items对话框。选中 New标签 页中的 Console Application选项,按下 OK按钮。系统会自动创建下面的控制台程序工程, 并在代码编辑窗口中自动打开 Project1.dpr文件,修改 Project1.dpr文件如下,注意程序中的第 2章 Object Pascal语言 15黑体部分:program Project1;$APPTYPE

5、CONSOLE/uses SysUtils;varstr:string;begin/ Insert user code herewriteln(您好,这是一个示范程序,请输入一行文字: );readln(str);writeln(您输入的是: ,str);readln;end.激活菜单项 File/Save All将工程文件保存至目录 D:DelphiSamplesEx2_1中。黑体部分 为添加代码。本章后面的例子都可以在该工程的基础上来方便的实现。 按 F9键编译、链接、运行程序。在程序提示:“您好,这是一个示范程序,请输入一行 文字:”后,输入“早上好!”。程序将输出结果:“您输入的是:早

6、上好!”。 下面是对该程序的几点说明:程序第二行中$APPTYPE CONSOLE是一个编译器指令,它告诉编译器这个程序 是一个控制台程序。uses SysUtils语句前加了两个斜线,将这条语句改成注释语句屏蔽掉了(注释语句将 在下面介绍),因为 SysUtils单元在这个例子中用不到。writeln和 readln两个函数分别输出和输入一行字符,后面将详细介绍两个函数。程 序最后的 readln语句是为了锁定窗口,否则输出结果将很快消失。 我们通过这个简单的例子,作为读者对 Object Pascal的入门。下面将详细介绍 Object Pascal的语法。2.1.2 注释语句作为起点,我

7、们首先介绍在 Object Pascal代码中怎样写注释。Object Pascal支持三种类 型的注释:花括号注释:组合符号“”和“”的成对使用表示它们之间的内容是注释部分; 圆括号/星号注释:组合符号“(*”和“*)”的成对使用表示它们之间的内容是注 释部分;C+风格的双斜杠注释:符号“/”的单独使用表示后面的内容是注释部分; 我们看下面的例子:花括号注释( *圆括号/星号注释* )/ C+风格的注释16第 2章 Object Pascal语言前两种注释在本质上是相同的,编译器把处于限定符头和限定符尾中间的内容当作注释。花括号和圆括号/星号比较适合在大段注释时使用。如果在“”或“(*”后面

8、是一个“$” 符号时,表示该句为一个编译器指令,与普通的注释不同,通常用来对编译过程进行设置。 如上例中的第二句$APPTYPE CONSOLE。 对于 C+风格的注释来说,双斜杠后面到行尾的内容被认为是注释。比较适用于单行和 少量几行注释的情况。 注意,相同类型的注释不能嵌套使用。虽然不同类型的注释进行嵌套在语法上是合法的, 但我们不建议这样做。这里是一些例子: ( *这是合法的* ) ( * 这是合法的 * )( * ( *这是非法的* ) * ) 这是非法的 2.1.3 标识符(Identifier)Object Pascal语言使用的标识符包括字母 AZ,az,数字 09以及其它一些标

9、准字 符。 下面的单个字符作为特殊符号存在:$ ,+ : /( )下面的字符组合作为单个的特殊符号存在:(*)(.)./:= 注意:=,相当于 C语言中的!=运算符。3逻辑表达式Pascal用单词 and和 or作为逻辑与和逻辑或运算符,而 C语言使用Dec(variable);同上面相比较,用 Inc()和 Dec()分别对变量执行加和减操作:Inc(variable,3);Dec(variable,3);表 2-7列出了在不同语言中执行加减运算的运算符。表2-7 加减运算符运算符加PascalInc()C/C+Visual Basic无无减Dec()-注意如果允许编译优化,Inc()和De

10、c()过程就产生如下的机器码语法:variable:=variable+1; 用这样的方法对变量进行加减运算,可能感到更方便。7指针运算符表 2-8介绍了指针运算符。第 2章 Object Pascal语言 31表2-8 Object Pascal语言中的指针运算符运算符作用操作数类型结果+-将指针指向的地址增加偏移量将指针指向的地址减去偏移量取指针所指向地址中的内容判断两个指针是否指向同一地址判断两个指针是否指向不同地址指针,integer指针,integer指针指针指针,integer指针指向数据类型Boolean=InSet有序,Set9类运算符类运算符as和in对类或类的实例进行操作.

11、此外,关系运算符=和0 rhentest1(A);在Test2中调用已执行的过程Test1end;begin42第 2章 Object Pascal语言Alpha := 15; 给Alpha赋初值Test1(Alpha); 第一次调用Test1,递归开始end;程序开始时给 Alpha赋初值,并实现先减 1再除 2的循环递归调用,直到 Alpha小于 0 为止。2.1.9 作用范围1标识符的作用范围一个变量、常量、方法、类型或其它标识符的范围定义了这个标识符的活动区域。对于 说明这个标识符的最小程序模块而言,此标识符是局部的。当用户的应用程序在说明一个标 识符的程序模块外执行时,该标识符就不在

12、此范围内。这意味着此时执行的程序无法访问这 个标识符,只有当程序再度进入说明这个标识符的程序模块时,才可以访问它。 图 2-3表示一个含有两个库单元的工程,每个库单元中又各有三个过程或事件处理过程。 图中每一个矩形代表一个程序模块。如果用户在程序 D中说明一个变量,则只有过程 D 可以访问它,它是 D的局部变量。如果用户在程序 B中说明一个不属于任何过程的变量,那 么过程 D、E、F都能使用它,因为以上的过程都属于库单元 B,因此这个变量对以上过程是 全局的,但对于程序库单元 B它是局部的。一般来讲,应尽量把标识符说明成局部的,这样 会增加程序对数据的保护,使它不会被不小心修改。只有当几个程序

13、模块分享数据时,才需 要考虑使用全局的说明。图 2-3一个简单过程中的程序模块第 2章 Object Pascal语言 432访问其它程序模块中的说明用户可以在当前的程序模块中访问其它程序模块中的说明。例如用户在库单元中编写一 个事件处理过程来计算利率,则其它的库单元可以访问这个事件处理过程。要访问不在当前 库单元中的说明,应在这个说明之前加上其它应用程序的名称和一个点号(.)。例如,在库单 元 Unit1中有事件处理过程 CalculateInterest过程,现在用户想在库单元 Unit2中调用这一过 程,则可以在 Unit2的 uses子句中加入 Unit1,并使用下面的说明:Unit1

14、.CalculateInterest(PrincipalInterestRate : Double);应用程序的代码不能在一个模块外访问它说明的变量。事实上,当程序执行跳出一个模 块后,这些变量就不存在于内存中了。这一点对于任何标识符都是一样的,不管事件处理过 程、过程、函数还是方法,都具有这一性质。这样的标识符称为局部变量。2.1.10 规范化命名在系统开发的过程中,常常要为变量、类、对象、函数和文件等命名。一般在开发的需 求或设计阶段就必须制定出一套完整、实用的命名规则。这样,在很大程度上可以提高系统 开发的效率,便于不同模块之间的接口,方便系统的维护。在制定命名规则的时候,一个基本的原则

15、就是便于使用、便于维护、风格统一。应该注 意下面几点:命名时要采用英文单词,而不要使用中文拼音,尤其不要使用中文拼音第一个字母 的组合。在使用英文单词命名时,尽量采用统一、简单、贴切的词语,尽可能使用完整的单 词或音节。有些名称可以采用几个英文单词的组合。在组合过程中,尽量不要使用下划线来分 隔单词,最好采用大小写混写的方式来实现。对于保留字和指令字可以统一全部小写,而对于一些常量名可以全部大写。有些名称可以是“动词+对象”组合而成,也可以是“对象+动词”组合而成。一般 来说,“动词+对象”比较符合平常的语法习惯。但不管怎样,整体上都应该统一。 在有些情况下,要考虑到与 Delphi集成开发环

16、境的统一。例如,在 Delphi集成开发 环境中,普通类的名称一般以 T开头,异常类的名称一般以 E开头。在对菜单命令的标识号命名的时候,应将所属菜单项的名称包含进去。比如对于“文件”菜单项中的菜单命令,可以将标识号命名为 FileOpen、FileClose等。 对于一些表示集合意义的名称,可以使用名词的复数形式。比如窗口的集合,可以使用 Windows,而不要使用 WindowCollection。2.2 Object Pascal语言的面向对象技术软件系统开发过程中,结构分析和结构设计技术具有很多优点,但是也存在着许多难以 克服的缺点。因为结构分析和结构设计技术是围绕着实现处理功能来构造系统的,而在系统 维护、软件升级的过程中,用户的需求变化往往是针对系统功能,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号