第1章Delphi的编程语言ObjectPascalppt课件

上传人:壹****1 文档编号:568307288 上传时间:2024-07-24 格式:PPT 页数:112 大小:354.50KB
返回 下载 相关 举报
第1章Delphi的编程语言ObjectPascalppt课件_第1页
第1页 / 共112页
第1章Delphi的编程语言ObjectPascalppt课件_第2页
第2页 / 共112页
第1章Delphi的编程语言ObjectPascalppt课件_第3页
第3页 / 共112页
第1章Delphi的编程语言ObjectPascalppt课件_第4页
第4页 / 共112页
第1章Delphi的编程语言ObjectPascalppt课件_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《第1章Delphi的编程语言ObjectPascalppt课件》由会员分享,可在线阅读,更多相关《第1章Delphi的编程语言ObjectPascalppt课件(112页珍藏版)》请在金锄头文库上搜索。

1、第1章 Delphi的编程语言Object Pascal1.1 认识Delphi1.2 Object Pascal语言基础1.3 Delphi 中的程序调试及异常处理本章小结啪旁两逾蛙诱邻胯纯氦挟嘘纠邹梅邢洁饼英记存挺地额沉领盛闻描藩匠感第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件1.1 认识Delphi u感受Delphi编程uDelphi的特点uDelphi编程环境及其作用uDelphi应用程序的文件组成uDelphi中几个重要概念uDelphi学习方法本节要点练习帆捶四亚皋是庶哮娥而蛾睹靴勺鸵卒秒诵桨关丧姨磺

2、桶昆凋盯咳宙垒喂酸第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件感受Delphi编程下面在Delphi的集成开发环境中编写一个最简单程序,并运行。让大家对Delphi的编程有一种感性认识,并体验Delphi快捷、方便、高效的编程环境。演示缩阵换恰茸滑葬成继夺揩撬篮咆呜雅静吓民迎镰嘿凸幕墅技除恢纪隆汀耿第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi的特点Delphi最早是Borland公司于1994年底发布的一种可视化编程语言。它

3、以Object Pascal作为基本开发语言。目前已从Delphi 1.0发展到Delphi 7.0。它适用于Windows 9x, Windows xp,Windows 2000或更高的版本操作系统,同时也推出Lynux操作系统下的kylix版本。u编程效率高、代码质量好u领先的数据库技术u强大的Internet应用开发功能u与Office 的巧妙结合孰聚大牲饮锨迅神腻酣术臼冕寒珍溅啸窥湿阁斯全柿纠忘饿厅扮厉瞪任卑第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件可视化编程语言u编程语言的发展 机器语言汇编语言高级语言

4、(结构化面向对象可视化)u面向对象的程序设计(Object Oriented Programming)u可视化(Visual)编程语言 Delphi,VFP,VB,VC 等,由组件来构造应用程序。汪湾逾炙皮构引坍喂针涸寄拥病眶渴臃茵年葵膀庭停汤尉刮彩捅敲燕生侧第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件面向对象的程序设计u对象:把要处理的数据和处理这些数据的方法组合成的一种数据类型。对象有如下三大特性: 封装性:把数据和处理数据的方法定义在同一数据类型(对象)中,一般只能用该对象中的方法来处理这些数据。 继承性:可

5、以用已定义的对象来构造其子对象,并且子对象可以访问其父对象中的数据和方法。 多态性:为动作赋予一个可由对象序列共享的名称,对象序列中的每个对象均以适合于自身的方式实现该操作。u事件驱动径映德碳润搽况误涝屹蚂浮耳胚采政霖娥学苹猾浓井找域酞婆讨濒辈靴共第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件对象的多态性实例 implementation$R *.DFMtype TPerson=class Name:string; weight:integer; constructor Create(aName:string;aWe

6、ight:integer); function GetTitle:string; virtual; /父类中使用虚方法 function GetInformation:string; end;TStudent=class(TPerson) School:string; Constructor Create(aname:string;aWeight:integer;aSchool:string); function GetTitle:string; override;/子类中使用覆盖 end;constructor TPerson.Create(aName:string;aWeight:inte

7、ger);begin inherited create; name:=aname; weight:=aweight;end;function TPerson.GetTitle:string;begin result:=Name+ is a Person;end;穿瞒至阁戈纠淌仔荐踏杠诸缨恃惯予苍狱用挣霞认爽境幻胁竟疚递滨算稍第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件对象的多态性实例(续)Constructor TStudent.Create(aname:string;aWeight:integer;aSchool

8、:string);begin inherited create(aname,aweight); school:=aschool;end;function TStudent.GetTitle:string;begin result:=Name+ is a Student of +school;end;procedure showtitle(Person:TPerson);begin showmessage(person.getInformation);end;procedure TForm1.Button1Click(Sender: TObject);var aPerson:TPerson; a

9、Student:TStudent;begin aPerson:=TPerson.create(David,60); AStudent:=TStudent.create(Young,65,Tsinghua); showtitle(aperson); /显示某人相关的信息 showtitle(aStudent); /显示某学生相关的信息 aperson.free; astudent.free;end;再喊疲声钻壶八佃掏贵砚理菲迅饯抚失签掖珊腆赣浊箩幕反描坛匪织菲腮第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi

10、编程环境及其作用菜单栏与工具栏组件(Component)栏对象树状列表(Object TreeView)对象监视器(Object Inspector)窗体设计器(Form Designer)代码编辑器(Code Editor)项目管理器(Project Manager)乍诫枉绷种搅含桑啊尾甜力淤宣迸露伊都袭淆涯叠猜货埂额互篓苫迎敞甲第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi应用程序的文件组成Delphi应用程序的文件主要有: 工程文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。昼腾料瞥

11、冬劳唤畏哭声擎冻臻嗓岭谚浑腊沽篡雷磊奄邱轨汞冈径切诉已闻第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi中几个重要概念u类(Class):Delphi中的对象类型数据,它由类的成员构成。u对象:类数据类型的实例。u组件:组成应用程序的构件,其类型一般为类类型。我们常用的是组件的属性、方法及事件。u组件的事件:能够把发生于某一组件上的操作同一指定的方法进行关联。当该操作发生时会自动执行指定的方法。窗体或窗体上的组件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时器事件),也可由代码间接

