Delphi7基础语法教程.docx

上传人:b****4 文档编号:5573123 上传时间:2023-05-08 格式:DOCX 页数:34 大小:58.86KB
下载 相关 举报
Delphi7基础语法教程.docx_第1页
第1页 / 共34页
Delphi7基础语法教程.docx_第2页
第2页 / 共34页
Delphi7基础语法教程.docx_第3页
第3页 / 共34页
Delphi7基础语法教程.docx_第4页
第4页 / 共34页
Delphi7基础语法教程.docx_第5页
第5页 / 共34页
Delphi7基础语法教程.docx_第6页
第6页 / 共34页
Delphi7基础语法教程.docx_第7页
第7页 / 共34页
Delphi7基础语法教程.docx_第8页
第8页 / 共34页
Delphi7基础语法教程.docx_第9页
第9页 / 共34页
Delphi7基础语法教程.docx_第10页
第10页 / 共34页
Delphi7基础语法教程.docx_第11页
第11页 / 共34页
Delphi7基础语法教程.docx_第12页
第12页 / 共34页
Delphi7基础语法教程.docx_第13页
第13页 / 共34页
Delphi7基础语法教程.docx_第14页
第14页 / 共34页
Delphi7基础语法教程.docx_第15页
第15页 / 共34页
Delphi7基础语法教程.docx_第16页
第16页 / 共34页
Delphi7基础语法教程.docx_第17页
第17页 / 共34页
Delphi7基础语法教程.docx_第18页
第18页 / 共34页
Delphi7基础语法教程.docx_第19页
第19页 / 共34页
Delphi7基础语法教程.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Delphi7基础语法教程.docx

《Delphi7基础语法教程.docx》由会员分享,可在线阅读,更多相关《Delphi7基础语法教程.docx(34页珍藏版)》请在冰点文库上搜索。

Delphi7基础语法教程.docx

Delphi7基础语法教程

第1章Delphi基础知识

1.1为什么选择Delphi

Delphi是美国Borland公司推出的一种基于客户/服务器体系的Windows快速应用开发工具(RADRapidApplicationDevelopment),是一种面向对象的可视化编程工具,即根据Delphi的可视性,又结合ObjectPascal语言的编程技巧,可以开发出功能强大的Windows应用程序和数据库应用程序。

Delphi是第一个集可视化开发环境、优化的源代码编译器和可扩展的数据库访问引擎于一身的Windows开发工具。

它具有以下优点:

1.优秀的可视化开发环境

2.高效率的编译器

3.结构良好的编程语言

4.对数据库和网络编程的灵活支持

5.层次清晰和可扩展的框架

1.2Delphi发展史

Delphi发展至今,从Delphi1、Delphi2到现在的Delphixe,不断添加和改进各种特性,功能越来越强大。

Delphi1.0

  1995年一个开发工具中的超级明星在Borland诞生了,这就是Delphi1.0。

在Delphi1.0中Borland放弃了OWL(ObjectWindowLibrary),取而带之的是全新的VisualComponentLibrary,从此开始了组件(Component)技术的时代,其意义深远;Delphi1.0是完全面向对象的。

它是Delphi的最早版本。

Delphi2.0

  1996年Delphi2.0完成了16位到32位的跨越,提供了32位操作系统的完整支持,只能在Windows95以上的操作系统中使用,它如同Delphi 1.0一样大获成功。

  在Delphi2.0中Borland为它增加了可视的Form的继承,并且面向对象更彻底。

由于所有函数支持"虚函数"特性,对程序编写和维护非常方便,大量类似的报表也采用了此技术。

  Delphi2.0中,增加了DataModules的概念,可以将数据包装在一个模块中,在系统启动时或空闲时将它打开,这样,所有使用这些Table的模块都可以公用它,避免重复打开和关闭。

并且,由于所有数据Table位于一个模块中,非常便于管理维护和迁移升级。

Delphi3.0

  1997年:

在微软COM/DCOM技术日益成熟的情况和企业对分布式应用程序开发工具的需求下,Borland的开发人员巧妙的平衡了二者的关系,使Delphi3.0成为Windows平台的第一款提供分布式开发的开发工具。

Delphi4.0

  1998年:

由于决策的错误,Delphi4.0是一个不成熟的产品,其中有大量的bug,尽管Borland也不停的发补丁,但不稳定的恶名很快在delphi用户传开,delphi4.0给delphi蒙上了阴影,也使VisualBasic有了喘息之机。

Delphi5.0

  1999年:

