Delphi程序设计基础教程第2章面向对象的pascal语言
Delphi教学 第02章 面向对象的Pascal(第二部分)

标准类型 简单类型 自定义类型 数据类型 构造类型 集合类型 数组类型 记录类型 文件类型
字符串类型 实型 整型 字符型 布尔型 枚举类型 子界类型
序数类型
可变类型
2.6 集合类型
集合是指具有相同性质且可以相互区分的对象的全体。例如, 集合是指具有相同性质且可以相互区分的对象的全体。例如,所 有的英文字母可以组成一个集合,全体自然数组成一个集合, 有的英文字母可以组成一个集合 , 全体自然数组成一个集合 , 某个 学 校 的 全 体 学 生 组 成 一 个 集 合 , 等 等 。 为 了 表 示 集 合 , Object Pascal 引入了集合类型。 引入了集合类型。
2.6. 1-2 集合类型的运算
2. 集合的关系运算 集合的关系运算包括类型相同集合之间所进行的相等“ 、 集合的关系运算包括类型相同集合之间所进行的相等“=”、不等 等运算, “<>”、包含“>=”、被包含“<=”等运算,以及数据是否属于集合的 、包含“ 、被包含“ 等运算 以及数据是否属于集合的IN 运算。这些运算的结果均为布尔类型值。 运算。这些运算的结果均为布尔类型值。 集合相等运算:如果相同类型集合A和 的元素完全相同 的元素完全相同, 集合相等运算:如果相同类型集合 和B的元素完全相同,则运算 A=B或B=A的值为 的值为True,否则为 或 的值为 ,否则为Flase。 。 [2,3]=[3,2]的值为 的值为True。 的值为 。 集合的不等运算:如果相同类型集合A和 的元素不完全相同 的元素不完全相同, 集合的不等运算:如果相同类型集合 和B的元素不完全相同,则 运算A<>B或B<>A的值为 的值为True,否则为 运算 或 的值为 ,否则为Flase。 。 [2,3]<>[1,3,2]的值为 的值为True。 的值为 。 集合的包含运算:如果集合B中的元素都是集合 中的元素, 中的元素都是集合A中的元素 集合的包含运算:如果集合 中的元素都是集合 中的元素,则运 A>=B(称为 包含 )的值为 包含B)的值为True,否则为 算 (称为A包含 ,否则为Flase。 。 [1,3,2]>=[2,3] 的值为 的值为True。 。 集合的被包含运算:如果集合B中的元素都是集合 中的元素, 中的元素都是集合A中的元素 集合的被包含运算:如果集合 中的元素都是集合 中的元素,则 运算B<=A (称为 被包含在 中)的值为 称为B被包含在 被包含在A中 的值为True,否则为 运算 ,否则为Flase。 。 [RED,BLUE]<=[RED,GREEN,BLUE]的值为 的值为True。 的值为 。 属于运算:如果数据X与集合 的基类型相同,且被包含在A中 则运算X 与集合A的基类型相同 属于运算:如果数据 与集合 的基类型相同,且被包含在 中,则运算
第二章 Delphi面向对象的编程方法(一)

Delphi的编程语言是以Pascal为基础的。
Pascal语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。
同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言。
本章中,我们将讨论Object Pascal的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码。
本章将讲解Delphi应用程序中最常用的Object Pascal语法,而不是Pascal语言的一切细节。
如果您完全不熟悉Pascal编程,请参阅一些基础的Pascal教程。
如果您具有编程经验,并能熟练地使用其他流行程序语言,您将在本章的Object Pascal中发现一些相同的概念。
如果您已经熟悉了Borland Pascal,就可以快速浏览或跳过本章。
2.1 编写Object Pascal程序代码在前边的章节中,我们通过例程,已经编写了几行简单的代码。
在本章中,我们将从熟悉Pascal编程的角度,配合实例,讲解Object Pascal编程的基本方法。
在编写自己的Object Pascal程序时,要注意程序的可读性。
Pascal 语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,会使得程序代码能够很容易地被自己和他人读懂。
一般的程序员都有这样的体验:如果不给程序加上适当的注解,一段时间后,自己也难以理清程序的流程。
给程序及时地加上注释是良好的编程习惯。
Delphi的注释需要加注在{}之间,编辑器会把它们处理成为空白。
Delphi保留了Borland Pascal编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,易读易写。
2.1.1 编写赋值语句在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。
在设计用户界面时,可以使用Object Inspector(Object Inspector)来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在Delphi的在线帮助的“Proprety”主题中被标为执行期属性。
第2章面向对象的Pascal

(5) 子界类型 子界类型指的是某个有序类型的一个子集。如:
type scores=0..100;
Var zhang : scores ;
2.1 数据类型
2 无序数据类型 实型 var
X:real ;
2.1 数据类型
2 字符串类型
字符串类型是用一对单引号括起来的一系列字符。 var
2)数组 数组是一些具有相同类型元素的有序组合。 数组名=array[下标...上标] of 数组类型 ; 如:A=array[1..10] of real ;
2.1 数据类型
3)记录类型 记录类型(有的语言中被称为结构)是一个不同种类
元素的集合,每个元素称为字段(field)。在声明时, 指定记录的名字和每个字段。声明格式为:
运算符
not *,/,div ,mod,and +,- ,or 关系运算符
优先级 1(最高) 2 3 4(最低)
结果类型 Integer或Real Integer或Real Integer或Real Integer或Real Integer或Real Real Integer Integer
2.3 表达式与运算符
3.关系运算符
关系运算符是对两个类型相容且可以比较大小的数据 进行比较,结果为布尔类型,见表2-5。
驱(除第一个)和唯一的后继(除最后一个)。 (1) 整型
m: integer ;
2.1 数据类型
(2) 字符型 字符型的类型标识符是Char。字符型的数据只能是单
个字符,不能是一串字符。例如‘ABC’,‘x=?’ 等都不 是字符型的数据,而是字符串。 (3) 布尔型 通常用到的布尔类型是Boolean,一个Boolean类型的 变量占一个字节,它只有两种取值:true和false。定 义变量i,ch,t分别为整型、字符型、布尔型。
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 标识符 标识符用来表示常数、常量、字段、类型、属性、
过程、函数、程序、单元、库、包和记录中的域等。
第02章面向对象的Pascal语言

