第5章程序设计课件

上传人:无*** 文档编号:241660446 上传时间:2024-07-14 格式:PPTX 页数:57 大小:577.45KB
返回 下载 相关 举报
第5章程序设计课件_第1页
第1页 / 共57页
第5章程序设计课件_第2页
第2页 / 共57页
第5章程序设计课件_第3页
第3页 / 共57页
点击查看更多>>
资源描述
第第5章章程序设计基础程序设计基础第第5章章程序设计基础程序设计基础5.1程序设计概述程序设计概述5.2结构化程序设计结构化程序设计5.3面向对象程序设计基础面向对象程序设计基础5.1程序设计概述程序设计概述例例计算计算100以内的奇数和以内的奇数和S=1+3+5+99,100的阶乘的阶乘P=1*2*3*100#DEFINEN100&设置循环终值常量设置循环终值常量s=0&累加器,初始化为累加器,初始化为0*以下循环计算以下循环计算n以内的奇数和以内的奇数和FORi=1toNSTEP2s=s+iENDFOR?N,“以内的奇数和以内的奇数和S=”,S*以下循环计算以下循环计算N的阶乘的阶乘p=1&累乘器,初始化为累乘器,初始化为1FORI=1TONp=p*IENDFOR?N,“的阶乘的阶乘=”,p程序设计程序设计利用系统提供的设计利用系统提供的设计工具工具,按照程序设计语言的,按照程序设计语言的规范规范描述解决问题的描述解决问题的算法算法并进行并进行程序编写程序编写的过程。的过程。5.1.1结构化程序设计结构化程序设计主要思想:主要思想:自顶向下、逐步求精、模块化和限制使用转移语句自顶向下、逐步求精、模块化和限制使用转移语句程序流程:程序流程:顺序、分支、循环顺序、分支、循环开发过程:开发过程:从从“做什么做什么”到到“如何做如何做”优点:优点:系统结构性强、便于设计和理解系统结构性强、便于设计和理解缺点:缺点:维护困难维护困难5.1.2面向对象的程序设计方法(面向对象的程序设计方法(OOP)基本思想:基本思想:客观世界客观世界对象(对象类)的实例对象(对象类)的实例Oop的构成的构成对象对象是数据及作用于这些数据之上的操作结合在一起所构成的是数据及作用于这些数据之上的操作结合在一起所构成的独立实体的总和。独立实体的总和。类类是一组具有相同数据结构和相同操作的对象的描述。是一组具有相同数据结构和相同操作的对象的描述。开发过程:开发过程:从从“用什么做用什么做”到到“要做什么要做什么”表单、对象(表单、对象(“用什么做用什么做”)事件过程(事件过程(“要做什么要做什么”)优点优点简化程序设计,降低开发和维护的费用简化程序设计,降低开发和维护的费用提高程序代码的可重用性提高程序代码的可重用性OOP的三个重要特性的三个重要特性封装性封装性表单属性表单属性继承性继承性类与类之间的继承类与类之间的继承多态性多态性方法传递参数的不同实现不同操作方法传递参数的不同实现不同操作5.2结构化程序设计结构化程序设计5.2.1概述概述一、程序一、程序程序程序是一组完成指定任务的命令序列集合。是一组完成指定任务的命令序列集合。组成组成说明部分、初始化部分、任务执行部分(主体)、环境恢复部说明部分、初始化部分、任务执行部分(主体)、环境恢复部分、程序退出指令构成。分、程序退出指令构成。算法算法即实现程序任务的方法。即实现程序任务的方法。流程图流程图通过指定的图形表达符号描述程序的执行方法和过程。通过指定的图形表达符号描述程序的执行方法和过程。VFP提供了三种工作方式:提供了三种工作方式:菜单方式菜单方式命令方式命令方式程序文件方式程序文件方式对于较为复杂的数据调用和处理过程必须用编对于较为复杂的数据调用和处理过程必须用编程方式,利用预置的程序解决问题。程方式,利用预置的程序解决问题。二、进入程序编辑二、进入程序编辑“新建新建”“程序程序”;项目管理器项目管理器“代码代码”“程序程序”“新建新建”;命令方式:命令方式:Modifycommand此外,通过各种此外,通过各种VFP设计器的代码设计工具也设计器的代码设计工具也可进行程序代码的编制可进行程序代码的编制三、运行和调用程序三、运行和调用程序命令方式:命令方式:DO;在主菜单或项目管理器下,在主菜单或项目管理器下,“程序程序”“运行运行”输入程序文件名输入程序文件名快捷键快捷键四、程序调试四、程序调试当遇到下列情况之一,程序终止运行返回到调用环境:当遇到下列情况之一,程序终止运行返回到调用环境:文件的末尾文件的末尾返回到调用行的下一行;返回到调用行的下一行;RETURN返回到调用行的下一行;返回到调用行的下一行;RETRY返回到调用行,再次调用;返回到调用行,再次调用;中断语句:中断语句:CANCEL中断当前程序的运行,并返回到命令窗口。通常与条件语句配中断当前程序的运行,并返回到命令窗口。通常与条件语句配合使用。合使用。挂起语句:挂起语句:SUSPEND暂停当前程序的执行,并返回到系统命令窗口。暂停当前程序的执行,并返回到系统命令窗口。恢复执行语句:恢复执行语句:RESUME恢复被恢复被SUSPEND挂起的程序,使之从暂停的位置继续执行挂起的程序,使之从暂停的位置继续执行QUIT返回到操作系统(结束程序,退出返回到操作系统(结束程序,退出VFP););“程序程序”“取消取消”五、注释五、注释1程序注释:程序注释:NOTE或或*2语句注释:语句注释:&六、基本输出语句六、基本输出语句1.换行输出语句:?换行输出语句:?分别计算表达式列表的值,并将结果输出在主窗口的分别计算表达式列表的值,并将结果输出在主窗口的当前光标下一行。各表达式以当前光标下一行。各表达式以“,”号分隔。号分隔。2.同行输出语句:?同行输出语句:?分别计算表达式列表的值,并自主窗口当前光标所在分别计算表达式列表的值,并自主窗口当前光标所在行输出结果。各表达式以行输出结果。各表达式以“,”号分隔。号分隔。3.定位输出语句:定位输出语句:SAY在在指定位置输出指定位置输出的值。的值。5.2.2程序结构程序结构分类分类顺序结构顺序结构分支结构分支结构循环结构循环结构过程过程/函数调用函数调用例例1:UsejsAppendblankEditUse一、分支结构一、分支结构单分支单分支IFENDIF双分支双分支IFELSEENDIF多分枝多分枝DOCASECASECASECASEotherwiseENDCASE二、循环结构二、循环结构1条件循环条件循环DOWHILEENDDO当当为为“真真”时,执行时,执行;否则,;否则,结束循环并执行结束循环并执行ENDDO后面的命令后面的命令E.g.DOWHILE.T.ENDDO记录指针由记录指针由EXIT或或LOOP控制。控制。DOWHILE.NOT.EOF()/.NOT.BOF()记录指记录指针由针由SKIP控制。控制。2计数循环计数循环FOR=TOSTEPENDFOR/NEXT当循环变量不大于终值时,循环执行当循环变量不大于终值时,循环执行,并以,并以累计实际循环次数(循环变量累计实际循环次数(循环变量值)。值)。循环变量无需事先定义;初值、终值和步长均循环变量无需事先定义;初值、终值和步长均为数值表达式,可为正、负或小数;步长值缺为数值表达式,可为正、负或小数;步长值缺省为省为1。3指针循环指针循环SCANFORWHILEENDSCAN在指定纪录范围内,用数据记录指针控制循环在指定纪录范围内,用数据记录指针控制循环次数次数(对纪录逐个扫描,直至最后一条纪录,即对纪录逐个扫描,直至最后一条纪录,即EOF()为真为真)。SCAN循环与循环与DOWHILE循环的区别。循环的区别。注意:注意:1.DOWHILE和和ENDDO、FOR和和ENDFOR、SCAN和和ENDSCAN必须配对使用;必须配对使用;2.循环语句可以嵌套;循环语句可以嵌套;3.应是数值型变量;应是数值型变量;4.EXIT(跳出循环)、(跳出循环)、LOOP(回到循环开始(回到循环开始处)可用于循环过程控制处)可用于循环过程控制三、过程与用户自定义函数三、过程与用户自定义函数(一)主程序和子程序(一)主程序和子程序一个完整的程序可能由若干个程序文件构成,把每个程一个完整的程序可能由若干个程序文件构成,把每个程序看成是整个操作的一个环节,也是一个相对独立的部序看成是整个操作的一个环节,也是一个相对独立的部分,并根据调用关系的主次,分为主程序和子程序。分,并根据调用关系的主次,分为主程序和子程序。子程序调用语句子程序调用语句DOwith返回语句返回语句RETURNTOMASTERTOMASTER返回到最高级调用者返回到最高级调用者嵌套的嵌套的DO调用层数为调用层数为128层。层。(二)过程(二)过程是可重复调用具有独立功能的程序段(模块)。是可重复调用具有独立功能的程序段(模块)。可以是程序的一部分,也可以作为独立的程序可以是程序的一部分,也可以作为独立的程序文件。文件。过程可以放在程序中任何位置,但必须在主调过程可以放在程序中任何位置,但必须在主调用程序(语句)之后。用程序(语句)之后。过程必须由过程语句引出,其调用命令与子程过程必须由过程语句引出,其调用命令与子程序相同,只是应以过程名调用。序相同,只是应以过程名调用。过程文件是将多个过程集中在一个程序文件中过程文件是将多个过程集中在一个程序文件中而形成的程序文件,可一次性打开调入多个过而形成的程序文件,可一次性打开调入多个过程,从而提高执行效率。程,从而提高执行效率。建立过程文件与建立程序的方法相同,文件扩建立过程文件与建立程序的方法相同,文件扩展名也是展名也是.prg,但其具有特殊的文件结构。,但其具有特殊的文件结构。过程结构:过程结构:PROCEDUREPARAMETERSRETURNeExpressionENDPROC举例:举例:PROCEDUREgc1PARAMETERSx,yz=x+yRETURNzENDPROC.打开、关闭过程语句打开、关闭过程语句SETPROCEDURETOCLOSEPROCEURE(三)自定义函数(三)自定义函数函数:函数:FUNCTIONPARAMETERSRETURNeExpressionENDFUNC20120423(四)(四)RETURN:返回语句,即返回过程或函数的调用处。返回语句,即返回过程或函数的调用处。(1)语句格式:语句格式:RETURNeExpression(2)语句功能:语句功能:返回表达式的值给调用程序返回表达式的值给调用程序,并将执行目标定位到调用程序中并将执行目标定位到调用程序中调用命令的下一语句调用命令的下一语句用用RETURN语句返回一个值给调用程序;语句返回一个值给调用程序;省略省略RETURN,其缺省的返回值为真(,其缺省的返回值为真(.T.)函数的返回值可以直接打印在活动窗口中,也可函数的返回值可以直接打印在活动窗口中,也可以用一个变量接收下来以用一个变量接收下来举例:举例:P58(五)调用(五)调用:调用过程语句调用过程语句:DO过程名过程名WITH(参数参数)?函数名?函数名(参数参数)语句功能:语句功能:执行以过程名执行以过程名(或函数名或函数名)为名的过程为名的过程(函数函数)。即执行已有。即执行已有的过程或函数。的过程或函数。提示提示:若函数或过程集中保存在某程序文件中若函数或过程集中保存在某程序文件中,则应使用则应使用如下命令来访问如下命令来访问SETPROCEDURETO程序名程序名注意:注意:p59查找顺序查找顺序(2)若是一个若是一个UDF独立的保存为一个程序文件独立的保存为一个程序文件:则可省去由则可省去由PROCEDURE/FUNCTION命令定义命令定义的过程的过程/函数名函数名,该程序文件名即可作为过程该程序文件名即可作为过程(函数函数)名名(3)向过程或函数传递参数向过程或函数传递参数使过程和函数可以接受参数使过程和函数可以接受参数定义时第一个可执行语句必须为定义时第一个可执行语句必须为PARAMETERS语句语句最多可传递最多可传递27个参数个参数调用时使用参数调用时使用参数例例:DOMyudfWITH.?Myudf(.)示例示例S=0Fori=1to5s=s+fjc(i)Endfor?sFuncfjcParaxP=1Forn=1toxP=p*xEndforRetupendfunc过程和函数可以接受参数:常量、变量、数组、过程和函数可以接受参数:常量、变量、数组、表达式等表达式等参数传递的两种方式参数传递的两种方式按引用传递方式(过程默认方式)按引用传递方式(过程默认方式)将地址传送给将地址传送给UDFSETUDFPARMSTOREFERENCE按值传递方式(函数默认方式)按值传递方式(函数默认方式)将值直接传送给将值直接传送给UDFSETUDFPARMSTOVALUE例子例子:p60强制设定强制设定以值传递方式以值传递方式或或引用传递方式引用传递方式用用括号括起括号括起一个变量,则设定按值传递;在一一个变量,则设定按值传递;在一个个变量前加变量前加符号符号,可以设定以引用传递方式传,可以设定以引用传递方式传递递默认情况下,变量以引用传递方式向过程传递,默认情况下,变量以引用传递方式向过程传递,以值传递方式向一个以值传递方式向一个UDF传递传递prg1(star)Do gc1?gc2()Do gc1(end)gc1(过程)gc2(函数)保存在主程序之后集中保存在一个程序里(prg2)过程文件gc1gc2gc3独立保存在一个程序里gc1(过程)gc2(函数)gc3(函数)过程是为完成某个操作过程而编写的代码,过程是为完成某个操作过程而编写的代码,函数则用来计算并返回一个值。在函数则用来计算并返回一个值。在VFP中,这中,这二者区别并不大。二者区别并不大。5.3面向对象的程序设计方法面向对象的程序设计方法结构化程序设计方法结构化程序设计方法本质:功能设计,自顶而下,功能分解,本质:功能设计,自顶而下,功能分解,从外部功能上模拟客观世界从外部功能上模拟客观世界优点:结构清晰,便于设计和理解优点:结构清晰,便于设计和理解过程:做什么过程:做什么如何做如何做例:如何完成装修房屋的工作?例:如何完成装修房屋的工作?电电买电线、开关买电线、开关完成布线完成布线水水买水管、洁具、瓷砖买水管、洁具、瓷砖安装水管、铺瓷安装水管、铺瓷砖、安装洁具砖、安装洁具木木买木材买木材做家具做家具买地板买地板铺地板铺地板漆漆买油漆买油漆漆家具、漆地板漆家具、漆地板每一个工序,都必须了解细节,比如买什么样的材料,做每一个工序,都必须了解细节,比如买什么样的材料,做家具时,要把板子做成多大,哪一块木板和哪一块木板要家具时,要把板子做成多大,哪一块木板和哪一块木板要钉再一起,结果房主变成了各工种的全才。钉再一起,结果房主变成了各工种的全才。程序员:按顺序做所有的事程序员:按顺序做所有的事面向对象的程序设计面向对象的程序设计本本质质:类类和和对对象象的的综综合合,自自底底向向上上,从从内内部部结构上模拟客观世界结构上模拟客观世界优优点点:简简化化程程序序设设计计,提提高高程程序序代代码码的的重重用用性性过程:用什么做过程:用什么做要做什么要做什么(类、对象)(类、对象)(具体去解决某一个任务)(具体去解决某一个任务)例:如何完成装修房屋的工作?例:如何完成装修房屋的工作?用什么做?用什么做?电工、水工、瓦匠、木工、漆匠(类)电工、水工、瓦匠、木工、漆匠(类)需要需要找到某个电工、水工、瓦匠、木工、漆匠(对象)找到某个电工、水工、瓦匠、木工、漆匠(对象)要做什么?要做什么?用户自己决定,要达到什么效果用户自己决定,要达到什么效果只只要要从从类类中中生生成成对对象象,告告诉诉对对象象要要做做的的事事,房房主主不不必必操操心心各各工工种种的的顺顺序序,由由各各对对象象自自己己去去协协调调;不不必必关关心心细细节节,使使用用什什么么牌牌子子的的洁洁具具、什什么么品品种种的油漆。的油漆。程序员:使用定义好的类,达到什么效果,程序员:使用定义好的类,达到什么效果,不用管发生了什么事,如何处理!不用管发生了什么事,如何处理!5.3.1类和对象类和对象一、类一、类(CLASS)1.概念概念定义了对象特征以及对象外观和行为的定义了对象特征以及对象外观和行为的模板模板,刻划,刻划了一组具有共同特性的对象。了一组具有共同特性的对象。对象对象(OBJECT):是类的一个:是类的一个实例实例,包括了数据和过,包括了数据和过程(操作)程(操作)比较:比较:类是类是静态静态的概念,对象是的概念,对象是动态动态的概念的概念类是类是抽象抽象的,具有固定的特征;的,具有固定的特征;对象是对象是具体具体的,不同的对象具有不同的特征和行为的,不同的对象具有不同的特征和行为2.类的分类类的分类P151最小属性集最小属性集1)控控件件:是是一一个个可可以以以以图图形形化化的的方方式式显显示示出出来来并并能能与与用户进行交互的对象。用户进行交互的对象。2)容容器器:可可看看成成是是一一种种特特殊殊的的控控件件,它它能能包包容容其其他他的的控件或容器。控件或容器。3)层次:层次:对象对象的层次关系指的是包容与被包容的关系。的层次关系指的是包容与被包容的关系。类类的层次关系指的是继承与被继承的关系的层次关系指的是继承与被继承的关系3.类的特点类的特点继承性继承性多态性多态性封装性封装性二、对象二、对象1、概述、概述对象是面向对象式系统中运行时刻的基本成份,它是对象是面向对象式系统中运行时刻的基本成份,它是属性与行为(即数据与操作)以及与其他对象的接口属性与行为(即数据与操作)以及与其他对象的接口的封装体。的封装体。每个对象都有属性,以及与之相关的事件和方法,通每个对象都有属性,以及与之相关的事件和方法,通过它们来处理对象。过它们来处理对象。可以新建属性和方法。可以新建属性和方法。事件集固定的,不能新建事件。事件集固定的,不能新建事件。P1512.对象的属性对象的属性概念概念对象的对象的特征特征及某一方面的及某一方面的行为(状态)行为(状态)汽车汽车颜色、载重颜色、载重停、行状态停、行状态电话电话颜色、大小颜色、大小拿起、挂上状态拿起、挂上状态来源:来源:所基于的类的属性、定义的所基于的类的属性、定义的新属性新属性设置:设置:设计阶段(属性窗口)设计阶段(属性窗口)运行阶段(代码运行阶段(代码对象对象.属性属性=值)值)有些属性不能进行设置,仅是只读(表单集的表单数)有些属性不能进行设置,仅是只读(表单集的表单数)3.设置对象属性设置对象属性方法:方法:P154属性窗口(设计)属性窗口(设计)例如:表单的背景色例如:表单的背景色代码中(运行)代码中(运行)单个属性单个属性对象对象.属性属性=值值doformform1withhello,400,200一个对象的多个属性一个对象的多个属性WITH对象名对象名.属性名属性名1=值值1.属性名属性名2=值值2ENDWITH有些属性在设计时是只读的,只能在代码中修改有些属性在设计时是只读的,只能在代码中修改4.对象的事件对象的事件P155P157概念概念对对象象可可以以识识别别和和响响应应的的动动作作,可可以以编编写写代代码码对对动动作作进进行行响应。基类最小事件集、核心事件集响应。基类最小事件集、核心事件集来源:来源:事先定义好的动作(事件集合固定),事先定义好的动作(事件集合固定),不能创建新事件。不能创建新事件。产生:产生:外界对本对象施加动作。外界对本对象施加动作。用户动作用户动作例:电话例:电话提话筒,放话筒提话筒,放话筒程序代码程序代码或或系统系统顺序顺序:5.对象的方法对象的方法概念:概念:是对象能够执行的一个操作,是和对象相联系的过程(函数)。是对象能够执行的一个操作,是和对象相联系的过程(函数)。来源:来源:系统定义、系统定义、用户新建。用户新建。当方法名为事件名时当方法名为事件名时,认为是事件处理程序认为是事件处理程序!常用方法常用方法clear、hide、refresh、release调用:调用:一一旦旦创创建建了了对对象象,便便可可以以通通过过对对对对象象属属性性的的修修改改,方方法法程程序序的的调调用用处理对象。处理对象。格式:格式:引用对象引用对象.方法程序方法程序引用对象引用对象P153绝对引用:绝对引用:最高层次开始的绝对地址最高层次开始的绝对地址表单集对象名表单集对象名.表单名表单名abc.form1相对引用:相对于某个容器层次的引用相对引用:相对于某个容器层次的引用在某个对象的方法程序中在某个对象的方法程序中关键字:关键字:THIS、THISFORM、THISFORMSET、PARENTACTIVEFORM、ACTIVEPAGE、ACTIVECONTROL_SCREEN引用(代表主屏对象)引用(代表主屏对象)例:不知道表单名的情况下,处理表单及表单中活动的控件。例:不知道表单名的情况下,处理表单及表单中活动的控件。_SCREEN.ACTIVEFORM_SCREEN.ACTIVEFORM.ACTIVECONTROL属性或关键字引用属性或关键字引用引引用用ActivePage当前活动表中的活动页当前活动表中的活动页Parent当前对象的直接容器当前对象的直接容器This当前对象当前对象ThisForm包含当前对象的表单包含当前对象的表单ThisFormset包含当前对象的表单集包含当前对象的表单集如果对象已经创建,可在任何地方调用如果对象已经创建,可在任何地方调用引用对象引用对象.方法程序方法程序(参数参数1,参数参数2)例:例:thisform.move(100,100,400,200)无无参参数数情情况况可可以以省省略略括括号号,即即引引用用对对象象.方方法法程程序序例例:thisform.showthisform.text1.setfocus有返回值情况必须以括号结尾有返回值情况必须以括号结尾例例:为为表表单单添添加加了了一一个个方方法法SDATE(),内内容容返返回回当当前前的的日日期期,以以yyyy年年mm月月nn日日的的形形式式thisform.sdate()三、三、对象对事件的响应对象对事件的响应1、响应方式:、响应方式:事件发生事件发生事件处理程序执行(与事件相关的方法)事件处理程序执行(与事件相关的方法)2、事件的产生:、事件的产生:外界对本对象施加动作外界对本对象施加动作用户动作用户动作例:电话例:电话提话筒,放话筒提话筒,放话筒程序代码程序代码或或系统系统(mouse,error,keyboard命命令令分分别别产产生生鼠鼠标标的的相相关关事事件件、ERROR事件、事件、keypress事件)事件)3、注意事项、注意事项P1555.3.2容器层次与类层次中的事件容器层次与类层次中的事件一、容器层次的事件处理原则:一、容器层次的事件处理原则:容容器器不不处处理理与与所所包包含含的的控控件件相相关关联联的的事事件件,最最里里层的对象识别事件层的对象识别事件.例外:例外:选选项项按按扭扭组组、命命令令按按扭扭组组作作为为容容器器,在在选选项项按按扭扭、命命令令按按扭扭中中无无事事件件处处理理程程序序时时,识识别别子子对对象象事事件件,参参与与对象的处理。对象的处理。例如例如:在图所示的表单中有一个命令按钮,表单设置了在图所示的表单中有一个命令按钮,表单设置了Click事件和事件和DblClick事件的处理代码;命令按钮仅设置了事件的处理代码;命令按钮仅设置了Click事件的处理代码,那么当用户单击命令按钮时,不会事件的处理代码,那么当用户单击命令按钮时,不会触发表单的触发表单的Click事件事件 对于表格控件来说,表格包含列控件,列控件又包含标头和文对于表格控件来说,表格包含列控件,列控件又包含标头和文本框控件。当事件发生时,只有与事件相关联的最里层对象识别本框控件。当事件发生时,只有与事件相关联的最里层对象识别该事件,更高层的容器不识别该事件,如图所示该事件,更高层的容器不识别该事件,如图所示例外:例外:对于选项按钮组与命令按钮组来说,组中个别按钮如对于选项按钮组与命令按钮组来说,组中个别按钮如果没有编写事件处理代码,则当事件发生时将执行组事件的果没有编写事件处理代码,则当事件发生时将执行组事件的处理代码。例如,在如图所示的表单中有一个选项按钮组处理代码。例如,在如图所示的表单中有一个选项按钮组(设置(设置Click事件处理代码),该选项按钮组中有二个选项按事件处理代码),该选项按钮组中有二个选项按钮(选项按钮钮(选项按钮Option1有有Click事件处理代码而选项按钮事件处理代码而选项按钮Option2无无Click事件处理代码),则当用户单击事件处理代码),则当用户单击Option1时执时执行与之相关联的事件代码,不执行按钮组的行与之相关联的事件代码,不执行按钮组的Click事件处理代事件处理代码,但当用户单击码,但当用户单击Option2时执行按钮组的时执行按钮组的Click事件处理代码。事件处理代码。例外:选项按钮组与命令按钮组例外:选项按钮组与命令按钮组二、类层次的事件处理原则二、类层次的事件处理原则查找事件处理程序的顺序查找事件处理程序的顺序:对象对象类类父类父类基类基类一旦找到相应的处理程序即执行,并停止继续向上一旦找到相应的处理程序即执行,并停止继续向上查找查找例:组合框例:组合框即使不对组合框对象的任何事件编写事件处理程序,在即使不对组合框对象的任何事件编写事件处理程序,在下拉列表中的选择也会显示到组合框中,因为组合框基下拉列表中的选择也会显示到组合框中,因为组合框基类中有此类动作的处理程序类中有此类动作的处理程序三、事件序列的处理规则三、事件序列的处理规则当连续发生一系列事件时,当连续发生一系列事件时,整个事件队整个事件队列属于起始控件列属于起始控件例:开始于某个命令按钮的鼠标单击、拖动、例:开始于某个命令按钮的鼠标单击、拖动、释放的事件序列释放的事件序列四、事件驱动和事件循环四、事件驱动和事件循环事件驱动:事件驱动:面向对象程序设计中,非顺序的,面向对象程序设计中,非顺序的,代码的执行由事件引起代码的执行由事件引起编程重点:编程重点:发生了事情,如何处理发生了事情,如何处理事件循环事件循环:从什么时候开始等待事情发生、到:从什么时候开始等待事情发生、到什么时候停止等待什么时候停止等待ReadEvents建立循环建立循环(主表单或主程序中)(主表单或主程序中)ClearEvents终止循环终止循环(某个按扭、菜单项)(某个按扭、菜单项)在执行建立循环的命令之前,建立退出循环机在执行建立循环的命令之前,建立退出循环机制,否则死循环(按制,否则死循环(按ESC退出)退出)9、春去春又回,新桃春去春又回,新桃换旧符。在那桃花盛开的地方,在旧符。在那桃花盛开的地方,在这醉人芬芳的季醉人芬芳的季节,愿你生活像春天一,愿你生活像春天一样阳光,心情像桃花一阳光,心情像桃花一样美美丽,日子像桃子一,日子像桃子一样甜蜜甜蜜。7月月-247月月-24Sunday,July14,202410、人的志向通常和他们的能力成正比例人的志向通常和他们的能力成正比例。00:26:4100:26:4100:267/14/202412:26:41AM11、夫学须志也,才须学也,非学无以广才,非志无以成学夫学须志也,才须学也,非学无以广才,非志无以成学。7月月-2400:26:4100:26Jul-2414-Jul-2412、越是无能的人,越喜欢挑剔别人的错儿。、越是无能的人,越喜欢挑剔别人的错儿。00:26:4100:26:4100:26Sunday,July14,202413、志不立,天下无可成之事志不立,天下无可成之事。7月月-247月月-2400:26:4100:26:41July14,202414、ThankyouverymuchfortakingmewithyouonthatsplendidoutingtoLondon.ItwasthefirsttimethatIhadseentheToweroranyoftheotherfamoussights.IfIdgonealone,Icouldnthaveseennearlyasmuch,becauseIwouldnthaveknownmywayabout.。14七月七月202412:26:41上午上午00:26:417月月-2415、会当凌会当凌绝顶,一,一览众山小众山小。七月七月2412:26上午上午7月月-2400:26July14,202416、如果一个人不知道他要驶向哪头,那么任何风都不是顺风如果一个人不知道他要驶向哪头,那么任何风都不是顺风。2024/7/140:26:4100:26:4114July202417、一个人如果不到最高峰,他就没有片刻的安宁,他也就不会感到生命的恬静和光荣一个人如果不到最高峰,他就没有片刻的安宁,他也就不会感到生命的恬静和光荣。12:26:41上午上午12:26上午上午00:26:417月月-24谢谢观看THE END
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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