自定义属性与方法.ppt
《自定义属性与方法.ppt》由会员分享,可在线阅读,更多相关《自定义属性与方法.ppt(33页珍藏版)》请在三一办公上搜索。
1、,第 8 章,自定义属性与方法,8.1 自定义属性,8.2 自定义方法,如果说内存变量是个自由数据元素,那么属性就是与某对象相联系的数据元素。自定义属性就是依附到表单上的内存变量,在表单存在时期内,可以象“全局变量”一样使用。由于属性的使用需要严格的引用格式(对象.属性),使得属性使用起来在某种程度上比传统的xBASE变量作用域(全局、局部、私有)更加安全。在某些场合,可以使用“属性”来代替使用“变量”。而方法则是VFP中的一个新式的程序组装方式限制在一个对象中的子程序。,第8章 自定义属性与方法,过程间的数据传递除参数传递,还有一种是按变量的作用域传递数据。全局变量:PUBLIC 定义变量以
2、后,在任何过程中都可使用的变量。私有变量:PRIVATE 未加任何变量类型说明,直接赋值使用的内存变量,本过程其被调用的下层过程中有效。本过程运行结束,变量无效。区域变量:LOCAL 区域变量只能在建立它的过程中使用,不能在上层及下层过程中使用。例题:内存变量作用域例题.prg大小写转换.scx变量作用域.scx,变量作用域,VFP允许用户像定义变量一样自定义各种类型的属性。自定义属性只能依附于表单对象 对于由控件创建的对象,无法增加新的属性。8.1.1 添加自定义属性 例如:在表单中添加一个自定义的属性Sec 在表单设计器,单击“表单”项,选择“新建属性”,打开新建属性对话框。在“名称(Na
3、me)”栏中填入自定义属性的名称Sec,然后在“说明”栏中填入该属性的简单说明:单击“添加”按钮后再单击“关闭”按钮,退出“新建属性”对话框。此时,在属性窗口的“其他”选项卡中可以看见新建的属性及其说明,新定义属性的类型为逻辑型,值为:.F.,我们可以将它改为其他类型,如数值型值:0,8.1 自定义属性,教学进程,【例8-1】设计一个计时器,能够设置倒计时的时间,并进行倒计时。设计步骤如下:,(1)添加自定义属性。(2)建立应用程序用户界面与设置属性。,8.1 自定义属性,添加自定义属性,(3)编写代码。编写微调器Spinner1的InteractiveChange事件代码:THISFORM.
4、sec=THIS.Value*60&给属性SEC赋初始秒数a1=THIS.Valuea2=IIF(a1%60 10,“0”+STR(a1%60,1),STR(a1%60,2)&分钟a3=STR(INT(a1/60),1)&小时,教学进程,THISFORM.Text1.Value=0+a3+:+a2+:00IF a1 0 THISFORM.Command1.Enabled=.T.ELSE THISFORM.Command1.Enabled=.F.ENDIF 编写命令按钮Command1的Click事件代码:THISFORM.Timer1.Enabled=.T.THISFORM.Spinner1.
5、Enabled=.F.THIS.Enabled=.F.编写计时器Timer1的Timer事件代码:THISFORM.sec=THISFORM.sec1a0=THISFORM.sec&秒数IF a0=0 a1=INT(a0/60)&分钟数 a2=INT(a1/60)&小时数,教学进程,b0=IIF(a0%60 10,0+STR(a0%60,1),STR(a0%60,2)b1=IIF(a1%60 10,0+STR(a1%60,1),STR(a1%60,2)b2=IIF(a2%60 10,0+STR(a2%60,1),STR(a2%60,2)THISFORM.Text1.Value=ALLT(b2+
6、:+b1+:+b0)THISFORM.Spinner1.Value=a1ELSE THIS.Enabled=.F.THISFORM.Spinner1.Enabled=.T.ENDIF 运行程序,设置时间后按“开始”按钮,即开始倒计时,时间到时将弹出对话框。,图8-3 倒计时器,教学进程,数组属性,【例8-2】在例7-3(P124)中使用数组属性来存放方阵的元素。求出主对角线上元素之和以及方阵的最大元素。设计步骤如下:(1)添加自定义属性。A(5,5)(2)建立应用程序用户界面与设置属性。,(3)修改代码。清除表单的Load、UnLoad事件代码,并修改表单的Activate事件代码:FOR i
7、=1 TO 25 yes=1 DO WHILE yes=1 x=INT(RAND()*100)yes=0 FOR j=1 TO i 1,教学进程,IF x=VAL(THIS.a(j)yes=1&如与前面的元素相同,则返回到Do循环 EXIT ENDIF ENDFOR ENDDO THIS.a(i)=STR(x,3)ENDFORTHISFORM.Text1.Value=THISFORM.Text2.Value=修改“计算”按钮Command1的Click事件代码:s=0FOR I=1 TO 5 s=s+VAL(THISFORM.a(i,i)ENDFORTHISFORM.Text1.Value=s
8、,教学进程,修改“计算”按钮Command1的Click事件代码:s=0FOR I=1 TO 5 s=s+VAL(THISFORM.a(i,i)ENDFORTHISFORM.Text1.Value=smax=0FOR I=1 TO 5 FOR j=1 TO 5 IF max VAL(THISFORM.a(i,j)max=VAL(THISFORM.a(i,j)p=i q=j ENDIF ENDFORENDFORTHISFORM.Text2.Value=A(+STR(p,1)+,+STR(q,1)+)=+STR(max,3)Command2的Click事件代码不变。,教学进程,【例8-3】使用微调
9、器控制色彩,还可以返回色彩的RGB值 设计步骤如下:(1)添加自定义属性,SPI(3),存放微调器对象。(2)建立应用程序用户界面。选择新建表单,进入表单设计器,首先增加一个命令按钮Command1、一个形状控件Shape1和一个容器控件Container1,并在Shape1上覆盖一个标签控件Label1。然后用鼠标右键单击容器控件,在弹出的快捷菜单中选择“编辑”,进入容器控件的编辑状态(四周出现浅绿色边界)。在容器中增加两个文本框Text1、Text2和三个微调器Spinner1、Spinner2、Spinner3(如图7-7所示)。,图7-6 调色盘,图7-7 设计表单界面,教学进程,(3
10、)设置对象属性。(4)编写程序代码。编写表单的Init事件代码,建立属性数组对对象变量的引用:编写Spanner1的InteractiveChange事件代码:r=THISFORM.spi(1).Valueg=THISFORM.spi(2).Valueb=THISFORM.spi(3).ValueTHIS.Parent.Text2.BackColor=RGB(r,g,b)THIS.Parent.Text1.Value=;Color=RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+),教学进程,编写Spanner2的InteractiveChange事件代码:r=THIS
11、FORM.spi(1).Valueg=THISFORM.spi(2).Valueb=THISFORM.spi(3).ValueTHIS.Parent.Text2.BackColor=RGB(r,g,b)THIS.Parent.Text1.Value=;Color=RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+)“编写Spanner3的InteractiveChange事件代码:r=THISFORM.spi(1).Valueg=THISFORM.spi(2).Valueb=THISFORM.spi(3).ValueTHIS.Parent.Text2.BackColor=
12、RGB(r,g,b)THIS.Parent.Text1.Value=;Color=RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+),8.2.1 自定义方法的概念1.子程序将重复使用的程序设计成能够完成一定功能的、可供其他程序使用(调用)的独立程序段。这种程序段称为子程序,它独立存在,但可以被多次调用,调用的程序称为主程序。子程序的输入输出,应根据实际情况灵活掌握,一般表现为主程序与子程序间的数据传递。,8.2.1 自定义方法的概念,2.过程、函数与方法,2.过程、函数与方法VFP子程序的结构分为过程、函数与方法三类。过程与函数的区别在于:函数(RETURN语句)返回一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自定义 属性 方法

链接地址:https://www.31ppt.com/p-6019635.html