枚举类型(enumerated)是用户自定义的一种简单数据类型, 是由一组有序的标识符组成的,最多可有255个枚举项。 枚举类型定义中的每个值都对应一个整数值的序号 ,第一个为0 从左向右依次增1。
第2章 面向对象的Pascal语言
2.2.1 简单数据类型
▲枚举类型定义和枚举类型变量声明的语法结构:
type day=(Sun,Mon,Tue,Wed,Thu,Fri,Sat); day1=Sun..Wed number=0..100;
第2章 面向对象的Pascal语言
2.2 数据类型
△使用子界类型,需注意以下几点:
(1) 子界类型的上界和下界必须是同一类型,并且是有序类型,如整型、 布尔型、字符型或枚举型等,不能是实数类型或其它无序类型。
同一个枚举项不能出现在多个枚举类型中。例:
type Month1=(Jan,Feb,Mar,Api,May,Jun); Month2=(Jun,Jul,Feb); 这两个类型Month1,Month2中都包含Jun这个元素,这是不允许的。这 两个类型Month1,Month2中都包含Jun这个元素,这是不允许的。
type 枚举类型标识符 = (枚举常量标识符列表);
var
枚举类型变量表:枚举类型标识符;
例如:
type
day=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);
{ 以上是枚举类型定义 }
var today: day;
// 枚举变量声明
(2) 子界类型的上界和下界不仅可以是常数,也可以是能够计算出具体值 的常数表达式。例如: const n=10; m=20; type number=3*n ..5*(m+n)
第二章 Delphi面向对象的编程方法(二)

