object_pascal语言基础
字符串型
String
4~2GB
String是一般类型,与ansistring类型等价,很多属 性都使用了此类型。各字符串类型可以混合在赋值和表 达式中,编译器将自动执行转换。在默认的{$H+}状态, 编译器将String解释为AnsiString,用{$H-}编译指令可 以指示编译器将String解释为ShortString。
数值型数据
标准函数和标准过程 ①绝对值函数Abs(x),函数值为|x|。 例:Abs(-100)的值为100,Abs(99)的值为99。 ②平方函数Sqr(x),函数值为x2。 例:Sqr(-4)的值为16,Sqr(3)的值为9。 ③奇函数Odd(x),函数的结果为布尔型。当x为奇数时,函数 值为True;当x为偶数时,函数值为False。 例:Odd(3)的值为True,Odd(4)的值为False。 ④平方根函数Sqrt(x),函数返回x的平方根。 例:Sqrt(2)的值为1.414。
数值型数据
⑤取高、低字节函数Hi(x)和Lo(x),分别返回整型数x的高字 节和低字节,结果是Byte类型。 例:Hi($1234)的值为$12,Lo($1234)的值为$34。 ⑥交换函数Swap(x),将整型数x的高字节和低字节进行交换, 交换后的两个字节重新组成一个整数作为函数返回值。 例:Swap($1234)的值为$3412。
整型
序数型
Integer
Cardinal
4
4
-2147483648~2147483647
0~4294967295
前7种为基本型,与CPU和操作系统无关,提供兼容性; 后2种为一般型,与CPU和操作系统有关,尽量使用。
数值型数据
整型的运算: ①算术运算符:+、-、*、/(浮点除)、div(整数除,取 商)、mod(整数除,取余) ②关系运算符:=、<>、>=、>、<=、< 关系运算的结果是布尔型,即取True或False值。 例如:5=5的值为True;5<>5的值为False。 ③正负号运算符:+、与加、减运算不同,此为单目运算。如-a,求运算元的负值。 ④整型数的逻辑运算符:not、and、or、xor 整数转换为二进制数后逐位进行逻辑运算。其中not是单目 运算符。
1(2)
前2种为基本类型,后1种为一般类型
字符数据
运算符 Object Pascal语言允许用=、<>、>、>=、<、<=六个关 系运算符对字符型数据进行运算操作。 讨论大小的依据是字符ASCii码的大小。因此,所有的 字符都可以进行比较(即关系运算)。 例:'A'<'B' 码 'b'<'a' 表 '1'<'2' 标准函数 ①Chr(x),函数返回ASCII码值为x的字符。 例:Chr(65)的值为‘A‘。 ②Ord(x):x为字符型,返回x所对应的ASCII码值。
数据类型
对象以属性的不同而区分,属性又以属性值(数据)进 行描述,因此,不同的属性就决定数据分不同的类型。 数据类型不仅确定了该类数据的表示形式和取值范围, 也确定了数据所能够参加的各种运算。 数据类型整体上分为:标准数据类型和高级数据类型。 标准数据类型属于Object Pascal内部约定的数据类型, 无需定义就可以直接使用。
数值型数据
实型:存储实数数据的类型。
类型 名称 字节数 4 取值范围 ±1.5×10-39~3.4×1038 单精度实型 Single
扩展型
Extended 10
8 8 Currency Real 8
±3.6×10-4951~1.1×104932
±5.0×10-324~1.7×10308 -922337203685477.5808~ 922337203685477.5807 ±5.0×10-324~1.7×10308
5 C C h h i i n n a a null
第二章 Object Pascal 语言基础
本章知识点
标识符与保留字 数据类型
常量与变量
运算符和表达式 常用内部函数 程序语句 掌握Object Pascal语言标示符的命名规则; 掌握Object Pascal语言标准数据类型及使用方法; 掌握Object Pascal语言常量、变量的定义和使用规则; 掌握Object Pascal语言常用的运算符和表达式的使用方法; 掌握Object Pascal语句的作用及使用方法; 掌握Object Pascal语言中常用的函数。
数值型数据
标准函数 ①正弦函数Sin(x):函数值为x的正弦,其中x的单位为弧度。 ②余弦函数Cos(x):函数值为x的余弦,其中x的单位为弧度。 ③反正切函数Arctan(x):函数值为x的反正切,函数值的单位 为弧度。 ④指数函数Exp(x):函数值为指数ex。 ⑤对数函数In(x):函数值为x的自然对数。 pascal中没有幂函数,但可以利用上两个函数得到求幂ab的 表达式为exp(b*ln(a)) ⑥舍入函数Round(x):对实数x的小数作四舍五入,结果为整 数。例如:Round(5.6)的值为6,Round(-7.6) 的值为-8。
数值型数据
⑦取整函数Trunc(x):截去实数x的小数部分,返回整数。 例如:Trunc(-9.9)的值为-9,Trunc(7.8) 的值为7。 ⑧取整函数Int(x):截去实数x的小数部分,返回整数。 INT的函数返回值是实型,TRUNC的函数返回值是整型。 ⑨取小数函数Frac(x):返回实数x的小数部分,结果为实型。 ⑩随机函数Random(x):返回一个[0,x)之间的随机整数, 如果没有x,则返回一个[0,1)之间的随机实数。 若每次要得到不同的随机值,则需在使用函数之前,调用 randomize过程。
数值型数据
例: 00000000 01010110 → (86)10 and 00000101 00010100 → (1300)10 00000000 00010100 → (20)10 ⑤左、右移位运算符:Shl、Shr Shl运算符的运算格式为A Shl n,表示将整型数A的各位向 左移n位,高位溢出,低位补0。 Shr运算符的运算格式为A Shr n,表示将整型数A的各位向 右移n位,低位溢出,高位补0。 如:00000000 01010110左移2位后,为00000001 01011000, 即:表达式86 Shl 2的值为344。
数值型数据
整型:是用于存储整数数据的类型,包括9种形式:
类型 名称 字节数 取值范围
短整型 小整型 长整型 64位整型 字节型 字型 长字型
Shortint Smallint Longint Int64 Byte Word Longword
1 2 4 8 1 2 4
-128~127 -32768~32767 -2147483648~2147483647 -263~263 0~255 0~65535 0~4294967295
此外,math单元中还有很多数学函数,只需在uses单元 调用即可。
字符数据
字符数据分为字符型和字符串型。 字符型:存储单个字符的数据类型。
类型 名称 字节数 1 2 取值范围
Ansi字符型
宽字符型 字符型
AnsiChar
WideChar Char
扩展ANSI字符集
UniCode字符集 扩展ANSI字符集ASຫໍສະໝຸດ II字符数据字符数据
字符串型:存储字符串数据的类型。
类型 短字符串型 长字符串型 宽字符串型 名称 ShortString AnsiString WideString 最大长度 255个字符 231个字符 230个字符 231个字符 所需内存空间 2~256B 4~2GB 4~2GB
标识符和保留字
标识符 常量、变量、数据类型、过程、函数、单元及程序等的 名称用字,通常由一个或多个ASCII码字符序列组成。 定义标识的规则如下: (1)标识符由字母、数字或下划线组成; (2)标识符的第一个字符必须是字母或下划线; (3)标识符的长度不应超过255个字符; (4)不能将关键字(保留字)用作标识符; (5)标识符不区分大、小写(但Kylix中区分)。 一般自定义标识符多由有意义的英文单词或其简写组成。虽 然不区分大小写,但书写事尽量不用大小写混用。 例:x、x1、ma x、a15、Button_OK、5x、α、x-y、ax10.5
特殊符号
下面的单个字符可作为特殊符号: # $ & ' ( ) * + , ? . / : > @ [ ] ^ { } 有些组合字符对也作为单个的特殊符号: (* *) (. .) .. // := <= >= <>
;
<
=
保留字和指令字
保留字 又称为关键字,它在Delphi语言中有着特殊含义。在 实际编程中不应该把任何保留字用作标识符,具体见P22 表2-1。 指令字 为编译提供指示意义。各指令字有它专门的用途。如 下面代码: var I: Integer; J: Integer absolute I; 在Delphi的代码编辑器中,保留字和指令字皆以深蓝色 黑体显示,定义标识符时不要与之一样。
类型 名称 说明
整型 实型
字符型 字符串型 布尔型
Integer Real
Character String Boolean
标准数据类型 标准数据类型
标准数据类型 标准数据类型 标准数据类型
数据类型
高级数据类型是特殊的数据结构,在使用 之前必须由用户自己定义。
Object Pascal 基本语法训练
河南机电高等专科学校学生实验报告实验课程名称Delphi程序设计实验项目名称Object Pascal 基本语法训练系、部计科系年级二年级专业班软件技术102 学生姓名学号实验时间一、实验目的1、了解Object Pascal的数据类型、运算符、表达式的概念和应用;2、熟悉Object Pascal的基本语句(赋值语句、分支语句、循环语句)的应用;3、理解过程与函数的概念,掌握过程与函数的定义方法,掌握过程与函数的调用方法;二、实验原理Object Pascal 基本语法。
三、使用仪器、材料计算机一台四、实验内容1、选择结构练习1,编程求以下分段函数的值(如下图)。
使用if语句完成。
x (x<1)y= 2x-1 (1=<x<10)3x-11 (x>=10)2、选择结构练习2,从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。
学生的成绩可分为5个等级,这5个等级是:90~100分为A级,80~89分为B级,70~79分为级,60~69分为D级,0~59分为E级。
学生的考试成绩为0~99分(如下图)。
使用case语句或if语句嵌套完成。
3、循环结构练习1,输入两个正整数,求其最大公约数和最小公倍数(图略)。
4、循环结构练习2,输出100-999之间所有的“水仙花数”。
所谓“水仙花数”是指一个三位数的个位数、十位数和百位数的立方和等于该数自身,例如153(图略)。
5、编写一个过程,实现两个数的交换,并在Delphi中实现过程的调用(图略)。
6、编写一个函数,求两个数中的较大值,并在Delphi中实现函数的调用(图略)。
7、提高题:写一个程序,用来分离出字符串中的字母字符和数字字符。
程序的设计界面如下图所示。
程序运行时,在第一个编辑框中输入任意一串字符,然后单击”分离”按钮,将把字母和数字分离开来并显示在对应的编辑框中,如下图所示。
五、实验过程原始记录(数据、图表、计算等)实验一(1).进入Delphi开发环境单击Window的“开始”菜单→“所有程序”→”Borland Delphi”→“Delphi”。
Object pascal 语法
Delphi资料项目 (2)Delphi程序设计基本步骤 (4)Object Pascal语言 (6)Delphi对象与类类型 (29)Delphi的程序单元 (44)处理异常 (46)包 (50)项目与项目有关的文件Delphi项目包含窗体、单元、资源、选项等,所有这些信息都驻留在磁盘文件中。
在设计程序时,Delphi 创建这些文件的大部分,但有一些文件需要你借助其它工具来创建或其它途径获得,如资源文件、帮助文件等。
下面是设计程序时,Delphi自动创建的文件:?项目文件(.Dpr):Delphi项目文件,用于保存窗体、单元等的信息,以及程序运行的初始化代码等,这种文件实际上包含了Pascal源代码。
?单元文件(.pas):Pascal文件,用于保存程序源代码,可以是与窗体有关的单元或是独立的单元。
?窗体文件(.Dfm):保存窗体或数据模块及其构件特性的二进制文件。
?选项文件(.Dof):含有当前项目选项设置的文本文件。
?Package源文件(.DPK):软件包的项目源代码文件,用于管理Packages信息。
?资源文件(.res):该二进制文件包含项目的图标,由Delphi不断更新和创建,用户一般不需要修改。
?备份文件(.-dp,.-df,-pa):分别对应项目、窗体、单元文件的备份文件。
?Desktop文件(.DSK):包含了与Delphi窗口的位置、在编辑器中打开的文件及其它桌面设置有关的信息。
?类型库(.TLB):一种自动建立或由类型库编辑器为OLE服务器端应用程序建立的。
?项目配置文件(.CFG):保存项目配置,文件名与项目名相同,但后缀为.CFG。
?Code Insight配置文件(.DCI):保存IDE中对Code Insight的修改信息。
?构件板配置文件(.DCT):保存IDE中对构件板的修改信息。
?菜单配置文件(. DMT):保存IDE中对Delphi菜单的修改信息。
?容器库修改文件(. DMT):保存程序对Delphi菜单容器库的修改信息。
delphi-object pascal语言
个数序数为0,依次递增。
2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。
f、浮点类型: (通用类型<8字节>:Real-与Double等同)
具体:
Double<8字节>,Real48<6字节>Single<4字节>,
b、字符类型: (通用类型<8位>:Char -与AnsiChar等同)
具体:
AnsiChar<8位> :主要存放Ansi字符
WideChar<16位>:主要存放Unicode字符
c、布尔类型: (通用类型<8位>:Boolean-与ByteBool等同)
如果给某些key指定了值,则未指定值的key是前一个key值加1;
如果全部默认不指定值,则key1值为0,往后逐个加1。
e、子界类型:
定义:type 子界类型标识符=下界 ..下界
如:type SubInt=1..3 0;表示 1~30的整数
MyLabel: //标记
、、、 //其它语句
goto MyLabel; //跳转到MyLabel 处
var Me:People; //定义people型的变量
with Me do
begin
name:='Paul';
addr:='Guangzhou';
字段n:类型;
end;
c、集合类型:
定义: type 集合类型标识符=Set of 基本类型的子集或子界类型;(<=255个元素)
d、变体(通用)类型: Variant;
(第二章)Pascal语言
2、三种注释类型:
花括号注释
使用格式:{ 注释内容 } 例如:{这是一个数据库应用程序}
圆括号+星号注释
使用格式:(* 注释内容 *) 例如:(*这是一个数据库应用程序*)
双斜杠注释
使用格式: //注释内容 例如: x:=1; //这是一个赋值语句
二、运算符 1. 赋值运算符:使用格式为“:=” 2. 比较运算符 :>、>=、<、<=、=、<> 3. 逻辑运算符 :and、or和not(与 ,或,非) 4.算术运算符: Inc(增加函数)和Dec(减少函数)
(8)平方根函数Sqrt(x):函数值为x的平方根。 (9)舍入函数Round(x):对实数x作四舍五入, 结果为整数。例如:Round(5.6)的值为6, Round(-7.6) 的值为-8。 (10)截尾取整函数Trunc(x):截去实数x的小 数部分,结果为整数。例如:Trunc(-9.9)的 值为-9,Trunc(7.8) 的值为7。 (11)取整函数Int(x):截去实数x的小数部分, 返回整数部分。 (12)取小数函数Frac(x):返回实数x的小数部 分,结果为实型。
续
二、变量 1、变量概念:变量代表一个数据存放的地址。在程序运行中,该
地址的值可以改变。
2、变量定义基本格式: Var 变量名1,变量名2,…,变量名n:类型名; 其功能是同时定义n个指定类型的变量。
例如: Procedure MyExample; Var x,y: Integer; f: Double; Begin x:=1; inc(x); y:=2; ... end;
. 标准函数 (1)绝对值函数Abs(x):函数值为x的绝对值。 (2)平方函数Sqr(x):函数值为x的平方。 (3)正弦函数Sin(x):函数值为x的正弦,其中x 的单位为弧度。 (4)余弦函数Cos(x):函数值为x的余弦,其中x 的单位为弧度。 (5)反正切函数Arctan(x):函数值为x的反正切, 函数值的单位为弧度。 (6)指数函数Exp(x):函数值为指数ex。 (7)对数函数In(x):函数值为x的自然对数。
Delphi程序设计教程_第2章_Object_Pascal语言基础
8. 数组类型 数组是具有一组固定类型的元素的集合,数组中 的每个元素都可以通过数组名和下标来存取。现在 Delphi支持动态数组,也就是说数组可以动态分配存 储空间。 ⑴ 静态数组 所谓静态数组就是定义后,其大小不再改变的数 组,定义的语法形式为: <数组标识符>=ARRAY [下标类型] OF <元素类型>
第2章 Object Pascal语言基础
在Delphi中采用的是Object PASCAL语言,这是一
种结构化编程语言。
退出
2.1 字符集和符号 2.2 常量和变量
2.3 表达式
2.4 语句
2.5 作用域
2.6 过程与函数
2.7 类
2.8 输入与输出
2.9 异常事件的处理
2.10 程序单元
2.1 字符集和符号
· 空白(Blanks):空格字符(ASCII码值为32)和所 有不可见的ASCII控制字符(ASCII码值为0~31),其中 回车符的ASCII码为13 · 特殊字符(Special):+、-、*、/、^、:、;、'、 #、$和@
· 关系运算符:=、<>、>、<、>=和<= · 赋值运算符::= · 子界运算符:..
6. 实数类型 实数(Real)类型表示不同格式的浮要占用大量的CPU资源,运算速度也 低于整型等有序类型。
Delphi中支持六种类型的实数。
适用于实数类型的运算符有: 算术运算:+、-、*、/ 关系运算:=、<>、<、>、<=、>=
2.1.2 标识符 标识符用来表示常数、常量、字段、类型、属性、
过程、函数、程序、单元、库、包和记录中的域等。
Pascal语言基础
2.3.1 运算符
2. 逻辑运算符 Pascal语言用and和or作为逻辑与和逻辑或运算符,Pascal的逻 辑非的运算符是not,它是用来对一个布尔表达式取反。 逻辑运算符对逻辑类型的操作数进行运算,数据结果也为逻辑类 型。
运算符 Not And Or Xor
作用 逻辑取反运算 逻辑和运算 逻辑或运算 逻辑异或运算
X or Y X xor Y
Shl
Shr
按位左移
按位右移
X shl 2
Y shr 2
2.3.1 运算符
4. 字符串运算符 加号(+)还可以作为字符串运算符,它可以将两个字 符串联接在一起。如果两个字符串都是短字符串,那么在 结果字符串长度超过255个字符的情况下,只有前面255个 字符有效。
运算符 + * / Div Mod 作用 两个数相加 两个数相减 两个数相乘 两个浮点数相除 两个整型数相除 取模 操作数类型 Integer,real Integer,real Integer,real Integer,real Integer Integer 结果类型 Integer,real Integer,real Integer,real Integer,real Integer Integer 举例 X+Y Result-1 P*InterestRate X/2 Total div UnitSize Z mod 8
举例 not (C in MySet) Done and (Total>0) A or B A xor B
2.3.1 运算符
3. 位运算符 位运算符对整型的数据进行按位操作,所得结果也为整型 数据,如表所示。 运算符 作用 举例
Not And
第三讲 Object Pascal语言概论
Repeat语句
重复执行循环体,直到指定的条件为真时为止,其语法为: repeat 语句1; 语句2; until 布尔表达式;
•
1)
2)
For语句:循环次数已知的循环
递增型 for 循环变量: =初值 to 终值 do 语句; 递减型 for 循环变量: =初值 downto 终值 do 语句;
•
五、常量与变量
常量(Constant) 使用前需要用关键字Const声明。如: const n=10;ch='A'; 2. 变量(Variable) 使用var声明,如: var i,j:integer; //i和j是integer的变量 var ch:char; //ch 是char的变量 注:相同类型的变量可以在同一条语句中说明,各个变量之 间用逗号隔开。 1.
数组类型
•动态数组 动态数组在声明时可不指定数组大小,而在程序运行 时指定数组的大小,如:
var A: array of integer;
SetLength(A ,10); 注:一旦为数组分配了存储空间,程序中就不能改变 数组的长度!但可以再次使用SetLength为数组重新分配空 间,也可以使用关键字nil释放动态数组的存储空间。
语句以分号结束,程序以句点结束
二、书写规则: 层次化、结构化,大小写字母同义。 注释的方法有两种: 单行注释:符号“//”后的一行内容为注释(与C同) 多行注释:注释号{ }和(* 释。 (C的多行注释: /* */) *)之间的内容为注
三、数据类型:
简单类型 构造类型 指针类型 整数类型 : integer 实数类型 : real 标准类型 字符类型 : char 布尔类型 : boolean 枚举类型 自定义类型 子界类型 数组类型 : 字符串类型 集合类型 : 记录类型 : 文件类型 : array
第3章ObjectPascal编程基础ppt课件
异常处理
procedure TForm1.OkClick(Sender: TObject); var
i :integer ; begin
edit2.text:='' ; try
for i := 1 to strtoint(edit1.text) do edit2.text:=edit2.text + inttostr(i) ; except showmessage('输入有错'); exit; end; end;
var Form1: TForm1; implementation {$R *.dfm}
单元文件
procedure TForm1.Button1Click(Sender: TObject); var
sno,sname : string ; begin
sno := edit1.Text ; sname := edit2.Text ; edit3.Text := 'welcome to delphi:' + sno + sname ; end; procedure TForm1.Button2Click(Sender: TObject); begin Form1.Close ; end; end.
文件-打开文件
var
//定义单元内的全局变量
emprec : TEmprec ; //定义一个记录型变量
EmpFile : file of TEmpRec ; //定义文件变量
last : longint ;
//定义一个长整型变量,
procedure TForm1.Button3Click(Sender: TObject);
+(并)、-(差)、*(交)、in(属于) 关系运算符:
Object Pascal
Object Pascal的数据类型类型是某类数据的名称,用于确定是否能够存储信息以及能存储多少信息等。
Object pascal 是一种强类型的语言,其数据类型的定义,声明以及数据的赋值和传递都必须追随严格的语言规则。
Object pascal支持丰富的数据类型,大致分为6大类:简单型:包括有序和实数类型,有序:整数、字符、布朗、枚举及字界类型。
字符串类型结构类型:集合、数组、记录、文件、类类型、类引用、接口类型指针类过程类可变类型。
整型:整型数据类型描述了整个数字集合的一个子集。
通用的整型是integer,基本的整型包括shortint、longint和int64。
枚举型:Type<类型名>=<值1、值2、值3...>;字界型:Type<类型名>=起始值...终止值;实型:实数类型是带有小数部分的数值,用于存储实数。
有6种不同的实数类型,实数类型包括Real48、single、double、extended、comp和currency。
通常使用的是real与double类型是等价。
字符串类型:字符串类型包括string(255个字符)、Ansichar(2的31次方)、widechar(2的30次方)这三种类型,string类型中每个元素都是Ansichar类型。
不以null结束标记;Ansichar类型也是基于ansichar类型,可被动态分配存储空间字符几乎都不受限制,以NULL 做结束标记。
结构类型:object pascal结构类型包括,集合、数组、记录、文件、类、类引用、接口类型等。
在delphi中,当用户在窗体中加入一控件,也就是向窗体类中加入了一个域;每个控件也是类,每当用户建立一个事件句柄使得控件可以相应一个事件时,系统会自动地在窗体中加入一个方法。
2.3常量和变量的定义:常量声明的语法格式:Const 常量名=表达式;Eg: constPi=3.14;M=20;St=’I am a student.’;N=m+10;变量是程序代码中表现一个内存地址的标识符,而此地址中的内容在程序代码执行时可以被改变。
第1章Delphi的编程语言ObjectPascal
实型(real)
常用实型
Real ±5.0 × 10-324 ~ 1.7 × 10308 8字节
基本实型
Real48
± 2.9 × 10-39 ~ 1.7 × 1038
6字节
Single
± 1.5 × 10-45 ~ 3.4 × 1038
4字节
Double
± 5.0 × 10-324 ~ 1.7 × 10308 8字节
集合(set) 文件(file)
类(class)*
变体类型(variant)* 指针类型(pointer)*
类引用(class reference) 接口(interface)
过程类型(procedural)
整型(integer)
常用整型:
Integer
-2147483648~2147483647
感受Delphi编程
下面在Delphi的集成开发环境中编写一个最简单程序,并运行。让 大家对Delphi的编程有一种感性认识,并体验Delphi快捷、方便、 高效的编程环境。
演示
Delphi的特点
Delphi最早是Borland公司于1994年底发布的一种可视化编程语言。 它以Object Pascal作为基本开发语言。目前已从Delphi 1.0发展 到Delphi 7.0。它适用于Windows 9x, Windows xp,Windows 2000或更高的版本操作系统,同时也推出Lynux操作系统下的kylix 版本。
编程效率高、代码质量好
领先的数据库技术
强大的Internet应用开发功能
与Office 的巧妙结合
可视化编程语言
编程语言的发展 机器语言→汇编语言→高级语言(结构化→面向对象→可视化) 面向对象的程序设计(Object Oriented Programming) 可视化(Visual)编程语言 Delphi,VFP,VB,VC 等,由组件来构造应用程序。