在失败的Delphi4以后,Borland小心的推出了Delphi5.0,重新建立delphi的声望,delphi受到delphi开发人员一致推崇。

在这个版本中Delphi对IDE(集成开发环境)进行了很多改进,扩展了对数据库的支持(ADO和InterBase数据库),转换功能,框架概念以及很多的新组件与新特性。

Delphi6.0

  2001年:

Delphi6添加了对如下特性的支持:

对CLX(ComponentLibraryforCross-PlatformCLX)跨平台开发的支持,扩展的运行库(run-timelibrary),dbExpress数据库引擎,Web服务和杰出的XML支持,一个强大的Web开发框架,IDE的更多增强,大量的组件和类,delphi开始为向.net过渡做准备。

Delphi7.0

  2002年:

Delphi7是Delphi向.net过渡的产品,在照顾老的使用者的同时,Borland在其中加入了对.net的支持,所以Delphi7可以同时编写原windows下和.net下的应用程序。

2002年11月,borland为delphi7提供了修改后的,使vcl组件可以在.net环境下使用。

Delphi8.0

  2003年:

Delphi8for.NET集成开发环境提供了许多工具和特性以帮助你快速创建强大的.NET应用程序。

它是为了与微软的visualstudio.Net竟争而设计的。

Delphi8for.NET已经拥有C#的能力,同时仍然保留Delphi的易用性可以,但它只是一个测试版,一个过渡版。

还不太完善。

Delphi9.0(2005)

2004年:

Delphi9集成了starteam,caliberrm,Unittesting及Together部份的功能.加入了inline及forinloop等功能。

它把Win32的开发工具全部整合到Delphi9中。

Delphi9把BorlandDelphi.Net、BorlandDelphiWin32、BorlandC#等环境和功能集成成一个开发工具,因此可以在Win32和.NET开发环境中切换或同时进行。

200510.0发布名称:

BorlandDeveloperStudio(BDS)2006。

集成C++Builder;