2.1.4 跳转语句Object Pascal的跳转语句有if和case两个。
2.1.4.1 if语句if语句会计算一个表达式,并根据计算结果决定程序流程。
在上文的例程中,根据ColorDialog.Execute的返回值,决定窗体的背景颜色。
if保留字后跟随一个生成Boolean值True或False的表达式。
一般用“=”作为关系运算符,比较产生一个布尔型值。
当表达式为True时,执行then后的语句。
否则执行else后的代码,if语句也可以不含else部分,表达式为False时自动跳到下一行程序。
if语句可以嵌套,当使用复合语句表达时,复合语句前后需加上begin…end。
else保留字前不能加“;”,而且,编译器会将else语句视为属于最靠近的if语句。
必要时,须使用begin…end保留字来强迫else部分属于某一级的if语句。
2.1.4.2 case语句case语句适用于被判断的变量或属性是整形、字符型、枚举型或子界型时(LongInt除外)。
用case语句进行逻辑跳转比编写复杂的if语句容易阅读,而且程序代码整形较快。
下面的例程显示一个使用case语句的窗体:建立如下的事件处理过程:procedure TForm1.Button1Click(Sender: TObject);varNumber : Integer;beginNumber := StrToInt(Edit1.Text);case Number of1,3,5,7,9: Label2.Caption := '奇数';0,2,4,6,8: Label2.Caption := '偶数';10..100:beginLabel2.Caption := '在10到100之间';Form1.Color := clBlue;end;elseLabel2.Caption := '大于100或为负数';end;end;执行程序,当Edit1部件接受到一个值,并按动“OK”按钮触发程序后,Number便被赋值为用户输入的数值。
第2章 学好面向对象的Pascal

第2章学好面向对象的Pascal好的工具是好的开发的基石。
Object Pascal就是好的工具。
基于上一章或您已有的技巧,本章将示范每个程序都需要的面向对象技巧。
Delphi在开发工具中是个例外,它本身就是用Object Pascal创建的。
本章中包含了一些代码,它将成为每一个程序的基础。
2.1 Delphi的惯例大约25年前,C语言是当时的新事物。
那时的编译器,像C语言,是弱类型的。
变量可以被声明为指针,然后传给整型参数,反过来也可以。
例如,一个整型变量可以被赋值0,然后被粗心地赋值给char*(在C中,即指向字符的指针)变量。
原因是,编译器并不严格执行数据类型的用法,时至今日依然如此。
不管怎么说,数据只是一些数字嘛。
可问题在于,如果把整数当作指针使用,可能刚好存取到BIOS(基本输入输出)内存的起始地址,真是糟糕透顶。
另一个有害的问题是全局变量。
如果不作检查,大多数人都记不住在一个月之前声明的变量的数据类型;当变量在其他人的代码中,更是如此。
过了几年之后,数百万的美元被浪费在跟踪与全局变量和误用整数及指针相关的程序错误,这时,解决方案出现了。
20世纪80年代早期,微软公司从施乐公司帕洛阿尔托研究中心雇佣了一位匈牙利人Charles Simonyi,他以发明了匈牙利命名惯列并使之流行而著称。
匈牙利命名惯列建立了一组前缀,用以识别变量的数据类型。
这意味着程序员通过看前缀,可以避免整数与指针的误用。
例如,用于存储零结尾字符串的char*变量可能会有前缀sz。
即使是刚起步的程序员也只需记住sz的意思是零结尾字符串(或字符串以零结尾)。
如果全局变量是有前缀的,而您又能够记住lpsz的意思,那么要决定变量的类型可能并不需要找出其声明。
提示或隐含的指导是有益的,但扪心自问一下:有多少人无视停车标志,在州际高速公路上车距过小或吸烟。
取决于您对“California stop”、three-second规则、吸入致癌物质的态度,您可能会忽略其中几项隐含的警告。
Delphi数据库程序设计教程 第2章 Pascal语言基础

