Delphi 7 程序
设计与实验指导
张景安 赵慧勤 张叶娥 傅文博 著 编
第二章 面向对象的Pascal 面向对象的Pascal
?
Delphi的编程语言即Object Pascal是在Pascal的基础上发 Delphi的编程语言即Object Pascal是在Pascal的基础上发 展起来的,它继承了Pascal语言语法结构严谨和编译代 展起来的,它继承了Pascal语言语法结构严谨和编译代 码高效优化等优点。本章将介绍Object Pascal的数据类 码高效优化等优点。本章将介绍Object Pascal的数据类 型、常量、变量、运算符、语句、函数和过程等。 常量、变量、运算符、语句、函数和过程等。
2.1 数据类型
? 2.1.1 简单数据类型
简单类型包括有序类型和实型两种。 1.有序类型 有序类型包括整型、字符型、布尔型、枚举型和子界型。 有序类型是一种线性的数据结构,每个值都有唯一的前 驱(除第一个)和唯一的后继(除最后一个)。 ? (1) 整型 ? 整型的表示范围及存储格式见表2-1。 整型的表示范围及存储格式见表2 ? ? ? ?
2.1 数据类型
表2-1 整型的取值范围和存储格式
类型 Integer Cardinal Shortint Smallint Longint Int64 Byte Word Long
word 取值范围 -2147483648~2147483647 0~4294967295 -128~127 -32768~32767 -2147483648~2147483647 -263~263-l 0~255 0~65535 0~4294967295 存储格式 有符号32位整数 无符号32位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数 无符号8位整数 无符号16位整数 无符号32位整数
2.1 数据类型
? (2) 字符型 ? 字符型的类型标识符是Char。字符型的数据只能是单 字符型的类型标识符是Char。字符型的数据只能是单 个字符,不能是一串字符。例如'ABC', 个字符,不能是一串字符。例如'ABC','x=?' 等都不是 字符型的数据,而是字符串。(3) 字符型的数据,而是字符串。(3) 布尔型 ? 通常用到的布尔类型是Boolean,一个Boolean类型的变 通常用到的布尔类型是Boolean,一个Boolean类型的变 Boolean Boolean 量占一个字节,它只有两种取值:true和false。定义变 量占一个字节,它只有两种取值:true和false。定义变 量i,ch,t分别为整型、字符型、布尔型。 ch, ? var ? i: Interge; ? ch: Char; ? t: Boolean;
2.1 数据类型
? (4) 枚举类型 ? 枚举类型是用一些标识符来表示一系列有序数,即由 一些标识符组成的一个线性表。定义枚举类型的语法 是: ? type ? typeName=(val1,...,valn) ? (5) 子界类型 ? 子界类型指的是某个有序类型(称为基类)的一个子 集。定义子界类型的语法是: ? type ? typeName=Low..High;
2.1 数据类型
? 2.实型 ? 表2-2给出了实型的表示范围和存储格式。 给出了实型的表示范围和存储格式。 表2-2 实型的表示范围和存储格式
类型 Real
Real48 Single Double Extended Comp Currency 范围 ±2.9*10-24~1.7*10308 ±2.9*10-39~1.7*1038 ±1.510-45~3.4*1038 ±5.0*10-324~1.7*10308 ±3.6*10-4951~1.1*104932 -263+l~263-l
-922337203685477.5808~922337203685477.5807
有效位 11~-2 11~-2 7~8 15~16 19~20 19~20 19~20
所占位数
8 6 4 8 10 8 8
2.1 数据类型
? 2.1.2 字符串类型
? 字符串类型是用一对单引号括起来的一系列字符。字符串 类型的表示范围和存储格式见表 2-3。 表2-3 字符串类型的表示范围和存储格式 类型 ShortString AnsiString LongString WideString 最多字符 255 231 231 230 字节数 2~256B 4~2GB 4~2GB 4~2GB 字符集 ANSI向后兼容 SBCS,MBCS Unicode 等价于AnsiChar
2.1 数据类型
? 2.1.3 结构类型
? 结构数据类型是一种复合数据类型,由多个数据组成。结构 类型包括集合类型、数组类型、记录类型、文件类型等。 ? 1.集合类型 ? 集合类型是一组相同类型元素的组合。定义集合类型: ? type ? Name=set of BaseType ? 2.数组 ? 数组是一些具有相同类型元素的有序组合。 ? (1) 静态数组 静态数组的声