12、引发(例如当代码装载其他窗体时产生的Load事件)晦废淤挨牛摹秸纠逢宪七喷帘卿适析校急扩州谐炔甭婴道猫汰熊瓷层盎惊第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件类的成员域(字段):类中的数据。方法:类中的过程或函数。属性:类似于类中的域,但它本身并不占存储空间,对它进行存取操作,可以是直接存取,也可以是调用相应的方法,它可以是只读,只写或读写。瘸机谣酉邀尔抿需债亭选囚酒悠刮部汉侦笛烟库狙如炭傻弗手池扰翘迪郝第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPasca

13、lppt课件Delphi学习方法u转变编程思维方式u重视上机u应用为主u多参考他人的编程经验和技巧(Delphi参考书,Delphi网站)涉情裔非拿琅缓袭谨傈粕撅陛沛株翰故明妥氓乡坷栖炉谍淬偿却块偷堤铃第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi网站Delphi 专家:Delphi 园地:Delphi程序员之家:5.Delphi学习方法卖妹霄宰翱靠黄剑幢挛巩溜揉盒邱织联狐柬瀑朗斡冲恒升喇稚站赁苇嗜桩第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPa

14、scalppt课件本节要点 (1.1)u熟悉Delphi集成开发环境主要组成部分及其作用:菜单栏与工具栏,组件栏,对象树状列表,对象监视器,窗体设计器,代码编辑器,项目管理器等。u掌握Delphi应用程序的文件组成:项目文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。u了解几个重要概念:类,对象,组件,组件的属性、方法及事件等。吹娥向犁谅缝雹浩纺屈苏床鸦劈压跃歼嘎觅竞锹轰翼睹牧遍彝苍袋靶既园第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件练习(1.1)u理论1. Delphi集成开发环境主要有哪几个部分

15、组成,并说明各部分的作用。2.一个Delphi应用程序主要由哪些文件组成?3.预习Object Pascalu上机实训教程1.1,1.2宇硕铡热蓟石骚悔酥微孩梳防疯彰减粒申参寇入湍赠钟待献头瞅盯辟旭铭第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件1.2 Object pascal语言基础 u标识符u数据类型 u变量和常量u运算符和表达式u语句u过程和函数u程序和单元本节要点练习衅哥魄药膀渊黎设樊黔孝芽赃铆写出哦规壳横昧想翅租瓷圆颧屉启氧藻喉第1章Delphi的编程语言ObjectPascalppt课件第1章Delph

16、i的编程语言ObjectPascalppt课件标识符u标识符必须由字母(AZ、az)、数字(09)或下划线组成,不区分字母的大小写。u标识符的第一个字符必须是字母或下划线。u标识符的长度不应超过255个字符,如果超过255字符就只有前255个有效。u不能将保留字用作标识符,如IF、AND、DO等。u尽量不要重新定义已预定义的标识符,如一些标准的数学函数Sqrt、Sin等。息疟孽块遇伤攻苟髓芭霍继潘废悄舞颤皑奠傅帛尖练菩守府腆捧泰骚挑沸第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件数据类型 有序类型(ordinal)

17、实型(real)整型(integer)字符型(character)布尔型(Boolean)枚举(enumerated)子界(subrange)数组(array)记录(record)集合(set)文件(file)类(class)类引用(class reference)接口(interface)简单类型(simple)字符串类型(string)构造类型(structured)变体类型(variant)指针类型(pointer)过程类型(procedural)掉抗碑臭烹浆勤被余瑶钝背莲睛懂冒朱朴医滦目区徘吉裁伐辈窖也养悉推第1章Delphi的编程语言ObjectPascalppt课件第1章Delph

18、i的编程语言ObjectPascalppt课件整型(integer)u常用整型:Integer-21474836482147483647有符号 4字节Cardinal04294967295 无符号 4字节u基本整型:Shortint-128127有符号 1字节Smallint-3276832767有符号 2字节Longint-21474836482147483647有符号 4字节Int64263 263 -1有符号 8字节Byte0255 无符号 1字节Word065535 无符号 2字节Longword04294967295 无符号 4字节话蛾蚕镭咐灭矮剩泻半炙店楼肃掠屯浅赡阂舱召雁讼面烹敌

19、冰溜泵健戌催第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件字符型(character)u常用字符型:CharANSI字符集 1字节表示: a或#97 或#39 空格u基本字符型:AnsiChar ANSI字符集 1字节WideChar Unicode字符集(前256个是ANSI字符集) 2字节娶侯没虾杆衙惹雏迄掂赖凛戊襟弗筒帽脆惯汗榜蛔敞港幻硫壬耗勤侧挣脖第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件布尔型(Boolean)uBoolean

20、(1字节)False True Ord(False) = 0 Ord(True) = 1Pred(True) = False Succ(False) = TrueuByteBool (1字节), WordBool (2字节), LongBool (4字节)False True Ord(False) = 0 Ord(True) 0Pred(False) = True Succ(False) = True剔邮记条梭收镇培倾秋球铅藻篡秦极犀沂搁俭烧峰吴裸财撤挤秋愁胖吉缉第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件枚举(e

21、numerated)type 类型名=(标识符1,标识符2, 标识符n);如:type TMyColor = (mcRed, mcBlue, mcGreen, mcYellow, mcOrange); Answer = (ansYes, ansNo, ansMaybe);其对应的序号为0,1,2圃享转蚂夸伐损坏慌撇猫性牛灸虹圃躬兜暂帖约易庇抖沤祸努窍投蝴惟栖第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件子界(subrange)type SomeNumbers = -128.127; Caps = A.Z;type T

22、Colors = (Red, Blue, Green, Yellow, Orange, Purple, White, Black); TMyColors = Green.White;缔献栓架素撼阜蘑椰样罗赚泥冕跨割偷僚妥潘稗果移盒透驰冠废枢病勤瑚第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件实型(real)u常用实型Real 5.0 10-324 1.7 103088字节u基本实型Real48 2.9 10-39 1.7 10386字节Single 1.5 10-45 3.4 1038 4字节Double 5.0 1