Delphi能在var块中对全局变量赋初值,这里有一些例子演示:
var i:Integer=10; S:String='Hello World'; D:Double=3.141579;
能赋初值的变量仅是全局变量,不是那些在过程或函数中局部变量,而且 Delphi编译器自动对全局变量赋初值。当程序开始时,所有的整型数赋为0, 浮点数赋为0.0,指针为null,字符串为空等等,因此,在源代码中不必对全局 变量赋零初值。
type TWeekDay=Set of 1..7; var WeekDay:TWeekDay; begin WeekDay:=[1,3,5,6]; end;
注意Pascal编辑程序限制了集合数目,所以整型数据不能作为集合类型的基类 型。而只能是整型子界。基类型必须是有序类型,所以实型、数组类型不能 作为集合类型的基类型。
@、not、^、*、/、div、mod、and、shl、shr、as、+、-、or、xor、=、>、<、<>、 <=、>=、in和is等。
按照操作数数目的多少来分,运算符分为下面两类:单目运算符(Unary Operator)和双目运算符(Binary Operator)。上面的@、not和^为单目运算符, 其余的为双目运算符。其中+和-也可以作为单目运算符来使用。 单目运算符一般放在操作对象的前面,只有^可以放在操作对象的后面。双目 运算符都放在两个操作数之间。 有些运算符是根据给定的操作数的数据类型做相应处理的。例如,运算符not 对于整型的操作数说,做的是按位取反;对于逻辑类型的操作数来说,它完成 的则是逻辑取反。 除了运算符^、is和in外,其余操作符都可以对Variant类型的数据进行操作。
Delphi讲义教程 第二章 Object pascal语言基础

⑤取高、低字节函数Hi(x)和Lo(x),分别返回整型数x 的高字节和低字节,结果是Byte类型。 例如:Hi($1234)的值为$12,Lo($1234)的值为$34。 ⑥交换函数Swap(x),将整型数x的高字节和低字节进 行交换,交换后的两个字节重新组成一个整数作为 函数返回值。 例如,Swap($1234)的值为$3412。 ⑦ 其他操作函数或过程:ord、prec、succ、high、 low、inc、dec 。 例:有序数操作函数
三、变量
变量说明的一般形式为: var <变量标识符列表>:<类型标识符>; 其中,变量标识符列表中可以包含一个或多个变量标 识符,若有多个变量标识符时,相邻的两个变量标识 符之间应使用逗号“,”隔开;类型标识符用以指定这些 变量的数据类型。 变量说明以保留字var开头。一个变量说明部分可包含 多个变量的说明,每个变量说明末尾均有分号。
用字符序号的大小关系来定义相应字符的大小关 系,因此,所有的字符都可以进行比较(即关系运 算)。 'A'<'B' 'b'<'a' '1'<'2' // 结果为True // 结果为False // 结果为True
(3)标准函数 例:有序数操作函数 (同上例)
3. 布尔型 布尔类型的标准类型标识符为Boolean。 (1)取值范围 布尔型变量的取值范围仅有False和True两个值。布 尔类型是有序类型。规定: False的序数为0,True 的序数为1。 (2)运算符 ①六种关系运算操作同样适用于布尔型数据,运算结果 仍是布尔类型值例如: False=True True>False // 结果为False // 结果为True
第二章Delphi语法基础

