第1章Delphi的编程语言——Object Pascal.ppt
《第1章Delphi的编程语言——Object Pascal.ppt》由会员分享,可在线阅读,更多相关《第1章Delphi的编程语言——Object Pascal.ppt(112页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第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最早是B
2、orland公司于1994年底发布的一种可视化编程语言。它以Object Pascal作为基本开发语言。目前已从Delphi 1.0发展到Delphi 7.0。它适用于Windows 9x, Windows xp,Windows 2000或更高的版本操作系统,同时也推出Lynux操作系统下的kylix版本。 编程效率高、代码质量好 领先的数据库技术 强大的Internet应用开发功能 与Office 的巧妙结合,可视化编程语言,编程语言的发展 机器语言汇编语言高级语言(结构化面向对象可视化) 面向对象的程序设计(Object Oriented Programming) 可视化(Visual)编
3、程语言 Delphi,VFP,VB,VC 等,由组件来构造应用程序。,面向对象的程序设计,对象:把要处理的数据和处理这些数据的方法组合成的一种数据类型。对象有如下三大特性: 封装性:把数据和处理数据的方法定义在同一数据类型(对象)中,一般只能用该对象中的方法来处理这些数据。 继承性:可以用已定义的对象来构造其子对象,并且子对象可以访问其父对象中的数据和方法。 多态性:为动作赋予一个可由对象序列共享的名称,对象序列中的每个对象均以适合于自身的方式实现该操作。 事件驱动,对象的多态性实例,implementation $R *.DFM type TPerson=class Name:string;
4、 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
5、; 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(
6、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
7、 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 Ed
8、itor) 项目管理器(Project Manager),Delphi应用程序的文件组成,Delphi应用程序的文件主要有: 工程文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。,Delphi中几个重要概念,类(Class):Delphi中的对象类型数据,它由类的成员构成。 对象:类数据类型的实例。 组件:组成应用程序的构件,其类型一般为类类型。我们常用的是组件的属性、方法及事件。 组件的事件:能够把发生于某一组件上的操作同一指定的方法进行关联。当该操作发生时会自动执行指定的方法。 窗体或窗体上的组件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时器事件
9、),也可由代码间接引发(例如当代码装载其他窗体时产生的Load事件),类的成员,域(字段):类中的数据。 方法:类中的过程或函数。 属性:类似于类中的域,但它本身并不占存储空间,对它进行存取操作,可以是直接存取,也可以是调用相应的方法,它可以是只读,只写或读写。,Delphi学习方法,转变编程思维方式 重视上机 应用为主 多参考他人的编程经验和技巧(Delphi参考书,Delphi网站),Delphi网站,Delphi 专家: Delphi 园地: Delphi程序员之家:,5.Delphi学习方法,本节要点 (1.1),熟悉Delphi集成开发环境主要组成部分及其作用:菜单栏与工具栏,组件栏
10、,对象树状列表,对象监视器,窗体设计器,代码编辑器,项目管理器等。 掌握Delphi应用程序的文件组成:项目文件(.DPR);单元文件(.PAS);窗体文件(.DFM)等。 了解几个重要概念:类,对象,组件,组件的属性、方法及事件等。,练习(1.1),理论 1. Delphi集成开发环境主要有哪几个部分组成,并说明各部分的作用。 2.一个Delphi应用程序主要由哪些文件组成? 3.预习Object Pascal 上机 实训教程1.1,1.2,1.2 Object pascal语言基础,标识符 数据类型 变量和常量 运算符和表达式 语句 过程和函数 程序和单元 本节要点 练习,标识符,标识符必
11、须由字母(AZ、az)、数字(09)或下划线组成,不区分字母的大小写。 标识符的第一个字符必须是字母或下划线。 标识符的长度不应超过255个字符,如果超过255字符就只有前255个有效。 不能将保留字用作标识符,如IF、AND、DO等。 尽量不要重新定义已预定义的标识符,如一些标准的数学函数Sqrt、Sin等。,数据类型,有序类型(ordinal) 实型(real),整型(integer) 字符型(character) 布尔型(Boolean) 枚举(enumerated) 子界(subrange),数组(array) 记录(record) 集合(set) 文件(file) 类(class)
12、类引用(class reference) 接口(interface),简单类型(simple) 字符串类型(string) 构造类型(structured) 变体类型(variant) 指针类型(pointer) 过程类型(procedural),整型(integer),常用整型: Integer-21474836482147483647有符号 4字节 Cardinal04294967295 无符号 4字节 基本整型: Shortint-128127有符号 1字节 Smallint-3276832767有符号 2字节 Longint-21474836482147483647有符号 4字节 In
13、t64263 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
14、) = 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); TMyColo
15、rs = 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+ Ansi
16、String , $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 域名:类
17、型; . 域名:类型; 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,文件(
18、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;
19、 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 GetI
20、tem write SetItem; default; end; /类不能定义在函数或过程中,类引用类型(class reference),Type 类引用类型名=class of 类类型; 如: type TClass = class of TObject; Var anyobj:Tclass; Anyobj变量可以引用任何其他类。 类引用类型在用户要调用一个类的方法,但编译时又不知道该类的类型时非常有用。,接口(interface),type 接口名 = interface (父接口) 各类中共同的方式或属性列表 end; 它体现的是多个互不相关的类之间的相同行为。,变体类型(varian
21、t),变体类型与其他数据类型结合使用会产生类型的自动转换。 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) ,指针类型
22、(pointer),type 指针类型名= 类型 对字符串类型和类类型,其内部实现方式均用指针。但为方便使用,Delphi把许多运用指针的地方隐藏起来,用户在编制程序时可以不把其当作指针来处理,而让Delphi来处理容易出错的问题。,过程类型,type TIntegerFunction = function: Integer; TProcedure = procedure; TStrProc = procedure(const S: string); TMathFunc = function(X: Double): Double;,变量和常量,变量 常量 真常量 类型常量,变量,var 变量名
23、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:=fe
24、b; 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; Mes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章Delphi的编程语言Object Pascal Delphi 编程 语言 Object
限制150内