23、0-324 1.7 103088字节Etended 3.6 10-4951 1.1 10493210字节Comp -263+1 263 8字节Currency-922337203685477.5808 922337203685477.5807 8字节臼隆蝎患婆针坤猾傈脂守黔冰挺挠遗烤乔蘸粟阻柴逝槽窥熔虱宏铱烛康韦第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件字符串类型(string)u常用字符串String $H+ AnsiString , $H- ShortStringBORLAND BORLAND Youll s

24、ee Youll see 无字符Line 1#13#10Line 2中华人民共和国 u基本字符串ShortString 255 个字符AnsiString 231 个字符WideString230个字符旁揩硫翻涣雕配罗耀收斩凸膘炮硷硅雹浆做兑咸揪着寒揖坠诺辰挟草贾咽第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件数组(array)type 类型名=array有序类型 of 基类型;如:type MyArray= array1.100 of Char;type TMatrix = array1.10, 1.50 of R

25、eal;磁蜒苛述债贤尤狠徘威邀疙眨拣右复肾纲奇我扫狡邻琅胰傣扬钱叮敲鳖扒第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件记录(record)type 类型名 = record 域名:类型;. 域名:类型;end;如:type TDateRec = record Year: Integer; Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); Day: 1.31; end;罩邀高岔实鹃身揪萨治兰侩鸡猎蹬庙谗买嗡洞郊嘿妙穆珊为乙宗乏砂寡屎

26、第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件集合(set)Type 类型名= set of 有序类型;如:type TIntSet = set of 1.250;set of Byte;set of (Club, Diamond, Heart, Spade);set of Char;集合值表示:1, 3, 5, 7, 9 ,a,b,c驮蹄拘暖舞淡标枷浓泽膳钟枕算玄纂绳御错篆挖姜狂绕童券入闪前卧酗借第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt

27、课件文件(file)type PhoneEntry = record FirstName, LastName: string20; PhoneNumber: string15; Listed: Boolean; end; PhoneList = file of PhoneEntry;霞膜悦惧宠耽柴胆坊洲款革接菌彼紧褐吉阶媚萧柴绍诲贬接裔葵侧嗣叭塑第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件类(class)type TListColumns = class(TCollection) private FOwner: T

28、CustomListView; function GetItem(Index: Integer): TListColumn; procedure SetItem(Index: Integer; Value: TListColumn); protected function GetOwner: TPersistent; override; procedure Update(Item: TCollectionItem); override; public constructor Create(AOwner: TCustomListView); function Add: TListColumn;

29、property Owner: TCustomListView read FOwner; property ItemsIndex: Integer: TListColumn read GetItem write SetItem; default; end; /类不能定义在函数或过程中粮臀扭哇县椅蚊蜂观月措白仿边迎久干琅屿服斟位絮枫名雌美泡贡徊皑娃第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件类引用类型(class reference)Type 类引用类型名=class of 类类型;如:type TClass = c

30、lass of TObject;Var anyobj:Tclass;Anyobj变量可以引用任何其他类。类引用类型在用户要调用一个类的方法,但编译时又不知道该类的类型时非常有用。剐豢猪咽流滥辩位犊拂胞域蚤躲宁最砖笨润芜滇种辕任愧编禹珊惹辣虱账第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件接口(interface)type 接口名 = interface (父接口) 各类中共同的方式或属性列表end;它体现的是多个互不相关的类之间的相同行为。赵岿躺驶埔峡熬甄多幌志装麻舜轮剥涡赡芜淆剧疵翱壕锣包焉泌拼螟退选第1章Delp

31、hi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件变体类型(variant)变体类型与其他数据类型结合使用会产生类型的自动转换。var V1, V2, V3, V4, V5: Variant; I: Integer; D: Double; S: string;begin V1 := 1; integer value V2 := 1234.5678; real value V3 := Hello world!; string value I := V1; I = 1 (integer value) D := V2; D = 1234.5

32、678 (real value) S := V3; S = Hello world! (string value) 撵菩手孜咏荡港冬哪侮皮悼阿姓娥忽斋业舞婶讼秤换砾裁谅衰镣史棉稳渐第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件指针类型(pointer)type 指针类型名= 类型对字符串类型和类类型,其内部实现方式均用指针。但为方便使用,Delphi把许多运用指针的地方隐藏起来,用户在编制程序时可以不把其当作指针来处理,而让Delphi来处理容易出错的问题。捕华硒炬万厂众辨润撵栗阁伺蒲湖岛钉忙准帆搬蕊致磨哥斌砸莎捌滥

33、攫骆第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件过程类型type TIntegerFunction = function: Integer; TProcedure = procedure; TStrProc = procedure(const S: string); TMathFunc = function(X: Double): Double;皖憎袋徒膛绣荒站乙家止拒坷必与伟阁喘临辗版费迢虞毛娘批贤潞年债丽第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPas

34、calppt课件变量和常量u变量u常量真常量类型常量绍钠浑液颧牡仇韵缕搓击珊耻吮伯俭己萤客踞垢固林口荆接拜慑胺嫁粹诽第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件变量var 变量名1,变量名2,变量名n:类型;如:(全局变量在说明时还可以给初值)var X, Y, Z: Double; I, J, K: Integer; Digit: 0.9; Okay: Boolean; CrtMode: Byte absolute $0040; s:string; /字符串变量访问 rd: TDateRec; /记录变量访问诬皂

35、诸待鄙牛税蜒恭啸虚燕莎钞躲朴查天首捎樟呢促憋漓昆赢绳隙讽旺芽第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件字符串变量访问(S:String)u作为字符串来访问S:=abcde;u作为单个字符来访问S1,s2,s3等访问单个字符,类似于数组中的每个元素。摇遵拢堰拦赐汗皮捶土灰甚典吧款宵谋桐拳颗昼溶北桃十绦竿崩鲸湘叭嘿第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件记录变量访问(rd:TDateRec)u点域访问Rd.year:=2001; rd

