程序设计基础_第1页
程序设计基础_第2页
程序设计基础_第3页
程序设计基础_第4页
程序设计基础_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 程序设计基础程序设计基础程序设计概述程序设计概述结构化程序设计结构化程序设计面向对象的程序设计基础面向对象的程序设计基础5.1 程序设计概述程序设计概述本节重点:本节重点:程序设计的概念程序设计的概念程序设计的方法程序设计的方法面向对象程序设计的特性面向对象程序设计的特性5.1 程序设计概述程序设计概述 程序设计程序设计:利用系统所提供的设计工具,按照程序设计语言:利用系统所提供的设计工具,按照程序设计语言的规范描述解决问题的算法并进行程序编写的过程。的规范描述解决问题的算法并进行程序编写的过程。 程序设计方法程序设计方法:结构化程序设计(:结构化程序设计(sp)和面向对象的程序

2、设)和面向对象的程序设计(计(oop)。)。 结构化程序设计结构化程序设计遵循四条遵循四条原则原则:自顶向下、逐步求精、模块化和限制使用转:自顶向下、逐步求精、模块化和限制使用转移语句。移语句。程序流程使用三种基本程序流程使用三种基本结构结构来控制:来控制:顺序顺序、分支分支和和循环循环。本质本质:以功能为主进行设计,其方法是自顶向下、功能分解:以功能为主进行设计,其方法是自顶向下、功能分解,它从外部功能上模拟客观世界,其开发过程通常是从,它从外部功能上模拟客观世界,其开发过程通常是从“做做什么什么”到到“如何做如何做”。优点优点:系统结构性强、便于设计和理解。:系统结构性强、便于设计和理解。

3、5.1 程序设计概述程序设计概述面向对象的程序设计面向对象的程序设计基本思想基本思想:世界由各种对象组成,任何事物都是对象,是:世界由各种对象组成,任何事物都是对象,是某个对象类的实例,复杂的对象可由较简单的对象组合而某个对象类的实例,复杂的对象可由较简单的对象组合而成。成。基石基石:对象和类。:对象和类。对象对象:是数据及作用于这些数据之上的操作结合在一起所:是数据及作用于这些数据之上的操作结合在一起所构成的独立实体的总称。构成的独立实体的总称。类类:一组具有相同数据结构和相同操作的对象的描述。:一组具有相同数据结构和相同操作的对象的描述。5.1 程序设计概述程序设计概述oop特性:特性:封

4、装性封装性:指对象是数据和处理该数据的方法所构成的整体:指对象是数据和处理该数据的方法所构成的整体,外界只能看到其外部特性,其内部特性对外不可见。,外界只能看到其外部特性,其内部特性对外不可见。继承性继承性:反映的是类和类之间不同的抽象级别,根据继承:反映的是类和类之间不同的抽象级别,根据继承与被继承的关系,类可分为基类和衍生类,基类也称为父与被继承的关系,类可分为基类和衍生类,基类也称为父类,衍生类也称为子类。类,衍生类也称为子类。多态性多态性:在形式上表现为一个方法根据传递给它的参数的:在形式上表现为一个方法根据传递给它的参数的不同,可以调用不同的方法体,实现不同的操作。不同,可以调用不同