返回
Delphi面向对象程序设计
第二章 Object Pascal语法基础
2.1 保留字、指令符和标识符
注意: 标识符 (1)Object Pascal中,标识符不区分大小写。 (2)在Delphi的库文件中还预先定义了一些标识符, 如标准数学函数Sqrt,Sin,标准数据类型如 Boolean、Char等,应尽量避免使用这些标识符作 为自定义的标识符,以免引起混淆。 (3)使用标识符时,必须先声明再使用,否则编译 时,系统会显示错误信息,提示该标识符没有定义。
Delphi面向对象 程序设计
主编 李俊平
第二章 Object Pascal语法基础
• 本章内容
保留字、指令字和标识符 注释 常量和变量 常用数据类型 运算符与表达式 语句 过程和函数
Delphi面向对象程序设计
基本概念
第二章 Object Pascal语法基础
编程风格 ○编程风格:指程序员编写代码的风格。如 同作家的写作风格、画家的画画风格等。 ○有必要规定一种常规、普遍的编程风格来避 免时间上的浪费,这种风格被称为编程约定。 提高可读性,减少调试和维护阶段的工作量。 ○对于大型软件尤其要遵循标准设计规则,以 提高阅读代码及模块之间联系的功效。
下一页 上一页
返回
Delphi面向对象程序设计
第二章 Object Pascal语法基础
2.3 常量与变量
常量在程序运行过程中其值不会改变,可以分为直 接常量和符号常量两种。 注意:字符常量和字符串常量均以单引号括起来, 如:’a‟,’Hello‟ 声明符号常量的语法如下: Const <符号常量名1>=<常量值1>; …… <符号常量名n>=<常量值n>;
《Delphi 2005程序设计及其应用开发》-第2章 Object Pascal程序设计语言

返回本节
2.2.2 声明变量
变量是程序代码中代表一个内存地址的标识符,而此地址的内 存内容在程序代码执行时可以被改变。在所有变量说明以前加 上保留字Var。变量说明左边是变量的名称,右边则是该变量 的类型,中间用冒号隔开。例: Var
Score : Integer; Name : String;
procedure TForm1.Button2Click(Sender: TObject); Type THours=0..23; var abc:THours; begin abc:=23; EDIT1.Text:=IntToStr(abc); end;
返回
在Delphi中,TDateTime的默认数据格式是:yyyy-mm-dd,当 然也可以用浮点数来表示。如以下例子中myDate := 35065;与 myDate :=1996-1-1; 两个语句是完全等价的。
DayOfWeek:Tweek;
Hue:Tcolor; 也可以把类型声明和变量声明合二为一,例如:
Var
DayOfWeek:=(Monday,Tuesday,Wednesday,Thursday,Friday,Sa turday,Sunday);
返回
Type THours=0..23; TValidLetter=’A’..’F’; Tdays=(Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,S unday); TWorkday= Monday..Friday; 例: {上面枚举型的子界型}
+
* / Div
加法运算
减法运算 乘法运算 除法运算 整型除法
计算余数(取模)
运算数类型 Integer Real Integer Real Integer Real Integer Real Integer
Delphi编程_Object_Pascal语言

2.1 Object Pascal与Delphi的关系
Delphi使用Object Pascal作为开发语言
• Pascal语言由瑞士计算机科学家Nicklas Wirth教授于上世 纪60年代设计出来的。命名为Pascal主要是纪念计算机 科学先驱Blaise Pascal。
函数 Ord Pred Suce High Low Inc Dec 参数 序数类型表达式 序数类型表达式 序数类型表达式 序数类型标识符或变量 序数类型标识符或变量 序数类型变量 序数类型变量 返回值 表达式值的序数 表达式的前驱序数 表达式的后继序数 该类型的最大值 该类型的最小值 变量值加1 变量值减1
• 函数Ord返回某字符的ASCII码
Ord(‘A’):返回值65
2.5.1.5 布尔类型
类型符号:Boolean Boolean值
• True • False
Boolean类型可进行逻辑运算
2.5.1.6 枚举类型
语法格式
Type 枚举类型标识符名=(枚举值1,…,枚举值n);
示例
Type Tsex=(male,female); Tday=(Sun,Mon,Tue,Wed,Thu,Fri,Sat);
2.5.2 字符串类型
类型符号
• String
字符串使用
• 不定长度声明
Var s:string;
• 定长声明
Var s:string[10];
• 可把字符串看成是字符数组
S:=‘Hello’;则S[1]表示H
• 在字符串中用两个相邻的单引号来引用单引号
‘It’’s nice’表示It’s nice
• 指非字母数字字符或这些字符的组合
第2章Delphi语法基础