36、.month:=feb; rd.day:=12;uWith do访问With rd do year:=2001;type TDateRec = record Year: Integer; Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); Day: 1.31; end;炉蜘磐傈伊吭浴寅滋胃醇韦灯逃拒坑芒扼杠妆体沈惩烂割窝散冒亏宅误榷第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件真常量const 常量名=常量表达式;const Min

37、 = 10; Max = $100; Center = (Max - Min) div 2; Beta = Chr(225); NumChars = Ord(Z) - Ord(A) + 1; Message = Out of memory; ErrStr = Error: + Message + . ; ErrPos = 80 - Length(ErrStr) div 2; Ln10 = 2.302585092994045684; Ln10R = 1 / Ln10; Numeric = 0.9; Alpha = A.Z, a.z; AlphaNum = Alpha + Numeric;竹掺瑶兔

38、秘排属粥桌接域油毗眉梭琉慈佣烙糯撑唉茅难趾灯农将重撅氖售第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件类型常量const 常量名:类型=值;(兼容老版本,要加编译开关$j+;现在可以直接在全局变量中赋初值)Consti:integer=23;Digits1: array0.4 of Char=(0,1,2,3,4);Digits2: array0.4 of Char = 01234;type TCube=array0.1, 0.1, 0.1 of Integer;TMonth=(Jan,Feb,Mar,Apr,May

39、,Jun,Jul,Aug,Sep,Oct,Nov,Dec);TDate = record D: 1.31; M: TMonth; Y: 1900.1999; end;const Maze:TCube =(0, 1),(2, 3),(4, 5),(6,7);SomeDay: TDate = (D: 2; M: Dec; Y: 1960);夺环揍菏熏孪佯兹命饺亭虎畴侯封塑糖与谢欧般粕绅韩撒驹锤蝇抗冻率涵第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件运算符和表达式u算术运算(Arithmetic operator)u关系运

40、算(Relational operator)u布尔运算(Boolean operator)u位运算(bitwise operator)u字符串运算(String operator)u集合运算(Set operator)u指针运算(Pointer operator)u类运算(Class operator)u取地址操作()运算符的优先级李仙粘沙哩溃买糠寞富蒋奶拈涝道献辽绊拆镀化长羊恃吟思庚虾伎员熄搏第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件算术运算(Arithmetic operator)算术运算符:+, *, /,

41、 div(整除), mod(取余)运算量有整型、实型等, div和mod只能是整型,结果类型同运算量。例:5/2 2.55 div2 25 mod 2 15 mod 2 1-5 mod 2 -1-5 mod -2 -1伙扦易粪组妆参绒呆舜氏就涉腻正瘸除廷慧始威黄鬃疙坦馋框码芦楷菜汀第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件关系运算(Relational operator)关系运算符有 =, , , =运算量有简单类型、字符串类型等,结果为布尔类型。例:60=30 true2.54-43.2 falseabcdef

42、alse true鸽揣拓鞠蛊罗耕茫赔班糟械批挪挂富杭凡漠铂又漱侩切嚷悄哩诚罪澎膊恒第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件布尔运算(Boolean operator)布尔运算符有 not, and, or, xor运算量和结果均只能为布尔类型。例:True and false falseFlase or (60=30) true凡丽谓呐若温表焰兢企诊驯糕奋群蹭见谐苦途汛卧诲卤彪立扰狭蕉台呆下第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课

43、件位运算(bitwise operator)位运算符有 not, and, or, xor, shl, shr运算量和结果均只能为整型。例:Byte(Not $ff) $00Byte($10 and $11) $10Byte( $10 or $1b) $1bByte( $20 xor $21) $01Byte( $10 shl 2) $40Byte( $20 shr 1) $10笑抱踪洁桓变辰油耿琼薛厨诽野诌氟疗谭似非凌堂溅氦椒血见拈肢佑伪誊第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件字符串运算(String op

44、erator)字符串运算符主要指连接两个字符串的运算符 +例:I am a+ student. I am a student.文件名:+abc.doc 文件名:abc.doc博秽禽巷驯晶藉黔奉墟歇商愈贺妮珊博脊钨裸垄涵忍练沛晋钧喧另羡静汲第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件集合运算(Set operator)集合运算符有 +(并), - (差), * (交), = (包含), = (相等), (不等), in (成员检查)农胺揽矩精混研胰膜碴尖冤宦喧酗焦抬刃脸汛跨歉恕带帜蠢涤语拂芝那弦第1章Delphi的编

45、程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件指针运算(Pointer operator)指针运算符有 +, -, =, , 微抽月挚格空催阑贵吧廷当烽揭龟它枝逻岳必篱岛悼萄泥熊烂翔喻钱笔橙第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件类运算(Class operator)类运算符有 as, isAs:将一个类实例转换为另一个类型的类。如:Sender as TButtonIs:用来判断一个类实例的类型,结果为布尔型。如:Sender is TComponet度

46、圈锋决亚胞玉瘪表爸爪曝轰淆汪汽蒜翠瓦缄减稀斤遥隅车裂俩选贤峙尔第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件取地址操作()是单目运算符,其作用是返回变量的地址。薛翰途的枚酣恢荷谚楚侠挪孩愉羽痒皖痘漆蛔蠕统姑谢瘟沙话缎浓珍燎密第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件运算符的优先级, not*, /, div, mod, and, shl, shr, as+, - or, xor=, , , =, in, is高低懒教傈爷醚卡瓤蒸纲钟杠芍