5、的方法体,实现不同的操作。5.1 程序设计概述程序设计概述oop优点:优点:再现人类认识事物的思维方式和解决问题的工作方式;再现人类认识事物的思维方式和解决问题的工作方式;能尽量逼真地模拟客观世界及其事物;能尽量逼真地模拟客观世界及其事物;很好地实现了信息隐藏,由此建立在类及其继承性基础上很好地实现了信息隐藏,由此建立在类及其继承性基础上的重用能力可应付复杂的大型软件开发。的重用能力可应付复杂的大型软件开发。5.2 结构化程序设计结构化程序设计本节重点:本节重点:顺序结构顺序结构分支结构(分支结构(ifelseendif、do caseendcase)循环结构(循环结构(forendfor、d

6、o whileenddo、scanendscan)过程与用户自定义函数过程与用户自定义函数5.2 结构化程序设计结构化程序设计 结构化程序设计是指根据不同的情况和条件,控制程结构化程序设计是指根据不同的情况和条件,控制程序去执行相应操作的语句序列。序去执行相应操作的语句序列。 vfp中程序结构主要分为:中程序结构主要分为:顺序结构顺序结构、分支结构分支结构、循循环结构环结构,以及过程,以及过程/函数调用,且这些结构可以相互嵌套,函数调用,且这些结构可以相互嵌套,即一种程序结构中可包含任何的程序结构。一个程序从总即一种程序结构中可包含任何的程序结构。一个程序从总体上来说是一个顺序结构,其中的某个

7、(些)体上来说是一个顺序结构,其中的某个(些)“子部分子部分”则可能是各种结构的组合和嵌套。则可能是各种结构的组合和嵌套。5.2.1 创建、修改和运行程序创建、修改和运行程序1. 创建和修改程序文件创建和修改程序文件(1)创建程序)创建程序“文件文件/新建新建”“常用常用”工具栏中的工具栏中的“新建新建”利用项目管理器中的利用项目管理器中的“新建新建”命令命令modify command filename|?(2)修改程序)修改程序“文件文件/打开打开”“常用常用”工具栏中的工具栏中的“打开打开”利用项目管理器中的利用项目管理器中的“修改修改”命令命令modify command注:注:.ba

8、k文件是备份文件,当一已存在的程序对其个修改后保文件是备份文件,当一已存在的程序对其个修改后保存,则修改前和程序以存,则修改前和程序以.bak文件保存。文件保存。5.2.1 创建、修改和运行程序创建、修改和运行程序2. 运行程序运行程序“常用常用”工具栏的工具栏的“!”项目管理器中项目管理器中“运行运行”按钮按钮do命令命令 do 程序文件名程序文件名 with 参数参数5.2.2 顺序结构顺序结构 顺序结构顺序结构,是指程序运行时,是指程序运行时按照语句排列的先后顺序按照语句排列的先后顺序,一条接一条地依次,一条接一条地依次执行执行,程序的执行流程如图,程序的执行流程如图5-1所示,所示,先

9、执行语句先执行语句a,然后执行语句,然后执行语句b。它是程序中最基本的结构。它是程序中最基本的结构,也是任一程序的主体结构。,也是任一程序的主体结构。例例5.1 下列程序的功能是计算圆的面积,其半径为下列程序的功能是计算圆的面积,其半径为4.12。 store 4.12 to p s=p*p*3.14 ?圆面积为:圆面积为:, s例例5.2 下列程序的功能是显示一个字符串在另一个下列程序的功能是显示一个字符串在另一个 字符串中的位置。字符串中的位置。 c=“visual foxpro” cc=“fox” ?at(cc,c)ab图图5-1 顺序结构顺序结构5.2.3 分支结构分支结构 分支结构分

10、支结构,是指程序运行过程中,根据条件执行不同,是指程序运行过程中,根据条件执行不同的操作。在的操作。在vfp中,有两种实现分支结构的语句:中,有两种实现分支结构的语句:ifelseendif语句和语句和do caseendcase语句。语句。1. ifelseendif语句语句(简称简称“if语句语句”)是根据逻辑表达式的值,有选择地执行一组语句。语法格式:是根据逻辑表达式的值,有选择地执行一组语句。语法格式: if 逻辑表达式逻辑表达式 命令组命令组1 else 命令组命令组2 endifendif语句组语句组1语句组语句组2逻辑表达式逻辑表达式if.f.t.5.2.3 分支结构分支结构 i

