Delphi程序设计与应用教程.ppt
《Delphi程序设计与应用教程.ppt》由会员分享,可在线阅读,更多相关《Delphi程序设计与应用教程.ppt(409页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Delphi程序设计与应用教程宁正元 主编 刘雄恩 陈琼 副主编本章学习要点了解Delphi的特性;熟悉Delphi集成开发环境(IDE)了解编制Delphi应用程序的一般步骤;掌握程序项目的文件组成和类型,以及DelphiIDE的基本组成部分第一章DelphiDelphi简介简介1.1Delphi概述1.2Delphi7集成开发环境1.3Delphi程序的基本结构1.1Delphi概述一、Delphi的主要特点的主要特点二、Delphi7的启动与退出的启动与退出一、Delphi的主要特点的主要特点Borland公司的Pascal编译器Delphi以ObjectPascal为编程语言Delph
2、i充分发挥了Windows的强大功能Delphi提供了丰富的32位可视组件库Delphi在数据库和网络处理功能方面是同类产品中最强的二、二、Delphi7的启动与退出的启动与退出启动Delphi7选择【开始】【程序】【BorlandDelphi7】【Delphi7】命令。退出Delphi7选择【File】【Exit】命令。1.2Delphi7集成开发环境主窗口对象浏览器对象树状列表窗体设计器代码编辑器一、主窗口菜单栏:菜单栏及所属各级菜单包含了Delphi的全部命令和功能。工具栏:放置了菜单栏中某些主要功能的快捷按钮。(1)工具栏显示:【View】【Toolbars】(2)工具栏按钮的增删:【
3、View】【Toolbars】【Customize】组件栏:包含了Delphi的可视化组件,例如,按钮、列表框、编辑框等。Delphi将组件按功能的不同放在不同的标签上。按组件的名称查找组件:(1)【View】【Component List】(2)在“Search by name”下的文本框中输入组件名称(3)单击“Add to form”按钮 二、对象浏览器对象选择器属性页用来观察、设置窗体及其上的组件设计时的属性事件页列出组件能响应的各种事件三、对象树状列表 对象树状列表中显示出放置在窗体、数据模块或框架上的可见及不可见的组件关系结构图。节点在对象树状列表中以黑白图标显示,通过拖动组件可以
4、创建和改变组件之间的关系。四、窗体设计器Delphi的窗体设计器是接受组件的一个窗口,在窗体中放置适当的组件,安排好位置并设置组件的属性,整个程序的界面设计就完成了。首次启动Delphi时,默认的窗体是标题为“Form1”的窗口,一个应用程序可能有不止一个窗口,这些窗体也可以是对话框(Dialog Box)、数据模块窗口等。五、代码编辑器在默认情况下,代码编辑器隐藏在窗体设计器之下,在代码编辑器和窗体设计器之间进行切换可以按F12键。代码编辑器用来写Delphi应用程序的源代码。它具有带颜色的语法高亮,将光标放在某个字符上,按下F1键,可以获得与该字符相关的语法帮助。当程序中含有多个窗口时,会
5、有多个单元出现在代码编辑器中。单击单元页标签,可以实现多个单元之间的切换。六、一个简单的程序Delphi应用程序的一般步骤:设计程序的用户界面选择组件放置组件排列组件设置组件的属性添加代码编译运行程序保存文件1.3Delphi程序的基本结构项目文件窗体文件单元文件一、项目和项目文件开发应用程序的所有相关文件都组织在一个项目中,Delphi项目中包含的文件很多,大部分是由Delphi自动创建并维护的。我们只需要关注项目文件、窗体文件和单元文件。每一个Delphi应用程序都有一个扩展名为dpr的项目文件,是由Delphi自动建立并维护的,一般情况下不必修改它的内容。项目文件是特殊的单元文件,可以理
6、解为主单元文件或主程序。在Delphi中用【OpenProject】操作打开一个项目文件,就意味着装入整个项目。二、窗体文件窗体在设计阶段可以用来放置各种组件,在运行阶段是与用户交互的界面。窗体中的所有信息保存在两个主名相同扩展名不同的文件中,一个是扩展名为DFM的窗体文件,另一个是每个窗体对应的单元文件。窗体文件中保存了关于设计窗体击及其组件的各项属性,它是一个二进制代码文件。查看文件内容,可以用鼠标右击窗体,选择“ViewAsText”命令,可以看到该窗体文件的文本形式。选择“ViewAsForm”命令,可以切换回窗体。三、单元文件单元文件保存了Delphi程序的基本模块,包含了窗体及其组
7、件的事件处理程序,在Delphi中编写的程序代码,绝大多数被保存在这种文件中,其扩展名为.pas。一个标准的单元文件格式如下:unitUnit1;/单元头interfaceuses单元列表接口部分implementationuses单元列表实现部分initialization初始化部分finalization结束部分end.第二章 Object Pascal语言基础 2.1词法符号2.2常量与变量2.3简单数据类型2.4结构类型2.5运算符优先级2.6 语句与流程控制语句与流程控制2.7 过程与函数过程与函数 2.8 程序与单元的结构程序与单元的结构 2.9 标识符的作用域标识符的作用域 2.
8、1 词法符号例2-1:了解Delphi源程序 由程序可见,Delphi源程序是由单词和符号组成的纯文本。一、基本符号Object Pascal语言仅使用以下几类基本符号:1.大小写英文字母A、B、C、Z等26个大写,和a、b、c、z等26个小写字母。2.数字符号0,1,2,3,4,5,6,7,8,9等。3.其他符号有+,-,*,/,=,(,),_,;,:,,,.,#,$,及空格符等。二、保留字、标识符、标准标识符、指令字1.保留字 程序如同一篇文章,由字符组成单词,再由单词和符号构成句子语句。其中有一类单词,它们具有特定的语法含义,称为保留字(reserved words)。程序员不得重新定义
9、保留字的语义。常用的保留字如:begin、end、if、and、for、do等。2.标识符标识符用作常量、变量、数据类型、过程、函数、单元及程序等的名称。由一个或多个ASCII码字符序列组成,其构词规则如下:(1)标识符由字母、数字或下划线组成;(2)标识符的第一个字符必须是字母或下划线;(3)标识符的长度不应超过255个字符,否则只有前255个字符有效;(4)不能将保留字用作标识符;(5)标识符不区分大、小写。例如:x、x1、max、a15、Button_OK都是 合 法 的 标 识 符,而 5x、x-y、ax10.5等都是非法的标识符。3.标准标识符在ObjectPascal语言中,有一类
10、标识符是系统预先定义的,它们用于标识系统预先定义的标准函数、标准过程、标准类型、标准常量及标准文件等。标准常量,如False、Maxint、True等。标准类型,如Boolean、Char、String、TDateTime等。标准函数,如Abs、Eof、ShowMessage、Sqrt等。标准过程,如Dispose、New、Read、Readln、Reset等。标准文件,如Input、Output等。标准标识符是可以重新定义的。(例2-2)注意:(1)当程序中自定义的标识符与其引用的单元中所定义的重名时,如果要访问被引用单元的标识符,则必须指示为外部单元的标识符,不然访问的是本程序定义的标识符
11、。(2)因System单元是自动引用的,不必也不允许在引用部分列出System单元。4.指令字指令字为编译提供指示意义。各 指 令 字 有 它 专 门 的 用 途,如:absolute指令字用于指示相同类型的另一标识符存放在同一个内存区域。如下面代码:varI:Integer;J:Integer absolute I;这里用到了指令字absolute,它声明变量J和已存在的同类型变量I的值驻留在同一段内存单元中,即I与J实为同一变量。2.2 常量与变量常量:在程序中,值始终保持不变的量,包括字面常量、符号常量和类型常量等。变量:变量是一种可随时更改其值的量。一个变量在某一个时刻有且仅有一个值。
12、一、常量1.字面常量(1)整型常量即整数,如3、10000、-90。在ObjectPascal中十六进制形式表示整型常量以字符$开头,如$20相当于十进制的32。(2)实型常量即实数,例如,6.6、0.77e+4。后者的表示方法称为指数记数法或科学记数法,0.77e+4表示0.77104。Pascal语言中的实数表示和日常书写的形式基本相似,但要注意以下几点:小数点前后一定要有数字。数中不允许包含空格字符与逗号。例如1,000,000是不合语法的。没有分式表示。使用指数记数法时,e前面应有整数或实数,e后面必须是整数。例如:88.0、-0.8、1e+23、-3.45e-6都是正确的实数表示法,
13、而88.、.66、e6则是不正确的。(3)布尔常量它是指False和True这两个值,False表示逻辑值“假”,True表示逻辑值“真”。(4)字符常量字符常量有两种表示方式:用单引号对括起来的单个字符,如a、*、2等。用#引导一个整数,整数表示该字符的ASCII码。例如,#13、#$20、#$30、#65分别表示回车符、空格符、数字符号0、字母A。因单引号用于定界字符常量,所以用表示单引号字符。(5)字符串常量字符串常量是用单引号对括起来的一串字符,例如,Good idea、96.5、#=。当字符串内有单引号时,要用两个连续单引号表示,例如,Most childrens English C
14、ourse。书写字符串需要注意以下几点:空格字符可以是字符串的组成部分。所以在字符串中的任何空格字符都是其值的一部分;字符串中的字母有大小写区分,即A1不等于a1。2.符号常量字面常量可以在程序中直接使用,而由标识符表示的符号常量需预先定义。常量定义的一般形式为:const =表达式;以保留字const后开始常量声明;“=”号左边为常量标识符;“=”号右边的表达式可以由常量、部分在程序编译时可计算的函数,及先定义的常量标识符等构成,表示符号常量的值。Object Pascal对常量定义有如下要求:必须遵循先定义后使用的原则,即只有已定义的常量标识符才能在程序中使用。不能改变符号常量的值。可用于
15、常量定义的函数,即在程序编译时可计算的函数,有Abs、Chr、Hi、Length、Lo、Odd、Ord、Pred、Ptr、Round、SizeOf、Succ、Swap、Trunc等。使用常量定义的意义在于减少常量值差错机会与修改程序的工作量,并提高程序的可读性。二、类型常量 类型常量定义在Pascal程序的声明部分,以保留字const开头。一个类型常量定义部分可包含多个类型常量定义,每个类型常量定义末尾均有分号,其一般形式为:const :=表达式;例:constPi:Double=3.1415926;类型常量的用法同变量完全一样,可以对类型常量重新赋值。三、变量 变量说明的一般形式为:var
16、 :;其中,变量标识符列表中可以包含一个或多个变量标识符,若有多个变量标识符时,相邻的两个变量标识符之间应使用逗号“,”隔开;类型标识符用以指定这些变量的数据类型。变量说明以保留字var开头。一个变量说明部分可包含多个变量的说明,每个变量说明末尾均有分号。2.3 简单数据类型 在Object Pascal语言中,每个数据都有一个确定的类型,某种数据类型定义了该类型数据的存储方式和允许的一组运算,存储方式的定义相应地便确定了该类型数据的取值范围。Object Pascal是一个强类型语言,拥有丰富的数据类型,并允许程序员自定义新的数据类型。常见的分类方法中,数据类型分为简单类型、字符串类型、结构
17、类型、指针类型、过程与函数类型和可变类型等。一、有序数据类型 有序数据类型定义的是取值有序的数据集。其特点是:数据的分布是离散的;除了第一个元素外,其他任何元素都有一个前驱元素;除了最后一个元素,其他任何元素都有一个后继元素。Object Pascal提供的有序数据类型有:整型、字符型、布尔型、枚举型和子界型等五种类型。常用的有序数据操作函数有:ord、prec、succ、high、low;常用过程有:inc、dec。1.整型(1)存储格式和取值范围 整型仅表示整数的一个子集,通用的整数数据类型包括Integer和Cardinal,其 它 基 本 的 整 型 包 括 Shortint、Smal
18、lint、Longint、Int64、Byte、Word和Longword。(2)运算符算术运算符:、-、*、div(整除)、mod(取模),若参加算术运算的两个数都是整型数据,则运算结果也是整型。关系运算符:=、=、=、关系运算的结果是布尔型,即取True或False值。例如:5=5的值为True;55的值为False。正负号运算符:+、-与加、减运算不同,此为单目运算。如-a,求运算元的负值。整型数的逻辑运算符:not、and、or、xor 整数转换为二进制数后逐位进行逻辑运算。其中not是单目运算符。例:0000000001010110(86)10and0000010100010100(
19、1300)100000000000010100(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。例2-3:交换一个字符序号值的高4位和低4位。(3)标准函数和标准过程 绝对值函数Abs(x),函数值为|x|。例如:Abs(-100)的值为100,Abs(99)的值为99。平方函数Sqr(x)
20、,函数值为x2。例如:Sqr(-4)的值为16,Sqr(3)的值为9。奇函数Odd(x),函数的结果为布尔型。当x为奇数时,函数值为True;当x为偶数时,函数值为False。例如:Odd(3)的值为True,Odd(4)的值为False。字符函数Chr(x),函数返回ASCII码值为x的字符。例如:Chr(65)的值为A。取高、低字节函数Hi(x)和Lo(x),分别返回整型数x的高字节和低字节,结果是Byte类型。例如:Hi($1234)的值为$12,Lo($1234)的值为$34。交换函数Swap(x),将整型数x的高字节和低字节进行交换,交换后的两个字节重新组成一个整数作为函数返回值。例
21、如,Swap($1234)的值为$3412。其他操作函数或过程:ord、prec、succ、high、low、inc、dec。例:有序数操作函数2.字符型 基本的字符型有AnsiChar和WideChar两种。AnsiChar类型的数据是一个字节(8位)编码的,与扩充的ANSI字符集对应。而WideChar是两个字节(16位)编码的,与Unicode字符集对应,Unicode字符集的前256个字符和ANSI字符集相同。通用字符类型是Char,和AnsiChar相当。(1)取值范围(2)运算符 Object Pascal语言允许用=、=、=六个关系运算符对字符型数据进行运算操作。用字符序号的大小
22、关系来定义相应字符的大小关系,因此,所有的字符都可以进行比较(即关系运算)。AB /结果为Trueba /结果为False 1False /结果为True逻辑运算符:not(非)、and(与)、or(或)、xor(异或)。(3)标准函数 例:有序数的操作函数4.枚举类型(enumerated)枚举类型是一个以标识符标识的有序整型常数的集合,这些常数是该类型变量可取的合法值。声明枚举类型的语法如下:type typeName=(val1,.,valn);其中typeName和vali是有效的标识符,typeName 是枚举类型,vali是枚举量的标识符。例:typeTWeekDay=(Sunda
23、y,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);这些枚举量不能再定义为其它标识符。当用Ord函数分别对其取值时,将得到0、1、2、3、4、5、6。在默认的情况下,枚举值是从0开始的有序整数,在实际编程的过程中,可以越过这种限制,可以根据需要指定标识符表中的值。例如:type MyColor=(red=2,green=6,white=7,black=9);一些枚举类型的值只有两种可能的值,如下声明:type SampleEnum=(val1,val2,val3=0);SampleEnum中val1、val2、val3的Ord函数值分别为:
24、0、1、0,即Ord(val1)与Ord(val3)相同。枚举量的取值范围为0255。例2-4:匿名访问枚举量 5.子界类型(Subrange)声明形式如下:type 类型标识符=上界值.下界值;其中上、下界值是某种已定义的有序类型的值,上界值小于或等于下界值,如:type TAge=18.60;/TAge是一个整型的子界类型typeCaps=A.Z;/Caps是一个字符型的子界类型 子界类型变量的值是有序的,对其进行增/减量操作都要在其定义范围内。二、实数类型 1.存储格式和取值范围Object Pascal语言中用Real标识通用实型。基本实型有6种:Single(单精度)、Double(
25、双精度)、Extended(扩展型)、Real48、Comp(十 进 制 组 装 型)和Currency(货币型)。Real与Double实际上是相同的类型。2.运算符(1)算术运算符:、-、*、/在使用这几个运算符时,只要有一个运算对象是实型,则运算结果也是实型。其中,“/”称为实数除,即使两个整数相除,其结果也是实型。(2)关系运算符:=、=、=、”与“”运算时应谨慎,因为实型类型的表示是近似值,相近的实数的存储表示可能是一样的。可采用差的绝对值与一任意小的数比较。例:X=Y运算应当写成Abs(X-Y)1e-6;而XY运算应写成Abs(X-Y)1e-6。3.标准函数(1)绝对值函数Abs(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi 程序设计 应用 教程
限制150内