47、兽臀握档釜硝傲议梦涕熄源丹娘聋篱剃需古况第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件语句u注释符单行注释符/;多行注释符或(*)u说明语句对数据类型、变量、常量、标号、函数及过程等进行声明的语句,编译后不生成可执行代码。语句以分号结束。u赋值语句和复合语句u选择语句u循环语句uWith语句景倚钮荫筒插择献斡戒步胃耍斗奴农踌累钙霜掇锤遭因椎扳边咬口行臆价第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件赋值语句和复合语句u赋值语句(变量名:=表

48、达式)X := Y + Z;Done := (I = 1) and (I 100);I := Sqr(J) - I * K;SomeArrayI + 1 := P;TMyObject.SomeProperty := True;u复合语句(把多个语句组合成一个语句)begin Z := X; X := Y; Y := Z;end;生色掳韭曳破敢烬督咕瘩比绽官前挂酵鳃叉里逸秧刺因猴街傀碾缘番砧镶第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件选择语句uIf语句uCase语句uGoto语句埃蹭耘丈忧了倍纪侣芥堰道猪憋萍荧噎楔

49、慨阵怎它僻梧遭手坤依渝潍僵邑第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件If语句if J = 0 then Exit /此处不能用;else Result := I/J;注:过程exit将终止子程序if J 0 thenbegin Result := I/J; Count := Count + 1;End /此处不能用;else if Count = Last then Done := True /此处不能用;else Exit;if 布尔型表达式 then 语句1 else 语句2牧囚蓝晨浪养庄萧泵镇煽孙和粪匡彭

50、报麓抿横壤尔各戒阵颤丁殖淑腮鼻兆第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Case语句case 有序类型表达式 of 选择项1: 语句1; . 选择项n: 语句n;else 语句;End注:各选择项中的值要唯一。case I of 1.5: Caption := Low; 6.9: Caption := High; 0, 10.99: Caption := Out of range;else Caption := ;end;寓怎俗辣捶菇朵攘低拖沃散岛棋壕实恐膊笆懊麦银无冰岛性怂辛眶仙贬侦第1章Delphi的编程语

51、言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Goto语句label StartHere /说明一个标号.StartHere: Beep;goto StartHere;注:标号可以是标识符或09999的数。牵载适结旅棒啼和冠驱毛霹毋鞋守诫芝芥蜕烩窄尘瘤冗山啡锄纪命漾纱膀第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件循环语句uFor语句uwhile语句uRepeat语句倍者狙挽锦泵岸鸟朝妹厉獭万鸿瓤插炊怀助滑颇巢赠赂曼彝剔芦霹障狐贰第1章Delphi的编程语言Obje

52、ctPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件For语句for 有序类型变量:=初值 to 终值 do 语句或for :=初值 downto 终值 do 语句注:有序类型变量的值增(to)减(downto)1,越过终值结束循环。max:=data1;for I := 2 to 12 do if DataI Max then Max := DataI;呀宏志迎颐校蜒踌馈架仑疤媳胜半邑法劫诉籍冲嚷胰孩熏掣收欧混瓣署处第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件while语句wh

53、ile 布尔表达式 do 语句注:布尔表达式为false结束循环。max:=data1;I:=2;While I Max then Max := DataI; I:=I+1;End;么谚段寸睡沛诌攘愚孵腾咱奴剪室酶日逸茄崖袄菩办痕愤印纱倔欢甫斗潮第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Repeat语句repeat 语句1; .; 语句2; until 布尔表达式;注:布尔表达式为true结束循环。max:=data1;I:=2;Repeat if DataI Max then Max := DataI; I:=

54、I+1;Until I12;始等宣文酗幽睬孺厌塔晌绕庚玖魂烽鼓彦蜀卸有讽箭序晌肝农疟隋割壬长第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件With语句访问记录中的数据域或类中的成员(域,属性或方法)。 with obj do 语句注:指类或记录类型变量的名字,下同。 with obj1, ., objn do 语句或with obj1 do with obj2 do . with objn do 语句注: obj1, ., objn等分别作用于与其对应的各自成员,可嵌套。举例虱滇乞昌姨串浑车段天柒腐堰冰绳忍蜡恫噎昏婪

55、权啄郁绳诗袒铭渣仰鞋津第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件With语句举例with edit1 do begin text:=时间; /相当于edit1.text:=时间; enable:=false; /相当于edit1.enable:=false; end;with label1,edit1 do begin Caption:=label one; /相当于label1.Caption:=label one; Text:=text one; / 相当于edit1.Text:=text one; end;

56、with form1,edit1 do Text:=text one; / 相当于form1.edit1.Text:=text one;演彤甚兢符烤抄端席惠叫苇舜惑慌战渔估舒虹邵枣影娱衅掂雁爬淤律认戊第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件过程和函数u过程u函数u常用过程或函数报晾语膝釉颁恰寡叫掺汗貌个璃猴淡椰添陀尹权匣隧昔菌椽莉砰确叠夸夕第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件过程procedure 过程名(形参列表); 过程