11、f语句在使用时,其中的语句组语句在使用时,其中的语句组1或语句组或语句组2中,可以包中,可以包含含if语句,则称为语句,则称为if语句的结构嵌套。语句的结构嵌套。例例5.3 下列程序的功能是根据变量下列程序的功能是根据变量x的值决定变量的值决定变量y的值(为的值(为1或或-1)。)。 if x0 y=1 else y=-1 endif5.2.3 分支结构分支结构例例5.4 下面的程序的功能是解一元二次方程。其中,下面的程序的功能是解一元二次方程。其中,parameters语句用于接收程序的参数(三个参数语句用于接收程序的参数(三个参数a、b、c分别为对应于一元二次方程的系数)。分别为对应于一元

12、二次方程的系数)。 上述程序在运行时,必须使用具有上述程序在运行时,必须使用具有with子句的子句的do命令。命令。2. do caseendcase语句语句 if语句一般是二分支,若判断多于两种可能,有两种方语句一般是二分支,若判断多于两种可能,有两种方法实现法实现: 一是在一是在ifelseendif中嵌套中嵌套,ifelseendif. 二是二是do caseendcase.5.2.3 分支结构分支结构其语法格式:其语法格式:do case case 逻辑表达式逻辑表达式1 命令组命令组1 case 逻辑表达式逻辑表达式2 命令组命令组2 case 逻辑表达式逻辑表达式n 命令组命令组n

13、 otherwise 其他命令组其他命令组endcase例例5.5 用用do case语句实现例语句实现例5.4中程序的功能。中程序的功能。endcasedo case语句组语句组1逻辑表达式逻辑表达式1.t.f.语句组语句组2逻辑表达式逻辑表达式2.t.f.f.f.语句组语句组2逻辑表达式逻辑表达式n.t.其他语句组其他语句组5.2.4 循环结构循环结构 循环就是使得一组语句循环就是使得一组语句重复执行若干次重复执行若干次,可以预先指定,可以预先指定要循环的次数,也可以格局某个条件控制循环。在要循环的次数,也可以格局某个条件控制循环。在vfp中,中,实现循环结构的语句有三种:实现循环结构的语

14、句有三种:forendfordo whileenddoscanendscan 其中,循环开始的语句称为循环的其中,循环开始的语句称为循环的入口入口,如,如for、do while、scan,循环结束语句称为循环的,循环结束语句称为循环的出口出口,如,如endfor、enddo、endscan,而入口和出口之间的一,而入口和出口之间的一组语句称为循环体。组语句称为循环体。5.2.4 循环结构循环结构1. forendfor循环结构循环结构 事先事先知道循环的次数知道循环的次数,语法格式:,语法格式:for 循环变量循环变量=初值初值 to 终值终值 step 步长步长 循环体循环体endfor

