6.VF程序设计3.ppt
文本预览下载声明
③局部变量 局部变量是Visual FoxPro新增的变量种类,但与私有变量非常相似,私有变量的使用范围是程序本身及下层的子程序,而局部变量的使用的范围则只限于定义变量的程序本身。 定义局部变量: LOCAL 变量列表 教材P78 没有赋值,变量初值为.F. 假设一局部变量在“子程序SUB1”中自定义时,则只有“子程序SUB1”可以使用此局部变量,主程序和其它子程序(SUB2、SUB1A、SUB1B、SUB2A、SUB2B)都无法使用该局部变量。 变量的屏蔽 为了避免在不同层次的模块中因为使用相同名字的变量而相互影响值的变化,可在子模块中使用private、local、parameters命令屏蔽掉主模块或上级模块中同名的变量,使得这些变量在子模块中暂时无效。只要返回主模块或上级模块,原来同名变量会重新出现,并且其值保持不变。 EXM2:设计如图所示表单,文本框text1、text2、text3的初值为0,运行表单后,在文本框text1、text2、text3中分别输入数值2、3、4,单击“command1”按钮,文本框text4~12中分别会显示什么? Command1的click事件代码: a=thisform.text1.value b=thisform.text2.value c=thisform.text3.value thisform.sub1() thisform.text10.value=a thisform.text11.value=b thisform.text12.value=c retu 自定义方法程序sub1: private b,c a=20 b=30 c=40 thisform.sub2() thisform.text7.value=a thisform.text8.value=b thisform.text9.value=c retu 自定义方法程序sub2: private a a=100 b=2*a thisform.text4.value=a thisform.text5.value=b thisform.text6.value=c retu 100 200 40 20 200 40 20 3 4 EXM3:设计如图所示表单,运行表单后,在文本框text1和text2中都输入数值1,单击“command1”按钮,文本框text3~6中分别会显示什么? Form1的load事件代码:public a,b Command1的click事件代码: a=thisform.text1.value b=thisform.text2.value thisform.test1() thisform.text5.value=a thisform.text6.value=b return 自定义方法程序test1: private a a=2 local b thisform.test2() thisform.text3.value=a thisform.text4.value=b b=5 return 自定义方法程序test2: a=建国 b=60年大庆 return 建国 F 1 60年大庆 程序设计初步(3) 要点: 1、建立模块化程序设计的观念 2、掌握自定义方法的使用 3、掌握变量的作用域 4、了解过程、自定义函数 程序设计的三种基本结构: 顺序结构 分支结构 循环结构 一、程序设计为什么要引入模块化 模块化设计思想 【例1】设计如图所示表单,计算组合数C(m,n)。其中,m和n是正整数,且mn。 “计算”命令按钮的CLICK事件代码如下: M=thisform.text1.value N=thisform.text2.value p1=1 for i=1 to m p1=p1*i endfor p2=1 for i=1 to n p2=p2*i endfor p3=1 for i=1 to m-n p3=p3*i endfor result=p1/(p2*p3) Thisform.text3.value=result return 数据输入 求m! 求n! 求(m-n)! 将求阶乘的问题写成一个共有的代码,代码如下: *自定义方法JC parameters x y=1 for i=1
显示全部