ECO(EnterpriseCoreObjects)升级到ECOIII;集成TogetherforDelphi,可以在同一个IDE中进行UML开发;QAAudits和QAMetrics可以快速的把握专案的设计和代码的质量。

  2006TurboBorland将BDS2006拆分成几个独立的版本(Delphiforwin32、Delphifor.net、C#、C++Builder),而且不能同时安装两个不同的版本。

由于Borland的IDE生产部份独立成为一家名为codegear的公司,所以这个版本是以Borland名义推出的最后一个版本。

  200711.0正式名称:

CodeGearRADStudio-Delphi2007。

  20085.7Borland正式宣布将CodeGear子公司出售给Embarcadero(易博龙)技术公司。

20088.25Embarcadero发布CodeGearDelphi2009Pre-release版。

20098.25Embarcadero发布CodeGear.RAD.Studio.2010版

2010年:

发布EmbarcaderoRADStudio2011版,官方名称为RADStudioXE

1.3第一个程序

开发一个应用程序一般要经过以下几个阶段:

✧需求分析与总体设计。

此阶段的任务是让程序开发人员充分理解系统的需求和任务,给出实现这些需求与任务的总体方案。

✧代码开发与程序调试。

此阶段按照设计方案使用编程语言开发出应用程序。

在开发的过程中反复调试以修改语法错误和逻辑错误,最终生成符合要求的可执行文件。

✧投入运行与程序维护。

经测试无误的应用程序就可以投入运行了。

程序的维护是为了保证程序能正确地运行。

在代码开发与程序调试阶段,使用Delphi时一般包括3个步骤:

Ø程序窗体设计:

包括对窗体中组件的设计。

Ø程序代码设计:

设计窗体和窗体中组件的各种操作和响应事件的处理代码。

Ø编译和调试程序:

对程序代码进行编译,修改各种语法错误和逻辑错误,生成正确的可执行代码。

第2章Delphi语言基础

2.1编程风格

2.1.1注释

块注释:

通常被用在版权注释中,也被用来注释掉一些代码行。

{注释}

(*注释*)

单行注释:

作用域只是它所在的一行,使用方便。

//

2.1.2命名

命名对象可以是常量、变量、函数、过程等用户自已书写的定义的标识。

在ObjectPascalj里不分大小写。

命名原则:

用意思明确的英文单词或者词组命名,且首个字母大写,若是多个单词(不能在单词间插入空格),采用驼峰格式。

例:

jklasdf//没有意义

Mylongidentifier//可读性差

Thisismuchmorereadableroutinename//可读性差

MyLongIdentifier

ThisIsMuchMoreReadableRoutineName

注意:

命名的第一个字母尽量不要用T,F,I这三个字母。

2.1.3空白

源代码中的空格、空行及制表符等称为空白区。

使用空白可提高程序的可读性,又不影响编译。

2.1.4缩进

使程序便于阅读理解。

不要在源代码中保留Tab字符。

2.2基本概念

2.2.1进制

二进制,十进制,十六进制(加$符号)

2.2.2保留字

程序如同一篇文章,由字符组成单词,再由单词和符号构成句子——语句。

其中有一类单词,它们具有特定的语法含义,称为保留字(reservedwords)。

程序员不得重新定义保留字的语义。

常用的保留字如:

begin、end、if、then、for、do等。

教材第24页表2-1。

2.2.3标识符

标识符用作常量、变量、数据类型、属性、过程、函数、单元及程序等的名称。

由一个或多个字符序列组成,其构词规则如下:

(1)标识符由字母、数字或下划线组成;

(2)标识符的第一个字符必须是字母或下划线;

(3)标识符的长度不应超过255个字符,否则只有前255个字符有效;

(4)不能将保留字用作标识符;

(5)标识符不区分大、小写。

例如:

x、x1、max、a15、Button_OK都是合法的标识符,而5x、x-y、α、ax10.5等都是非法的标识符。

标准标识符:

在ObjectPascal语言中,有一类标识符是系统预先定义的,它们用于标识系统预先定义的标准函数、标准过程、标准类型、标准常量及标准文件等。

标准常量,如False、True等。

标准类型,如Boolean、Char、String、TDateTime等。

标准函数,如Abs、Eof、ShowMessage、Sqrt等。

标准过程,如Dispose、New、Read、Readln、Reset等。

标准文件,如Input、Output等。

注意:

当程序中自定义的标识符与其引用的单元中所定义的重名时,如果要访问被引用单元的标识符,则必须指示为外部单元的标识符,不然访问的是本程序定义的标识符。

2.3常量与变量

二者都是存储数据的载体,不同的是常量中的值不能改变,变量中的值则随着程序的运行而改变。

一般位于函数或者过程的起始位置定义。

2.3.1变量

变量是程序设计最基本的要素,是实现人与计算机交流的最基本的媒介,变量中可以存放字符、数值、日期或对象等。

1.变量的声明

变量说明的一般形式为:

var

<变量标识符列表>:

<类型标识符>;

其中,变量标识符列表中可以包含一个或多个变量标识符,若有多个变量标识符时,相邻的两个变量标识符之间应使用逗号“,”隔开;类型标识符用以指定这些变量的数据类型。

变量说明以保留字var开头。

一个变量说明部分可包含多个变量的说明,每个变量说明末尾均有分号。

一个变量在某一个时刻有且仅有一个值。

2.变量的命名和格式

与标识符类似

3.局部变量和全局变量

从作用范围来划分:

局部变量和全局变量,在过程或函数内部声明的变量称为局部变量,否则称之为全局变量。

局部变量在它所在的过程或函数执行完后由系统自动释放,全局变量在程序被关闭时释放。

在声明变量时,局部变量不能初始化,全局变量可以初始化,但在声明多个同类型变量时不能初始化。

2.3.2常量

1.字面常量

(1)整型常量

即整数,如3、10000、-90。

在ObjectPascal中十六进制形式表示整型常量以字符$开头,如$20相当于十进制的32。

(2)实型常量

即实数,例如,6.6、0.77e+4。

后者的表示方法称为指数记数法或科学记数法,0.77e+4表示0.77×104。

Pascal语言中的实数表示和日常书写的形式基本相似,但要注意以下几点:

①小数点前后一定要有数字。

②数中不允许包含空格字符与逗号。

例如1,000,000是不合语法的。

③没有分式表示。

④使用指数记数法时,e前面应有整数或实数,e后面必须是整数。

例如:

88.0、-0.8、1e+23、-3.45e-6都是正确的实数表示法,而88.、.66、4.4e5.5、e6则是不正确的。

(3)布尔常量

它是指False和True这两个值,False表示逻辑值“假”,True表示逻辑值“真”。

(4)字符常量

字符常量有两种表示方式:

①用单引号对括起来的单个字符,如'a'、'*'、'2'等。

②用#引导一个整数,整数表示该字符的ASCII码。

例如,#13、#$20、#$30、#65分别表示回车符、空格符、数字符号'0'、字母'A'。

(5)字符串常量

字符串常量是用单引号对括起来的一串字符,例如,'Goodidea'、'96.5'、'#='。

当字符串内有单引号时,要用两个连续单引号表示,例如,'Mostchildren''sEnglishCourse'。

书写字符串需要注意以下几点:

①空格字符可以是字符串的组成部分。

所以在字符串中的任何空格字符都是其值的一部分;

②字符串中的字母有大小写区分,即'A1'不等于'a1'。

2.符号常量

字面常量可以在程序中直接使用,而由标识符表示的符号常量需预先定义。

常量定义的一般形式为:

const

<常量标识符>=表达式;

<标识符>:

<类型标识符>=表达式;

在Pascal程序的声明部分,以保留字const后开始常量声明;“=”号左边为常量标识符;“=”号右边的表达式可以由常量、部分在程序编译时可计算的函数,及先定义的常量标识符等构成,表示符号常量的值。

一个类型常量定义部分可包含多个类型常量定义,每个类型常量定义末尾均有分号。

例:

const

Pi:

Double=3.1415926;

Max=100;

ObjectPascal对常量定义有如下要求:

①必须遵循先定义后使用的原则,即只有已定义的常量标识符才能在程序中使用。

②不能改变符号常量的值。

可用于常量定义的函数,即在程序编译时可计算的函数,有Abs、Chr、Length、Odd、Ord、Pred、Round、SizeOf、Succ、Swap、Trunc等(见下表2-2)。

使用常量定义的意义在于减少常量值差错机会与修改程序的工作量,并提高程序的可读性。

表2-2可以在常量表达式中引用的标准函数

函数

说明

Abs(X)

求X的绝对值

Addr(X)

返回X的地址

Chr(X)

返回值为X的字符

Length(X)

求字符串X的长度

Odd(X)

判断X是否为奇数

Ord(X)

返回序数类型变量X的序数值

Pred(X)

返回序数类型变量X的前一个值

Succ(X)

返回序数类型变量X的后续值

SizeOf(X)

返回X在内存中占用的字节数

Round(X)

把X四舍五入取整

Swap(X)

交换16位整数的高位和低位

Trunc(X)

把实数X截断为整数

2.4运算符

ObjectPascal所支持的运算符主要有算术运算符、逻辑运算符、关系运算符3大类。

2.4.1赋值运算符

赋值运算符“:

=”是先计算赋值运算符右边表达式的值,再将结果赋给左边的变量。

2.4.2算术运算符

用于完成算术运算。

对于+、-、*,若参加算术运算的两个数都是整型数据,则运算结果也是整型。

运算符

作用

操作数类型

结果类型

+

表示正值

Integer或Real

Integer或Real

算术加

Integer或Real

Integer或Real

表示负值

Integer或Real

Integer或Real

算术减

Integer或Real

Integer或Real

*

算术的乘运算

Integer或Real

Integer或Real

/

浮点数的除运算

Integer或Real

Real

Div

整型数的除运算

Integer

Integer

Mod

模运算

Integer

Integer

2.4.3逻辑运算符

操作数及结果都是布尔值。

运算符

作用

操作数类型

结果类型

not

逻辑非

Boolean

Boolean

and

逻辑与

Boolean

Boolean

or

逻辑或

Boolean

Boolean

xor

逻辑异或

Boolean

Boolean

2.4.4位运算符

对操作数进行位级操作。

部分位运算符与逻辑运算符在形式上是一样的,区别是其操作数及返回结果。

运算符

作用

操作数类型

结果类型

Not

按位非

Integer

Integer

And

按位与

Integer

Integer

Or

按位或

Integer

Integer

Xor

按位异或

Integer

Integer

Shl

按位左移

Integer

Integer

Shr

按位右移

Integer

Integer

E1ShlE2:

E1乘以2的E2次方,

E1ShrE2:

E1除以2的E2次方的整数部分,

2.4.5关系运算符

用于比较两个量的值。

结果为布尔值。

运算符

作用

结果类型

=

等于

Boolean

<>

不等于

Boolean

<

小于

Boolean

>

大于

Boolean

<=

小于或等于

Boolean

>=

大于或等于

Boolean

In

属于

Boolean

注意:

对于数值相近的实型数据进行“>”与“<”运算时应谨慎,因为实型类型的表示是近似值,相近的实数的存储表示可能是一样的。

可采用差的绝对值与一任意小的数比较。

例:

X=Y运算应当写成Abs(X-Y)<1e-6;而X<>Y运算应写成Abs(X-Y)>1e-6。

2.4.6运算符优先级

复杂表达式中的同一括号层内,各运算的先后次序取决于运算符的优先级。

按照操作数的个数可以将运算符分为两类:

单目运算符和双目运算符。

只有^、@和not是单目运算符,其他的为双目运算符。

其中,+和-既可作为单目运算符(正数、负数)又可作为双目运算符(加、减)。

单目运算符只能放在操作数的前面,双目运算符都放在两操作数的中间。

对于可变类型的数据操作,大多数操作符都可以对其进行操作,只有^、is和in例外。

确定优先级的3条基本原则:

●两个运算符之间的操作数总是首先参加高优级的运算,

●两个相等优先级运算符之间的操作数按从左到右的顺序参加运算,

●括号里面的表达式总是优先于单个运算符的运算。

例:

total:

=10+15*2div(4+2xor3)

习题

1.简述ObjectPascal中标识符的命名应遵循哪些规则。

2.ObjectPascal中提供了哪些类型运算符,在表达式中其优先级从高到低如何排列。

3.注释语句有哪几种形式?

4.什么是变量的作用域?

根据变量的作用域,可将变量分为哪几类。

第3章ObjectPascal中的数据类型

3.1基本数据类型

基本数据类型分为:

有序类型、浮点类型、时间日期类型、字符串类型。

3.1.1有序类型

有序类型包括整型、字符型、布尔型、枚举型和子界型。

有序类型是一种线性的数据结构,每个值都有唯一的前驱(除第一个)和唯一的后继(除最后一个)。

每个数都有一个确定的序号,对整数而言该序号就是其本身,而对其他的有序类型(子界类型除外),黙认情况下,第一个值的序号为0,第二个为1,依次类推。

用于处理有序类型的表达式或变量的常用函数

函数

参数

返回值

备注

Ord

有序类型变量或有序类型表达式

有序类型表达式的序号

不能带Int64类型的参数

Pred

有序类型变量或有序类型表达式

有序类型表达式的先行数

不能在拥有write过程的属性上使用

Succ

有序类型变量或有序类型表达式

有序类型表达式的后继数

不能在拥有write过程的属性上使用

High

有序类型变量或有序类型表达式

有序类型中序数最大的值

可以用于shorstring类型或数组

Low

有序类型变量或有序类型表达式

有序类型中序数最小的值

可以用于shorstring类型或数组

1.整数类型

类型

取值范围

存储格式

Integer

-2147483648~2147483647

有符号32位整数

Cardinal

0~4294967295

无符号32位整数

Shortint

-128~127

有符号8位整数

Smallint

-32768~32767

有符号16位整数

Longint

-2147483648~2147483647

有符号32位整数

Int64

-263~263-l

有符号64位整数

Byte

0~255

无符号8位整数

Word

0~65535

无符号16位整数

Longword

0~4294967295

无符号32位整数

2.字符类型

字符型的类型标识符是Char。

字符型的数据只能是单个字符,不能是一串字符。

例如‘ABC’,‘x=?

’等都不是字符型的数据,而是字符串。

字符类型

占用字节数

存储内容

AnsiChar

1

存储一个Ansi字符,基本类型

WideChar

2

存储一个Unicode字符,基本类型

Char

1

同AnsiChar,Delphi将来的版本可能对应于WideChar,通用类型

每个字符都对应于一个有序整数值,其值是由该字符在ASCII字符集中的位置所决定的。

常用的处理字符的函数:

●Chr(x:

Byte):

Char该函数返回ASCII中某序数所代表的字符。

它与Ord函数互为逆函数。

●UpCase(Ch:

Char)该函数将小写字母转换为大写字母,当其参数不是小写字母时,该函数则会返回原来的字符。

3.布尔类型

布尔类型

占用字节数

存储内容

Boolean

1

通用类型

ByteBool

1

基本类型

WordBool

2

基本类型

LongBool

4

基本类型

布尔类型只有两种取值:

true和false。

Boolean类型变量的序数值只能为0和1,而其他布尔类型变量的序数可以是其他值。

布尔类型特性比较

Boolean

ByteBool、WordBool、LongBool

False

False<>True

Ord(False)=0

Ord(False)=0

Ord(True)=1

Ord(True)<>0

Succ(False)=True

Succ(False)=True

Succ(True)=True

Succ(True)=False

Pred(True)=False

Pred(False)=True

Pred(False)=True

Pred(True)=True

4.枚举类型

枚举类型是用户自定义一组具有特定意义的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2