欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第1章Delphi的编程语言——Object Pascal.ppt

    • 资源ID:3903472       资源大小:316KB        全文页数:112页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第1章Delphi的编程语言——Object Pascal.ppt

    第1章 Delphi的编程语言Object Pascal,1.1 认识Delphi 1.2 Object Pascal语言基础 1.3 Delphi 中的程序调试及异常处理 本章小结,1.1 认识Delphi,感受Delphi编程 Delphi的特点 Delphi编程环境及其作用 Delphi应用程序的文件组成 Delphi中几个重要概念 Delphi学习方法 本节要点 练习,感受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 等,由组件来构造应用程序。,面向对象的程序设计,对象:把要处理的数据和处理这些数据的方法组合成的一种数据类型。对象有如下三大特性: 封装性:把数据和处理数据的方法定义在同一数据类型(对象)中,一般只能用该对象中的方法来处理这些数据。 继承性:可以用已定义的对象来构造其子对象,并且子对象可以访问其父对象中的数据和方法。 多态性:为动作赋予一个可由对象序列共享的名称,对象序列中的每个对象均以适合于自身的方式实现该操作。 事件驱动,对象的多态性实例,implementation $R *.DFM type TPerson=class Name:string; weight:integer; constructor Create(aName:string;aWeight: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:integer); begin inherited create; name:=aname; weight:=aweight; end; function TPerson.GetTitle:string; begin result:=Name+ is a Person; end;,对象的多态性实例(续),Constructor TStudent.Create(aname:string;aWeight:integer;aSchool: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; aStudent:TStudent; begin aPerson:=TPerson.create(David,60); AStudent:=TStudent.create(Young,65,Tsinghua); showtitle(aperson); /显示某人相关的信息 showtitle(aStudent); /显示某学生相关的信息 aperson.free; astudent.free; end;,Delphi编程环境及其作用,菜单栏与工具栏 组件(Component)栏 对象树状列表(Object TreeView) 对象监视器(Object Inspector) 窗体设计器(Form Designer) 代码编辑器(Code Editor) 项目管理器(Project Manager),Delphi应用程序的文件组成,Delphi应用程序的文件主要有: 工程文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。,Delphi中几个重要概念,类(Class):Delphi中的对象类型数据,它由类的成员构成。 对象:类数据类型的实例。 组件:组成应用程序的构件,其类型一般为类类型。我们常用的是组件的属性、方法及事件。 组件的事件:能够把发生于某一组件上的操作同一指定的方法进行关联。当该操作发生时会自动执行指定的方法。 窗体或窗体上的组件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时器事件),也可由代码间接引发(例如当代码装载其他窗体时产生的Load事件),类的成员,域(字段):类中的数据。 方法:类中的过程或函数。 属性:类似于类中的域,但它本身并不占存储空间,对它进行存取操作,可以是直接存取,也可以是调用相应的方法,它可以是只读,只写或读写。,Delphi学习方法,转变编程思维方式 重视上机 应用为主 多参考他人的编程经验和技巧(Delphi参考书,Delphi网站),Delphi网站,Delphi 专家: Delphi 园地: Delphi程序员之家:,5.Delphi学习方法,本节要点 (1.1),熟悉Delphi集成开发环境主要组成部分及其作用:菜单栏与工具栏,组件栏,对象树状列表,对象监视器,窗体设计器,代码编辑器,项目管理器等。 掌握Delphi应用程序的文件组成:项目文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。 了解几个重要概念:类,对象,组件,组件的属性、方法及事件等。,练习(1.1),理论 1. Delphi集成开发环境主要有哪几个部分组成,并说明各部分的作用。 2.一个Delphi应用程序主要由哪些文件组成? 3.预习Object Pascal 上机 实训教程1.1,1.2,1.2 Object pascal语言基础,标识符 数据类型 变量和常量 运算符和表达式 语句 过程和函数 程序和单元 本节要点 练习,标识符,标识符必须由字母(AZ、az)、数字(09)或下划线组成,不区分字母的大小写。 标识符的第一个字符必须是字母或下划线。 标识符的长度不应超过255个字符,如果超过255字符就只有前255个有效。 不能将保留字用作标识符,如IF、AND、DO等。 尽量不要重新定义已预定义的标识符,如一些标准的数学函数Sqrt、Sin等。,数据类型,有序类型(ordinal) 实型(real),整型(integer) 字符型(character) 布尔型(Boolean) 枚举(enumerated) 子界(subrange),数组(array) 记录(record) 集合(set) 文件(file) 类(class) 类引用(class reference) 接口(interface),简单类型(simple) 字符串类型(string) 构造类型(structured) 变体类型(variant) 指针类型(pointer) 过程类型(procedural),整型(integer),常用整型: Integer-21474836482147483647有符号 4字节 Cardinal04294967295 无符号 4字节 基本整型: Shortint-128127有符号 1字节 Smallint-3276832767有符号 2字节 Longint-21474836482147483647有符号 4字节 Int64263 263 -1有符号 8字节 Byte0255 无符号 1字节 Word065535 无符号 2字节 Longword04294967295无符号 4字节,字符型(character),常用字符型: CharANSI字符集 1字节 表示: a或#97 或#39 空格 基本字符型: AnsiChar ANSI字符集 1字节 WideChar Unicode字符集(前256个是ANSI字符集) 2字节,布尔型(Boolean),Boolean(1字节) False True Ord(False) = 0 Ord(True) 0 Pred(False) = True Succ(False) = True,枚举(enumerated),type 类型名=(标识符1,标识符2, 标识符n); 如: type TMyColor = (mcRed, mcBlue, mcGreen, mcYellow, mcOrange); Answer = (ansYes, ansNo, ansMaybe); 其对应的序号为0,1,2,子界(subrange),type SomeNumbers = -128.127; Caps = A.Z; type TColors = (Red, Blue, Green, Yellow, Orange, Purple, White, Black); TMyColors = Green.White;,实型(real),常用实型 Real5.0 10-324 1.7 103088字节 基本实型 Real48 2.9 10-39 1.7 10386字节 Single 1.5 10-45 3.4 1038 4字节 Double 5.0 10-324 1.7 103088字节 Etended 3.6 10-4951 1.1 10493210字节 Comp -263+1 263 8字节 Currency-922337203685477.5808 922337203685477.5807 8字节,字符串类型(string),常用字符串 String $H+ AnsiString , $H- ShortString BORLAND BORLAND Youll see Youll see 无字符 Line 1#13#10Line 2 中华人民共和国 基本字符串 ShortString255 个字符 AnsiString 231 个字符 WideString230个字符,数组(array),type 类型名=array有序类型 of 基类型; 如: type MyArray= array1.100 of Char; type TMatrix = array1.10, 1.50 of Real;,记录(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;,集合(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,文件(file),type PhoneEntry = record FirstName, LastName: string20; PhoneNumber: string15; Listed: Boolean; end; PhoneList = file of PhoneEntry;,类(class),type TListColumns = class(TCollection) private FOwner: TCustomListView; 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; property Owner: TCustomListView read FOwner; property ItemsIndex: Integer: TListColumn read GetItem write SetItem; default; end; /类不能定义在函数或过程中,类引用类型(class reference),Type 类引用类型名=class of 类类型; 如: type TClass = class of TObject; Var anyobj:Tclass; Anyobj变量可以引用任何其他类。 类引用类型在用户要调用一个类的方法,但编译时又不知道该类的类型时非常有用。,接口(interface),type 接口名 = interface (父接口) 各类中共同的方式或属性列表 end; 它体现的是多个互不相关的类之间的相同行为。,变体类型(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.5678 (real value) S := V3; S = Hello world! (string value) ,指针类型(pointer),type 指针类型名= 类型 对字符串类型和类类型,其内部实现方式均用指针。但为方便使用,Delphi把许多运用指针的地方隐藏起来,用户在编制程序时可以不把其当作指针来处理,而让Delphi来处理容易出错的问题。,过程类型,type TIntegerFunction = function: Integer; TProcedure = procedure; TStrProc = procedure(const S: string); TMathFunc = function(X: Double): Double;,变量和常量,变量 常量 真常量 类型常量,变量,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; /记录变量访问,字符串变量访问(S:String),作为字符串来访问 S:=abcde; 作为单个字符来访问 S1,s2,s3等访问单个字符,类似于数组中的每个元素。,记录变量访问(rd:TDateRec),点域访问 Rd.year:=2001; rd.month:=feb; rd.day:=12; With 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;,真常量,const 常量名=常量表达式; const Min = 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;,类型常量,const 常量名:类型=值;(兼容老版本,要加编译开关$j+;现在可以直接在全局变量中赋初值) Const i: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,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);,运算符和表达式,算术运算(Arithmetic operator) 关系运算(Relational operator) 布尔运算(Boolean operator) 位运算(bitwise operator) 字符串运算(String operator) 集合运算(Set operator) 指针运算(Pointer operator) 类运算(Class operator) 取地址操作(),运算符的优先级,算术运算(Arithmetic operator),算术运算符:+, *, /, div(整除), mod(取余) 运算量有整型、实型等, div和mod只能是整型,结果类型同运算量。 例: 5/2 2.5 5 div2 2 5 mod 2 1 5 mod 2 1 -5 mod 2 -1 -5 mod -2 -1,关系运算(Relational operator),关系运算符有 =, , , = 运算量有简单类型、字符串类型等,结果为布尔类型。 例: 60=30 true 2.54false true,布尔运算(Boolean operator),布尔运算符有 not, and, or, xor 运算量和结果均只能为布尔类型。 例: True and false false Flase or (60=30) true,位运算(bitwise operator),位运算符有 not, and, or, xor, shl, shr 运算量和结果均只能为整型。 例: Byte(Not $ff) $00 Byte($10 and $11) $10 Byte( $10 or $1b) $1b Byte( $20 xor $21) $01 Byte( $10 shl 2) $40 Byte( $20 shr 1) $10,字符串运算(String operator),字符串运算符主要指连接两个字符串的运算符 + 例: I am a+ student. I am a student. 文件名:+abc.doc 文件名:abc.doc,集合运算(Set operator),集合运算符有 +(并), - (差), * (交), = (包含), = (相等), (不等), in (成员检查),指针运算(Pointer operator),指针运算符有 +, -, =, , ,类运算(Class operator),类运算符有 as, is As:将一个类实例转换为另一个类型的类。 如:Sender as TButton Is:用来判断一个类实例的类型,结果为布尔型。 如:Sender is TComponet,取地址操作(),是单目运算符,其作用是返回变量的地址。,运算符的优先级, not *, /, div, mod, and, shl, shr, as +, - or, xor =, , , =, in, is,高 低,语句,注释符 单行注释符/;多行注释符或(*) 说明语句 对数据类型、变量、常量、标号、函数及过程等进行声明的语句,编译后不生成可执行代码。 语句以分号结束。 赋值语句和复合语句 选择语句 循环语句 With语句,赋值语句和复合语句,赋值语句(变量名:=表达式) X := Y + Z; Done := (I = 1) and (I < 100); I := Sqr(J) - I * K; SomeArrayI + 1 := P; TMyObject.SomeProperty := True; 复合语句(把多个语句组合成一个语句) begin Z := X; X := Y; Y := Z; end;,选择语句,If语句 Case语句 Goto语句,If语句,if J = 0 then Exit /此处不能用; else Result := I/J; 注:过程exit将终止子程序,if J 0 then begin Result := I/J; Count := Count + 1; End /此处不能用; else if Count = Last then Done := True /此处不能用; else Exit;,if 布尔型表达式 then 语句1 else 语句2,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;,Goto语句,label StartHere /说明一个标号 . StartHere: Beep; goto StartHere; 注:标号可以是标识符或09999的数。,循环语句,For语句 while语句 Repeat语句,For语句,for 有序类型变量:=初值 to 终值 do 语句 或 for :=初值 downto 终值 do 语句 注:有序类型变量的值增(to)减(downto)1,越过终值结束循环。 max:=data1; for I := 2 to 12 do if DataI Max then Max := DataI;,while语句,while 布尔表达式 do 语句 注:布尔表达式为false结束循环。 max:=data1; I:=2; While I Max then Max := DataI; I:=I+1; End;,Repeat语句,repeat 语句1; .; 语句2; until 布尔表达式; 注:布尔表达式为true结束循环。,max:=data1; I:=2; Repeat if DataI Max then Max := DataI; I:=I+1; Until I12;,With语句,访问记录中的数据域或类中的成员(域,属性或方法)。 with obj do 语句 注:指类或记录类型变量的名字,下同。 with obj1, ., objn do 语句 或 with obj1 do with obj2 do . with objn do 语句 注: obj1, ., objn等分别作用于与其对应的各自成员,可嵌套。,举例,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; with form1,edit1 do Text:=text one; / 相当于form1.edit1.Text:=text one;,过程和函数,过程 函数 常用过程或函数,过程,procedure 过程名(形参列表); 过程头 类型声明 常量声明 变量声明 过程声明 函数声明 begin 语句; end; 注:作为语句来调用。,举例,说明部分,语句部分,过程体,过程举例,/把整型数转化为字符串 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 div 10; until V = 0; if N < 0 then S := - + S; end; /NUmString(234,x),函数,function 函数名(形参列表):类型; 函数头 类型声明 常量声明 变量声明 过程声明 函数声明 begin 语句; end; 注:可作为语句或值来调用。,说明部分,语句部分,函数体,举例,函数举例,/求x的y次方 function Power(X: Real; Y: Integer): Real; var I: Integer; begin Result := 1.0; /Result代表函数值 I := Y; while I 0 do begin if Odd(I) then Result := Result * X; I := I div 2; X := Sqr(X); end; end; /p:=power(2.0,3),常用过程或函数(sysutils或system单元),Abs 求绝对值 Sqr 求平方值 Sqrt 求平方根 Sin 求正弦 Cos 求余弦 Exp 求e的幂 Ln 求自然对数 Pi 3.1415926535897932385 Date 取日期 Time 取时间 Length 求字符串的长度 Pos 求子串的位置 Delete 删除子串 Copy 复制字符串,Chr ASCII值对应的字符 Ord 取得序号 Round 实型四舍五入为整型 Trunc 实型取整 Inttohex 整型变为十六进制数串 Inttostr 整型变为字符串 Strtoint 字符串变为整型 Datetostr 日期变为字符串 Upcase 转化为大写字母 Uppercase 转化为大写字符串 Lowercase 转化为小写字符串 Random 产生一个随机数 Odd 判定奇数,程序和单元,举例,program 程序名; 程序头 uses子句 引用单元 类型声明 常量声明 变量声明 过程声明 函数声明 begin 语句; End. 程序结束,说明部分,语句部分,程序体,程序举例,program Editor; /程序对应的文件名(.dpr)必须与程序名相同。 Uses Forms, REAbout in REABOUT.PAS AboutBox, REMain in REMain.pas MainForm; $R *.RES /编译指示 begin Application.Title := Text Editor; Application.CreateForm(TMainForm, MainForm); Application.Run; end.,单元,unit 单元名; 单元头 Interface uses子句 引用其它单元 接口部分 implementation uses子句 引用其它单元 实现部分 initialization 初始化代码 finalization 结束代码 end. 单元结束,举例,单元举例,unit Unit1; /单元对应的文件名(.pas)必须与单元名相同 interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end; var Form1: TForm1; implementation $R *.DFM procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.,本节要点(1.2),会使用Delphi的帮助系统(Object Pascal Reference主题)查阅Object Pascal的各语法要素 逐渐熟悉Object Pascal的常用数据类型、变量、常量、运算符和表达式,并掌握它们的用法。 熟悉各语句的格式和用法,并使用本讲稿中的各示例编写完整程序,来验证各语句的用法。 逐渐掌握过程和函数的编写和调用。 熟悉程序和单元的结构。,练习(1.2),理论 教程P28-30选择题1-5,简答题2-3 上机 实训教程1.3,1.4 补充:使用Delphi编写一实现排序功能的程序。,演示,1.3 Delphi 中的程序调试及异常处理,程序调试 异常处理 本节要点 练习,程序调试,程序设计中的错误类型 设置编译选项 控制程序的执行 使用监视列表窗口(Watch List, Ctrl+F5) 使用求值/修改对话框(Evaluate/modify, Ctrl+F7),程序设计中的错误类型,设计期错误 编译期错误 运行期错误 逻辑错误,设计期错误,这一类型的错误较容易发现和纠正,因为DelPhi能对特定的值进行合法性检查,发现这类错误,DelPhi将显示一个警告窗口,以提示用户纠正错误。,这种错误类型发生在使用DelPhi进行可视化设计的时候,通常是因为给组件的某个属性输入了非法的值。例如按钮组件TBitBtn的NumGlyphs属性取值为 1.4,若输入的值不在此范围,则发生错误。,编译期错误,编译期错误也称为语法错误。在DelPhi中,通常是当程序代码违反了object Pascal语言的语法规则时发生这类错误。比较常见的语法错误有标识符未定义或拼写错误;语句的末尾漏掉分号;赋值语句中漏写昌号;begin与end末配对;括号末配对;引号末配对等。,如果程序代码中有语法错误,编译不能通过,代码编辑器的状态行将给出错误信息提示,并加亮有语法错误的代码行。,运行期错误,程序虽然通过了编译,但运行失败,这种错误称为运行期错误,例如应用程序试图打开一个不存在的文件,或者运算时出现被零除等情况。,DelPhi能够检测出这类错误,并退出当前模块。此时,如果不能确定错误发生在什么地方,可以用DelPhi内部集成的调试器查找错误的位置。例如可以用单步执行命令,让程序一条语句一条语句地执行,或者添加一个监视窗口,观察某个变量的变化情况。,逻辑错误,举例,逻辑错误是指程序通过了编译,也能执行,但执行的结果跟预期的不同。,逻辑错误有时比较难找,因为Delphi不能自动识别这类错误。这时就需要用到内部集成的调试器,通过控制程序的运行、监视程序的输出或观察变量的值,把错误逐步定位在一个较小的范围内。,举例(逻辑错误),编程实现符号函数的功能 : 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;,设置编译选项,设置编译选项用来控制Delphi程序的编译方式。,可以使用如下二种方法进行设置: (1)使用Delphi菜单Project/Options-Compiler (2)在程序中加$Z+或$Z-设置或清除编译选项,其中Z为编译开关字母。,建议,在程序调试时,将所有检查性的选项设置上,优化特性清除,以利于调试;当程序调试通过后,应把那些加重程序时间、空间负担的编译开关清除,设置优化代码功能,再编译一次,以生成简练的可执行文件。,编译选项1,代码生成(Code generation),编译选项2,运行时的错误(Runtime errors) 信息(Messages),编译选项3,语法选项(Syntax options),编译选项4,调试(Debugging),举例,举例(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;,控制程序的执行,设置断点(Toggle Breakpoint/F5) 执行到光标处(Run to cursor/F4) 单步执行(Trace Into/F7,Step Over/F8),举例,举例(控制程序的执行),编程实现符号函数的功能 : 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;,异常处理,Delphi对异常的自动处理 编程人员对异常的处理 Tryexcept语句 Raise语句 Tryfinally语句 自定义异常类及其使用,Delphi对异常的自动处理,Delphi为应用程序提供了一套缺省的自动异常处理机制,即当前模块发生错误后退出当前模块

    注意事项

    本文(第1章Delphi的编程语言——Object Pascal.ppt)为本站会员(创****公)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开