第2章Object Pascal语言基础Delphi的编程语言是Object Pascal,即面向对象的Pascal语言。
自Delphi 7 开始,Object Pascal语言改称为Delphi 语言。
第1节保留字和标识符一、保留字保留字是由系统使用的具有特殊含义的单词(如And、If、For、Var等),详见教材16~17页表2.1。
二、指令符指令符也是由系统使用的具有特殊含义的单词(如Public、Private等),详见教材17页表2.2。
三、标识符标识符(Identifiers)用于表示常量、变量、域(字段)、类型、属性、过程、函数、程序、单元、库和包(packages)的名称。
Object Pascal标识符的声明和使用应遵循以下规定:∙长度任意,但仅前255个字符有效。
∙首字符必须是字母或下划线。
∙不能含有空格,中间的字符可以是字母、数字和下划线。
∙不能使用保留字(reserved words)作为标识符。
∙不区分大小写,例如sName与sname等价。
第2节注释三种注释形式:{注释内容}(*注释内容*)//注释内容注意:如果注释符{之后紧跟一个美元符号$(如{$R *.res}),表示该语句是一条编译指令,它与普通的注释不同,通常由Delphi自动生成,用于设置编译过程,不要修改或删除它。
第3节常量和变量一、常量1. 普通常量如:123,-100,3.14,'abc',True等。
2. 符号常量符号常量用保留字Const声明,格式如下:Const常量名 = 表达式;例如:ConstPI = 3.1415926535897932385;College = '山东教育学院';Numeric = ['0'..'9']; // 数字字符集合Alpha = ['A'..'Z', 'a'..'z']; // 英语字母集合AlphaNum = Alpha + Numeric; // 集合的并2. 变量变量声明的格式:var变量名表:类型;例如:varX, Y, Z: Double;I, J, K: Integer;S1, S2: String;Digit: 0..9; // 子界类型Flag: Boolean;单元级或全局变量可以在声明时初始化(每个声明语句仅限一个变量)。
《Delphi程序设计及实验指导》电子教案-第2章

9
2.1 数据类型
• (2) 动态数组
• 动态数组没有固定的大小或长度。当赋值或使用某些函 数(如SetLength)时,动态数组在内存中重新分配。
• 动态数组的声明格式为:
• type
• Name=array of BaseType;
• 定义动态数组不需声明元素的个数。例如:
• type
• Dynamicarray=array of Real;
整理ppt
2
2.1 数据类型
• 2.1.1 简单数据类型
• 简单类型包括有序类型和实型两种。 • 1.有序类型 • 有序类型包括整型、字符型、布尔型、枚举型和子界型。 • 有序类型是一种线性的数据结构,每个值都有唯一的前
驱(除第一个)和唯一的后继(除最后一个)。 • (1) 整型 • 整型的表示范围及存储格式见表2-1。
• var
• i: Interge;
• ch: Char;
• t: Boolean;
整理ppt
5
2.1 数据类型
• (4) 枚举类型 • 枚举类型是用一些标识符来表示一系列有序数,即由
一些标识符组成的一个线性表。定义枚举类型的语法 是:
• type
• typeName=(val1,...,valn) • (5) 子界类型 • 子界类型指的是某个有序类型(称为基类)的一个子
整理ppt
11
2.1 数据类型
• 4.文件类型 • 文件类型是由相同类型的元素组成的有序集合。文件
类型的声明格式为:
• type
• fileTypeName = file of type • 例:声明一个文件类型RecordList,以上面已定义的
Delphi基础 第二部分 Pascal语法