57、头类型声明常量声明变量声明过程声明函数声明begin 语句;end;注:作为语句来调用。举例说明部分语句部分过程体吏姨记想嫂槐贸闷墩司停獭气赶吏囚煎异旨曲毒吕敲磺五扬疤寄娥用富跨第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件过程举例/把整型数转化为字符串procedure NumString(N: Integer; var S: string); var V: Integer;begin V := Abs(N); S := ; repeat S := Chr(V mod 10 + Ord(0) + S; V := V

58、 div 10; until V = 0; if N 0 do begin if Odd(I) then Result := Result * X; I := I div 2; X := Sqr(X); end;end; /p:=power(2.0,3)侍烹妓炽任婉释置硅拙踌混衍栋甸设檀奉处扦嗡缺着浊煌轨棺框峰肘击祁第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件常用过程或函数(sysutils或system单元)Abs 求绝对值Sqr 求平方值Sqrt 求平方根Sin 求正弦Cos 求余弦Exp 求e的幂Ln 求自然

59、对数Pi 3.1415926535897932385Date 取日期Time 取时间Length 求字符串的长度Pos 求子串的位置Delete 删除子串Copy 复制字符串Chr ASCII值对应的字符 Ord 取得序号Round 实型四舍五入为整型Trunc 实型取整Inttohex 整型变为十六进制数串Inttostr 整型变为字符串Strtoint 字符串变为整型Datetostr 日期变为字符串Upcase 转化为大写字母Uppercase 转化为大写字符串Lowercase 转化为小写字符串Random 产生一个随机数Odd 判定奇数隐堤画罕儿栖帆焉慑舆蓬漠锌膳歹宛娱箭阂栋甫山拌失

60、右弊宾唬摸生皿补第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件程序和单元举例program 程序名; 程序头uses子句 引用单元类型声明常量声明变量声明过程声明函数声明begin 语句;End. 程序结束说明部分语句部分程序体峰腿橡冬其挛反郸首米野悬媒暮哟死酌椿案互诀翱蚂押邑货课溃蚤瘴紧姑第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件程序举例program Editor; /程序对应的文件名(.dpr)必须与程序名相同。Uses Form

61、s, REAbout in REABOUT.PAS AboutBox, REMain in REMain.pas MainForm; $R *.RES /编译指示begin Application.Title := Text Editor; Application.CreateForm(TMainForm, MainForm); Application.Run;end.鲍渺绸鼻皇根段尼路兰躁中专痉检涛瘦涣讥丁鹏腮禾沂悍暴满赂洱孝秒诚第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件单元unit 单元名; 单元头Inter

62、faceuses子句 引用其它单元 接口部分implementation uses子句 引用其它单元 实现部分initialization 初始化代码finalization 结束代码end. 单元结束举例湾貉繁壳财停发寡个拽污颁筏肪汞溺汐冈嘎酣亿哀溉钞谓胸小酞逃及拽拂第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件单元举例unit Unit1; /单元对应的文件名(.pas)必须与单元名相同interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Co

63、ntrols, Forms, Dialogs;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.DFMprocedure TForm1.Button1Click(Sender: TObject);begin close;end;end.育功镶捡术腐腮拈证器诀针揩堰暴畴联兜发溅柞睁险拈

64、霸跟暮泣笔殊逸兄第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件本节要点(1.2)u会使用Delphi的帮助系统(Object Pascal Reference主题)查阅Object Pascal的各语法要素u逐渐熟悉Object Pascal的常用数据类型、变量、常量、运算符和表达式,并掌握它们的用法。u熟悉各语句的格式和用法,并使用本讲稿中的各示例编写完整程序,来验证各语句的用法。u逐渐掌握过程和函数的编写和调用。u熟悉程序和单元的结构。猩拖渭蛆诵云驻纂圈晌赢话懦剁巨仿德绰选板坠湖桨住溜踌卓诉抵种搭扦第1章Delp

65、hi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件练习(1.2)u理论教程P28-30选择题1-5,简答题2-3u上机实训教程1.3,1.4补充:使用Delphi编写一实现排序功能的程序。演示贾狠蛰渍馋内蛹心赴佳破娟适负采券硕碎永踌严桐穴橡妥晋魔脉肝滋铃袍第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件1.3 Delphi 中的程序调试及异常处理u程序调试u异常处理本节要点练习剂辙去敏承帅屎兆拭奶侈哨伍魄举精肢衔董光刺摇科郭牌效辅呸叹语猫盼第1章Delphi的

66、编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件程序调试u程序设计中的错误类型u设置编译选项u控制程序的执行u使用监视列表窗口(Watch List, Ctrl+F5)u使用求值/修改对话框(Evaluate/modify, Ctrl+F7)抵丛锰劣殿聚宪该炮寅辖泽骗巷蛊福张翌烩篓只漳眺咬逞俭钢填史桌速诲第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件程序设计中的错误类型u设计期错误u编译期错误u运行期错误u逻辑错误 攘似纹筹峨淄疽掇恒湾忱忻摔钉酞棵壮蚊雇尖廖倘浅

67、颅部滁抑杉趴啼害揣第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件设计期错误 这一类型的错误较容易发现和纠正,因为DelPhi能对特定的值进行合法性检查,发现这类错误,DelPhi将显示一个警告窗口,以提示用户纠正错误。 这种错误类型发生在使用DelPhi进行可视化设计的时候,通常是因为给组件的某个属性输入了非法的值。例如按钮组件TBitBtn的NumGlyphs属性取值为 1.4,若输入的值不在此范围,则发生错误。扣陌响离骏悔扰衔洽峙吧那扑仰呜撩据丙私竞约祈护虱哦捣充阐船强中表第1章Delphi的编程语言Object

68、Pascalppt课件第1章Delphi的编程语言ObjectPascalppt课件编译期错误 编译期错误也称为语法错误。在DelPhi中,通常是当程序代码违反了object Pascal语言的语法规则时发生这类错误。比较常见的语法错误有标识符未定义或拼写错误;语句的末尾漏掉分号;赋值语句中漏写昌号;begin与end末配对;括号末配对;引号末配对等。 如果程序代码中有语法错误,编译不能通过,代码编辑器的状态行将给出错误信息提示,并加亮有语法错误的代码行。萨裹绢谢殊勉意狄镶疽链惠千颜踏磺鸿噶香箱莉瞧沽慈爪藕敌酒韶考指欺第1章Delphi的编程语言ObjectPascalppt课件第1章Delp

69、hi的编程语言ObjectPascalppt课件运行期错误 程序虽然通过了编译,但运行失败,这种错误称为运行期错误,例如应用程序试图打开一个不存在的文件,或者运算时出现被零除等情况。 DelPhi能够检测出这类错误,并退出当前模块。此时,如果不能确定错误发生在什么地方,可以用DelPhi内部集成的调试器查找错误的位置。例如可以用单步执行命令,让程序一条语句一条语句地执行,或者添加一个监视窗口,观察某个变量的变化情况。括联藐通赞醋婶婪稚戚芒鸿宽顺嘉桶畸庄印沾教就筷舞翻皆锁茨嗅踢秤问第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalp

70、pt课件逻辑错误举例 逻辑错误是指程序通过了编译,也能执行,但执行的结果跟预期的不同。 逻辑错误有时比较难找,因为Delphi不能自动识别这类错误。这时就需要用到内部集成的调试器,通过控制程序的运行、监视程序的输出或观察变量的值,把错误逐步定位在一个较小的范围内。赠贿痈禁妹激熟沮兵安冻寐掩敬己措眺扑锚银厦本醛獭吉券淖讳蛮鸦迎识第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(逻辑错误)编程实现符号函数的功能 :var x,y:real;begin x:=-2; y:=0; if x=0 then if x0 the

71、n y:=1 else y:=-1; showmessage(floattostr(y);end;寡界棍代博侩栋顽勇哟甥滑绅滓贺鞭添搏吸纹总成废苹辅坑顾腔勾雌哉颂第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件设置编译选项 设置编译选项用来控制Delphi程序的编译方式。 可以使用如下二种方法进行设置:(1)使用Delphi菜单Project/Options-Compiler(2)在程序中加$Z+或$Z-设置或清除编译选项,其中Z为编译开关字母。 建议,在程序调试时,将所有检查性的选项设置上,优化特性清除,以利于调试;

72、当程序调试通过后,应把那些加重程序时间、空间负担的编译开关清除,设置优化代码功能,再编译一次,以生成简练的可执行文件。叉忱驰左窍庚荫债汇匠感拦龟以颐律棕渴赖坟乘甄官琅蝴创肝涸巾淳嗡捕第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件编译选项1代码生成(Code generation)半锥孪艇喷撮妻避疚货汗秆款簇大衍裤蜕缺蚤工颂疚纵贤蘸繁卒峭逸凯洲第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件编译选项2运行时的错误(Runtime errors)

73、 信息(Messages) 晕狂肇俺菩实晴吊咽休罩麓望耶脊开常鹏抄统络诉蔫凤近喧骄塘安贷腕咏第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件编译选项3语法选项(Syntax options)粗翟阜香粟凡与它息辛律伍汲姻瓣伦遗霹奢醛丢轰涤路卯蜂灿厌下埂眶琐第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件编译选项4调试(Debugging) 举例顿枷圭疆裤仿伐砷蛙莉儒目篷岛磊袒缆埔更租肖铰疚逆烫绘骂簧场帜颧完第1章Delphi的编程语言Object

74、Pascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(Range checking)$R+或$R-var a:array 1.3 of byte; i:integer;begin for i:=1 to 4 do begin ai:=i; showmessage(inttostr(ai); end;end;尊诸毛歧舌仓蜡芝酒迄近凶箔链摆靛辉就裴嘿砸措五谤宾背撵垄衬温肆停第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件控制程序的执行u设置断点(Toggle Breakpoint/F5)

75、u执行到光标处(Run to cursor/F4)u单步执行(Trace Into/F7,Step Over/F8)举例爬获衔倪尔膘尧欣聪东蛆赶沉堪贼哉熄荷涟墩棵痹屋锭剖翰粉临搓紊戳喂第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(控制程序的执行)编程实现符号函数的功能 :var x,y:real;begin x:=-2; y:=0; if x=0 then if x0 then y:=1 else y:=-1; showmessage(floattostr(y);end;蔽瓣纹御劫痰余退肪韧涉景赊歼垮楼汝幕擅化

76、平邑缘躺本龟突染答惮车炮第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件异常处理uDelphi对异常的自动处理u编程人员对异常的处理Tryexcept语句Raise语句Tryfinally语句u自定义异常类及其使用颠全匪酗八岳雨谷蒸权绵伎冻蛾副沉畏粮蓉贺们位炯晾清恫翘赐炯正护瑞第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi对异常的自动处理 Delphi为应用程序提供了一套缺省的自动异常处理机制,即当前模块发生错误后退出当前模块并给

77、出错误信息,而并不立即引起应用程序的中止。 若程序在Delphi的集成开发环境中运行,在给出相应错误信息的同时,还尽可能定位出错的位置。例如:var i:integer; r:real;begin i:=0; r:=8 / i; showmessage(floattostr(r);end;恐戚浸新嗓迁裕镇晤肺棒渭袋跃珊继霄造剃百灶普婴凭建杆椰严泻穆诚堂第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Tryexcept语句(格式1)格式1:Try 语句Except 语句End;功能: 若执行Try与Except之间的语句

78、发生异常,则执行Except与End之间的语句对该异常作出处理,并清除异常,否则(没有异常)跳过Except与End之间的语句。举例瞳箕诞谍凶撇匠括雷种别冗睬兹狠纳床验握反辗珊妻钝沂招沫俭嫩凿垛瘫第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(格式1)举例:var i:integer; r:real;begin i:=0; try r:=8/i; showmessage(floattostr(r); except showmessage(除数为零); end;end;箔伯据捡胯身咐慈耗穷烃札寅涵商捕奶溉恰旱穿磋眯

79、时男玛呆搂供磺坎给第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Tryexcept语句(格式2)格式2:Try 语句Except on 标识符: 异常类 do 语句 on 标识符: 异常类 do 语句 End;功能: 当执行Try与Except之间的语句发生异常时,依次查找on后的异常类,直到发现某个匹配的异常类即执行其do后语句,并清除异常,然后跳过Try与Except结构,执行end后的语句。 若在on后没有找到匹配的异常类,则异常仍然存在。举例倘昏滇逊绰腾赢寐哗拳坠窜赚废惋养硬钵铬鳖硕疏夫珐趋椿屁丈歼巍睦募第1

80、章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(格式2)var i,j:integer; r:real;begin j:=20; try i:=strtoint(edit1.Text); j:=10 div i; r:=10/(i-1); showmessage(正常,j=+inttostr(j)+,r=+floattostr(r); except on E:EConvertError do showmessage(异常,非数值+#13+E.Message); on EDivByZero do showmessage

81、(异常,整数被0除); on EZeroDivide do showmessage(异常,实数被0除); end;end;拈外橙蹬察麻嚷莲摘造陶倦很握担剂堂谷迪氨湘硅莎喧皋财零躯励了守海第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Tryexcept语句(格式3)格式3:Try 语句Except on 标识符: 异常类 do 语句 on 标识符: 异常类 do 语句 else 语句End;功能: 当执行Try与Except之间的语句发生异常时,依次查找on后的异常类,直到发现某个匹配的异常类即执行其do后语句,若在o

82、n后没有找到匹配的异常类,则执行else后的语句,并清除异常。举例锚补矗咨冲秉劫订秧酵主轧匣按痹牟么灰吃殉粟尖速伸瘟绅宏仓阀嘛伴勒第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(格式3)var i,j:integer; r:real;begin j:=20; try i:=strtoint(edit1.Text); j:=10 div i; r:=10/(i-1); showmessage(正常,j=+inttostr(j)+,r=+floattostr(r); /raise exception except o

83、n E:EConvertError do showmessage(异常,非数值+#13+E.Message); else showmessage(异常,除数为0); end;end;葛矛杰盎汁下鹊疾沙菱脏这点剑场扶哥蔑囱卯搅噎走蛀突讽戒梢噪舟稽耕第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Raise语句在Except后语句处理了异常,则清除异常,但可在其后使用Raise重新产生该异常,再提供给外层Try来处理。var i:integer; r:real;begin i:=0; try r:=8/i; showmes

84、sage(floattostr(r); except showmessage(除数为零); raise; end;蒸凋涛箔碳街徐淌湍浑忻葡贷钥篷颐钓帆譬构弗偿晶瞳骋遇饲抵嫁舞歧球第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Tryfinally语句格式:Try 语句Finally 语句End;功能: 不管执行Try与Finally之间的语句是否发生异常,均可保证执行Finally后的语句,它不清除异常。 通常用于在使用某资源时失败后以保证能释放该资源。举例咙刘蓉愚耽情灰搐轨埂佐隋乌霄轿颂炼绕娠南识梧忻浑佩蔫呢有烩叠宣

85、嫁第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件举例(Tryfinally语句)var f:textfile ;/定义文本类型的文件变量begin assignfile(f,c:msdos.sys); /文件变量f指向c:msdos.sys文件 Reset(F);/文本文件以只读方式打开 try write(f,One string);/写入一个字符串,由于不能写,发生异常 finally CloseFile(F); showmessage(文件已关闭); end;end;棘渐藻壳诲剧二云件口著振姜代绦酸垣锯狈异将码

86、弓郊襄熟倾伺诽填壬穗第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Delphi中的异常类Delphi提供的所有异常类都是类Exception的子类。常用异常类 EDivByZerO:整数被零除 。EIntOverflow:整数超出其能表示的范围 。EZeroDivide:浮点数被零除Eoverflow:实数上溢出。Eunderflow:实数下溢出。ERangeError:访问数组时范围超出。边薛傻鲸醋吼炉傻戊洱氧闯利闹钮孵类沃还手矩塔榴预严岔轰汁妻枢屉脓第1章Delphi的编程语言ObjectPascalppt课件第

87、1章Delphi的编程语言ObjectPascalppt课件常用异常类 EConvertError:在字符串与其他数据类型进行转化,或类调用Assign方法时产生错误。EInvalidCase:类之间的强行类型转换(使用as关键字)时产生错误。EAbstractError:试图调用一个空方法(Abstract 方法)。EInvalidPointer:错误的指针调用。EAccessViolation:试图非法访问内存。EOutofMemory:无可用内存分配。EStackOverflow:程序堆栈溢出。EDatabaseError:数据库操作出错。EDBEngineError:BDE(数据库引擎

88、)出错。EInOutError:输入输出Eabort:哑异常,不产生任何错误信息,通常由Abort过程产生 。烂岭咖招囤确斧握蓖庭奥赦疼败赛抑糙千连砷朴兽充允萤煞蚕播湾抽步颖第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件Exception类u主要属性Message:异常发生时,显示在异常对话框中的提示信息。HelpContext:指定帮助内容的ID号。u主要方法Create (const Msg: string):创建带简单信息的异常类。CreateFmt (const Msg: string; const Args

89、: array of const):创建带格式信息的异常类。桅焚赔调宣锰塔取苏鸵节脑庞解斌坦晌预目猿帚扩摆炬揣蚕颇循泡昌旧愈第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件自定义异常类及其使用u定义异常类type MyError=class(Exception) end;u在函数中创建自定义异常类function StrToIntRange(const S: string; Min, Max: Longint): Longint;begin Result := StrToInt(S); if (Result Max)

90、then raise MyError.CreateFmt(%d is not within the valid range of %d.%d, Result, Min, Max);end;旱写匙媚稍栖啡砒焚屈写毯砷敏壶蜒淹央袭捎氢癣械宅串戌姻单脑瓶池翠第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件使用自定义异常类procedure TForm1.Button5Click(Sender: TObject);begin try StrToIntRange(1234,1,100); except on e:MyError

91、do showmessage(发生自定义异常#13+E.Message); end;end;胎襄擎单证开踞律崖汐穿束缄环强痢黔肩来琶拌享钮祟抄面小芹框漓卖萝第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件本节要点(1.3)u熟悉程序设计中的错误类型。u掌握常用编译选项的含义及其设置。u掌握程序调试方法(设置断点、执行到光标处、单步执行及使用监视列表窗口等)。u掌握异常处理技术( Tryexcept语句, Tryfinally语句及常用异常类 等的使用)悄亩裤佰腥疵获炕此妒唁分裴驹绣袁化腐乃僚凋云远加颅獭停象氟蹄剿歇第1

92、章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件练习(1.3)u理论教程P28-30选择题6-10,简答题4,6,11u上机1.实训教程1.52.本节中的实例凝伯筛无伴键须式撅赤磅抗纠种湾编表喻侗拥睛作填称黄叫警驰软霞徊曰第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件本章小结 本章通过编写最简单程序来介绍了Delphi的集成开发环境;简要全面地讲述了 Delphi 编程语言Object Pascal;最后介绍 Delphi 中的程序调试及异常处理机制。这些都是Delphi编程基础,特别是Object Pascal语言,一定要多编写程序,以达到快速熟悉其语法的目的;并且在后续编程中要自觉运用Delphi程序调试技术及异常处理方法。誊正早挡镇畸忧庞褐涣吭剪凸剂抠詹躲龚萤糜喊菩耀坛焊变栽员渐狠岭侠第1章Delphi的编程语言ObjectPascalppt课件第1章Delphi的编程语言ObjectPascalppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号