15、| next 循环变量是个计数器,当循环变量是个计数器,当初值初值终值终值时,时,步长步长0,则循,则循环变量为一个环变量为一个递增递增数列;当数列;当初值初值终值终值时,时,步长步长64 and nc0 p=left(c,1)+p c=substr(c,2)enddo?cc+“的反序为的反序为”+p5.2.4 循环结构循环结构5.11 下列程序的功能是将由任意字符(包括汉字)组成的字符串下列程序的功能是将由任意字符(包括汉字)组成的字符串反序显示。反序显示。store vfp程序设计程序设计 to c,ccp=space(0)do while len(c)0 x=asc(left(c,1)

16、if x127 i=2 else i=1 endif p=left(c,i)+p c=substr(c,i+1)enddo ?cc+“的反序为的反序为”+p5.2.4 循环结构循环结构5.12 下列程序的功能是统计字符串中大、小写英文字母的个数。下列程序的功能是统计字符串中大、小写英文字母的个数。clearc=visual foxprocc=cnmax=0nmin=0do while c do case case asc(left(c,1)64 and asc(left(c,1)96 and asc(left(c,1)123 nmin=nmin+1 endcase c=subs(c,2)end

17、dowait windows “大写字符的个数:大写字符的个数:”+str(nmax)+“小写字符的个小写字符的个;数:数:+str(nmin)5.2.4 循环结构循环结构 循环体中可以含有循环体中可以含有exit语句,语句, exit是是退出退出语句,则当执行语句,则当执行到到exit语句时,无论循环结束条件是否满足,都将语句时,无论循环结束条件是否满足,都将退出循环退出循环。例例5.13 下列程序的功能是对表达式下列程序的功能是对表达式1/(123)+1/(234)+1/n(n+1)(n+2)进行求和,并且进行求和,并且要求计算结构精度小于要求计算结构精度小于0.0000001。clear

18、ns=0i=1do while .t. ns=ns+1/(i*(i+1)*(i+2) if 1/(i*(i+1)*(i+2)0.0000001 exit endif i=i+1enddo 5.2.4 循环结构循环结构3. scanendscan循环语句循环语句 该循环仅用于处理表的记录,即该循环仅用于处理表的记录,即表扫描型循环表扫描型循环。若对表。若对表中中所有记录执行某一操作所有记录执行某一操作,可以使用该语句。随着记录指针,可以使用该语句。随着记录指针的移动,的移动,scan循环对每条记录执行相同的命令组。语法格循环对每条记录执行相同的命令组。语法格式:式:scan 范围范围 for 条

19、件表达式条件表达式 循环体循环体endscan范围:范围:all rest record n next n是否到指定范围的结尾是否到指定范围的结尾循环体循环体endscanscan.f.t.5.2.4 循环结构循环结构例例5.14 下列程序的功能是显示所有籍贯为下列程序的功能是显示所有籍贯为“江苏江苏”的学生姓名的学生姓名和籍贯。和籍贯。clearuse jsscan for 江苏江苏$jg ? xm, jgendscan5.2.5 过程和自定义函数过程和自定义函数 用户可以将经常执行的具有某种功能的一段代码独立出来用户可以将经常执行的具有某种功能的一段代码独立出来,创建一个过程或用户自定义函

20、数(,创建一个过程或用户自定义函数(udf)。)。过程过程通常用于通常用于实实现某一处理功能现某一处理功能,而,而函数函数用于用于实现某一处理功能实现某一处理功能且有且有返回值返回值。1. 过程与自定义函数的定义过程与自定义函数的定义procedure 过程名过程名 parameters形参变量形参变量1,形参变量,形参变量2, 命令组命令组 return 表达式表达式endprocfunction 函数名函数名 parameters形参变量形参变量1,形参变量,形参变量2, 命令组命令组 return 表达式表达式endfunc5.2.5 过程和自定义函数过程和自定义函数 parameter

21、s语句用于指定自定义函数和过程中的语句用于指定自定义函数和过程中的参数参数,参数最多可有参数最多可有27个,;个,;return语句用于指定过程或自定语句用于指定过程或自定义函数的义函数的返回值返回值,表达式,表达式省略省略时返回值为时返回值为.t.。例例5.15 下列自定义函数下列自定义函数ntoc( )的功能是一个的功能是一个09之间的阿拉伯之间的阿拉伯数字转换为一个数字转换为一个“零零九九”之间的中文字符。例如,之间的中文字符。例如,ntoc(7)的返回值为的返回值为“七七”。function ntoc parameters pdigit local cstring cstring=“零

22、一二三四五六七八九零一二三四五六七八九” return substr(cstring,pdigit*2+1,2)endfunc5.2.5 过程和自定义函数过程和自定义函数2. 过程与自定义函数的调用过程与自定义函数的调用使用函数的调用方式(与系统函数的调用方法相同)使用函数的调用方式(与系统函数的调用方法相同)使用使用do命令:命令: do 过程名过程名 in 过程文件名过程文件名with 参数参数自定义函数和过程的调用自定义函数和过程的调用区别区别主要在于使用主要在于使用函数函数方式调用方式调用时时有返回值有返回值。如过程或函数的定义是保存在单独的过程文件中时,也可如过程或函数的定义是保存在

23、单独的过程文件中时,也可以在调用过程或自定义函数前应使用命令:以在调用过程或自定义函数前应使用命令: set procedure to 过程名过程名 5.2.5 过程和自定义函数过程和自定义函数例例5.16 下列程序可用于计算下列程序可用于计算s=1!+2!+3!+4!+5!。s=0for i=1 to 20 s=s+fjc(i)endforfunction fjc parameter x p=1 for n=1 to x p=p*n endfor return pendfunc5.3 面向对象的程序设计基础面向对象的程序设计基础本节重点:本节重点:什么是对象的属性、事件和方法?什么是对象的属

24、性、事件和方法?vfp基类有哪些?容器类有哪些?基类有哪些?容器类有哪些?基类最小属性集、最小事件集?基类最小属性集、最小事件集?对象的引用方法?事件和方法的调用?对象的引用方法?事件和方法的调用?常用的事件有哪些?常用的事件有哪些?5.3.1 类和对象概述类和对象概述 类类是一个具有相同行为的是一个具有相同行为的对象的抽象对象的抽象,所有对象的属,所有对象的属性、事件和方法都在类中定义,性、事件和方法都在类中定义,对象对象仅仅是类的一个仅仅是类的一个实例实例。属性:属性:属性是对象的属性是对象的特征特征或某一方面的或某一方面的行为行为,用户可以,用户可以新新建属性建属性。 事件:事件:事件是

25、对象能够事件是对象能够识别识别的一个的一个动作动作,用户可以编写代,用户可以编写代码对此动作进行响应。码对此动作进行响应。 用户用户不不可以可以新建事件新建事件。方法:方法:方法是对象能够方法是对象能够执行执行的一个的一个操作操作。可以理解为是对。可以理解为是对象所具有的功能。象所具有的功能。 用户可以用户可以新建方法新建方法。5.3.2 基类基类 在在vfp中,类可分为三大类:中,类可分为三大类:基类基类、子类子类和和用户自定义用户自定义类类。基类(基类(base class):):vfp系统提供系统提供的内部定义好的类(的内部定义好的类(如如vfp表单、控件等),这些类可以表单、控件等),

26、这些类可以直接使用直接使用,也可以在,也可以在此基础之上修改创建出新的类,添加自己需要的功能。此基础之上修改创建出新的类,添加自己需要的功能。 子类:子类:以其它类为起点以其它类为起点创建新类创建新类,新类被称为子类(起点,新类被称为子类(起点类被称为父类),子类将类被称为父类),子类将继承继承所有所有父类父类的的特征特征(称为(称为“继继承性承性”)。)。 用户用户自自定义类:定义类:是基于一个或多个是基于一个或多个vfp基类,由用户创建基类,由用户创建的类,可以对一个现有的的类,可以对一个现有的vfp类或任何自定义类添加功能类或任何自定义类添加功能。5.3.2 基类基类 根据基类是否能根据

27、基类是否能包容其他类包容其他类,基类也分为两种:,基类也分为两种:容器容器类类和和控件类控件类(也成为非容器类)。(也成为非容器类)。容器类:容器类:是可以是可以包含其它类包含其它类的基类。对于容器型对象来说的基类。对于容器型对象来说,无论在设计时还是在运行时,均可以将容器型对象作为,无论在设计时还是在运行时,均可以将容器型对象作为一个一个整体进行操作整体进行操作,也可以,也可以分别对分别对其包容的其包容的对象对象进行进行处理处理。容器类有:。容器类有:表单集表单集、表单表单、表格表格、表格列表格列、页框页框、页面页面、命令按钮组命令按钮组、选项按钮组选项按钮组、工具栏工具栏、容器容器等。等。

28、 控件类:控件类:可以包含在容器类中但可以包含在容器类中但不可以包含其它类不可以包含其它类的基类的基类。除了上述容器类以外的控件都属于控件类。除了上述容器类以外的控件都属于控件类。 此外,根据是否此外,根据是否可视可视(即运行时是否可见),基类又(即运行时是否可见),基类又分为分为可视类可视类和和非可视类非可视类。5.3.2 基类基类vfp常用基类常用基类 *表示该类是容器类的组成部分,不能基于它们创建子类;斜体字表表示该类是容器类的组成部分,不能基于它们创建子类;斜体字表示该类是示该类是feicheckbox 复选框复选框 cloumn 列列 *combobox 组合框组合框commandb

29、utton命令按钮命令按钮commandgroup命令按钮命令按钮container 容器容器 control 控件控件editbox 编辑框编辑框form 表单表单formset 表单表单集集grid 表格表格header 列表头列表头 *hyperlink 超级链接超级链接image 图像图像label 标签标签line 线条线条listbox 列表框列表框ole 绑定型控件绑定型控件 ole 容器控件容器控件optionbutton选项按钮选项按钮 *optiongroup 选项按钮组选项按钮组page 页页 *pageframe 页框页框separator 分隔符分隔符shape 形状

30、形状spinner 微调器微调器 textbox 文本框文本框timer 计时器计时器toolbar 工具栏工具栏5.3.2 基类基类vfp的容器类的容器类容器类容器类能包含的对象能包含的对象容器容器任意控件任意控件工具栏工具栏任意控件、页框、容器任意控件、页框、容器表单集表单集表单、工具栏表单、工具栏表单表单页框、任意控件、容器或自定义对象页框、任意控件、容器或自定义对象表格表格表格列表格列表格列表格列列表头以及除表单、表单集、工具栏、计时器和其他列以外的任列表头以及除表单、表单集、工具栏、计时器和其他列以外的任意对象意对象页框页框页面页面页面页面任意控件、容器和自定义对象任意控件、容器和自

31、定义对象命令按钮组命令按钮组命令按钮命令按钮选项按钮组选项按钮组选项按钮选项按钮5.3.2 基类基类基类的最小属性集基类的最小属性集属性属性说明说明class该类属于任何类型该类属于任何类型baseclass该类由何种基类派生而来该类由何种基类派生而来classlibrary该类从属于哪种类库该类从属于哪种类库parentclass对象所基于的类。若该类直接由对象所基于的类。若该类直接由vfp基类派生而来基类派生而来,则其属性值与,则其属性值与baseclass属性值相同。属性值相同。5.3.2 基类基类基类的最小事件集基类的最小事件集事件事件说明说明init当对象创建时激活当对象创建时激活d

32、estroy当对象从内存中释放时激活当对象从内存中释放时激活error当类中的事件或方法程序中发生错误时激活当类中的事件或方法程序中发生错误时激活5.3.2 处理对象处理对象1. 引用对象引用对象 要对某个对象(比如一个按钮)进行属性设置,一定要对某个对象(比如一个按钮)进行属性设置,一定要先要先“找到找到”该对象,这就叫该对象,这就叫引用引用。 而而vfpvfp中,控件的摆放有很严格的中,控件的摆放有很严格的“层次层次”关系。关系。在引在引用对象时,首先要弄清该对象相对于容器层次的关系。犹用对象时,首先要弄清该对象相对于容器层次的关系。犹如在引用某个人间时首先要弄清该文件在哪个磁盘的哪个如在

33、引用某个人间时首先要弄清该文件在哪个磁盘的哪个文件夹中(即文件的存取路径)一样。文件夹中(即文件的存取路径)一样。 对象的引用分为对象的引用分为绝对引用绝对引用和和相对引用相对引用。5.3.2 处理对象处理对象(1)绝对引用)绝对引用 指从容器的最高层次对象开始向下层查找,一直到该指从容器的最高层次对象开始向下层查找,一直到该对象所经过的所有对象的组合,对象名之间用小数点对象所经过的所有对象的组合,对象名之间用小数点“.”间隔。间隔。 (2)相对引用)相对引用 我们用的都是这种方式。相对引用可以从任何容器层我们用的都是这种方式。相对引用可以从任何容器层次开始,只能向上或向下经过若干个对象找到指

34、定对象。次开始,只能向上或向下经过若干个对象找到指定对象。5.3.2 处理对象处理对象相对引用对象时涉及的关键字:相对引用对象时涉及的关键字:activeform 当前活动表单当前活动表单activepage 当前活动表单中的活动页面当前活动表单中的活动页面activecontrol 当前活动表单中具有焦点的控件当前活动表单中具有焦点的控件parent 该对象的直接容器该对象的直接容器this 该对象该对象thisform 包含该对象的表单包含该对象的表单thisformset 包含该对象的表单集包含该对象的表单集例如:例如:_screen.activeform_screen.activefo

35、rm.activecontrol5.3.2 处理对象处理对象2. 设置对象属性设置对象属性 每个对象都有很多属性。通过设置对象属性,可以定每个对象都有很多属性。通过设置对象属性,可以定义对象的特征或某一方面的行为。对象的大多数属性既可义对象的特征或某一方面的行为。对象的大多数属性既可以在设计时设置也可以在运行时设计,但也有一些属性是以在设计时设置也可以在运行时设计,但也有一些属性是只读只读的(的(斜体字斜体字)。)。在在“属性属性”窗口中设置对象属性(略)窗口中设置对象属性(略)在事件代码或方法程序中(即编程实现)设置:在事件代码或方法程序中(即编程实现)设置: 引用对象引用对象.属性属性=值

36、值例如:例如:thisform.command1.caption = ”确定确定” 引用对象引用对象 标题属性标题属性 属性内容属性内容5.3.2 处理对象处理对象 若要为同一个对象设置多个属性,可以采用若要为同一个对象设置多个属性,可以采用 with endwith 语句。语句。 例如:例如: with thisform.text1 .value=书山有路勤为径书山有路勤为径 .forecolor=rgb(255,0,0) .fontsize=18 .fontname=隶书隶书 .fontbold=.t. endwith5.3.2 处理对象处理对象3. 调用对象的方法程序调用对象的方法程序

37、方法程序是对象能够执行的一个操作,是和对象相联方法程序是对象能够执行的一个操作,是和对象相联系的过程。调用方法程序的语法如下:系的过程。调用方法程序的语法如下: 引用对象引用对象. 方法程序方法程序例如:例如:thisform.release &关闭表单关闭表单 thisform.text1.setfocus &表单中的文本框获得焦点表单中的文本框获得焦点 5.3.2 处理对象处理对象4. 对事件的响应对事件的响应 当对象的某个当对象的某个事件发生事件发生时,该事件的处理程序代码将时,该事件的处理程序代码将被执行被执行。如果事件没有与之相关联的处理程序,则事件发。如果事件没有与之相关联的处理程

38、序,则事件发生时不会发生任何操作。生时不会发生任何操作。若新建的方法与某个事件若新建的方法与某个事件重名重名,则当该事件发生时,同名,则当该事件发生时,同名方法被执行方法被执行。事件通常时由用户的操作产生的,或由系统激发产生,用事件通常时由用户的操作产生的,或由系统激发产生,用户通常不能通过编程的方式激发事件的产生,但可以在需户通常不能通过编程的方式激发事件的产生,但可以在需要时要时调用任一事件的处理代码调用任一事件的处理代码。 引用对象引用对象. 事件事件5.3.4 事件模型事件模型1. 核心事件核心事件事件事件触发时间触发时间load当表单或表单集被加载时产生当表单或表单集被加载时产生unload当表单或表单集从内存中释放时产生当表单或表单集从内存中释放时产生init创建对象时产生创建对象时产生destroy从内存中释放对象时产生从内存中释放对象时产生click用户在对象上单击鼠标时产生用户在对象上单击鼠标时产生dblclick用户在对象上双击鼠标时产生用户在对象上双击鼠标时产生rightclick用户在对象上单击鼠标右键时产生用户在对象上单击鼠标右键时产生getfocus对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论