Pascal语法一.项目结构项目文件: .dpr:单元文件1:.Pas ……单元文件n:.Pas┆窗体文件1:dfm ……┆窗体文件n:.dfm┆……┆→可执行文件:.exe目标文件1:.dcu ……目标文件n:.dcu1>..dpr文件.dpr文件结构:program Project1; //项目文件.dpr文件usesForms,Unit1 in 'Unit1.pas' {Form1},Unit2 in 'Unit1.pas' {Form2}, //三个窗体的主程序Unit3 in 'Unit3.pas' {Form3};{$R *.res}beginApplication.Initialize; //初始化Application.CreateForm(TForm1, Form1); //创建窗体Application.CreateForm(TForm2, Form1);Application.CreateForm(TForm3, Form1);Application.Run;end.2>.单元文件.pasDelphi应用程序是以窗体为中心的,而有关窗体的信息是以两种文件形式存储.dfm文件(数据文件):有关窗体及组件的外观、尺寸和位置等信息。
.pas 文件(源程序文件):包含了有关窗体及组件的程序代码。
.pas文件结构:unit Unit1;interface //说明部分类型说明变量说明程序接口说明Implementation //实现部分程序块1程序块2程序块3end.二.语法概述1>.常用的数据类型String:字符串型Integer:整型Real:实型Boolean:布尔型char:字符型2>.常用的表达式中的运算符A.算术运算符:+、-、*、/、div(整除)、mod(求余)B.集合运算符:+(并)、-(差)、*(交)、in(属于)C.关系运算符:=、<>(不等于)、>、<、<=、>=3>.系统的过程与函数A.Showmessage(‘显示信息’);B.StrToInt //类型转换(整数——字符串)C.Date //取当前日期D.round //取整,四舍五入 rounfd(2.7632)=34>.控制语句-分支语句A.if 条件 then语句1;else语句2;B. if 条件 then语句1;else if 条件 then语句2;else语句3;5>.循环语句A.while循环while 条件 dobegin……end;B.for循环for i:=1 to n dobegin……end;6>.局部变量跟全局变量Unit1……ImplementationVar全局变量Procedure ……Var局部变量Begin……End;7>.复合数据类型——记录TypeTEmpRec = record //定义一个职工记录类型ename : string[10]; //定义字符串age : integer;sal : real;end;varemp:TEmpRec;……emp.age := 23;edit1.text := emp.ename;8>.文件操作A.定义文件varEmpFile :file of TEmpRec;●为文件变量指定具体文件AssignFile(EmpFile,’d:\emp.$$$’); B.打开文件reset(EmpFile); //打开老文件rewrite(EmpFile);//创建新文件C.关闭文件Closefile(EmpFile);D.读文件Read(EmpFile,emp); //读一个记录E.写文件Write(EmpFile,emp); //写一个记录。
第2章-Object-Pascal语言ppt课件(全)

• 除了char外,还有一种字符型widechar,表 示一个16位的Unicode字符。
• 2.字符串类型
• 由多个字符组件的字符序列就是字符串。 例如'abc'就是一个字符串。Object Pascal 包含4种类型的字符串。如表2-5所示。
• 2.2.3 布尔型数据
• 【例2-2】请看下面的变量定义。
• type
• month=1..12;
//定义类型
• var
• x,y,z:real; 开
//3个变量之间用逗号隔
• i,j,k:integer;
//定义整型
• ch:char;
//字符型变量
• m1,m2:month;
//month类型已经定义
• days:array[1..12]of integer;
• 下面都是合法的实数:
• 1.0 123.0 0.0 -0.0 0.8
• 1E-3 1.6E-7 3.5E4
• 下面的实数表示方法有误:
• 12. .234 E6 2E0.6 12 • 说明: • (1)实数的小数点表示方法规定,小数点
两边都有数字。
• (2)科学计数表示方法规定,E的前后都 必须有数字,之后的数为整数。
• 说明:
• (1)程序首部以关键字program开始,其 后是程序名称,程序名称是Pascal标识符。
• (2)说明部分说明了本程序使用到哪些基 本的单元,还包括常量的说明、类型的定 义、变量的定义,函数与过程的定义等等。
• (3)程序体是以begin开始的end结束的语 句序列,每个语句最后都有一个分号,end 之前的分号可以省略,程序最后以点号为 结束标志。