1、等级考试复习,Visual FoxPro程序设计,结构化程序设计的3种基本结构:,1. 顺序结构:算法的每一个操作是按从上到下的线性顺序执行的。 2. 分支结构:根据给定的条件选择执行多个分支中的一个分支。 3. 循环结构:根据给定条件,判断是否重复执行某一组操作。,建立程序及顺序结构命令,程序文件的建立、编辑、运行: Modify command / Do 非结构化输入输出命令: input / accept / wait ? / ? 格式化输入输出命令: SAY SAY GET READ TEXTENDTEXT,直接命令程序,Store 10 to R C=“2*R“ ?C ? &C ?2
2、*r,Set talk off Use 学生 Sum for 性别=“男“ to x ?x,Set talk on Use 学生 Sum for 性别=“男“,Set talk off Use 学生 Select * from 学生 where 性别=“男“ count to x ?x,单分支选择语句 IF ENDIF 双分支选择语句 IF ELSEENDIF,分支结构命令,多分支选择语句DO CASECASE CASE CASE OTHERWISEENDCASE,use 学生 input “请输入记录号:“ to x go x if 性别=“男“ ?“这是一个男同学“ endif if 性别
3、=“女“ ?“这是一个女同学“ endif display return,use 学生 input “请输入记录号:“ to x go x if 性别=“男“ ?“这是一个男同学“ else ?“这是一个女同学“ endif display return,use 学生 input “请输入记录号:“ to x go x do case case 性别=“男“ ?“这是一个男同学“ case 性别=“女“ ?“这是一个女同学“ endcase display return,DO WHILE (循环体)LOOPEXIT ENDDO,DO WHILE循环语句,Store 0 to n1,n2 Use
4、 学生 Do while .not.eof()if 性别=男n1=n1+1elsen2=n2+1endifskip Enddo ?”共有”,n1,”个男生”,n2,”个女生”,FOR = TO STEP(循环体)LOOPEXITENDFOR | NEXT,FOR循环语句,编写程序求: S=0 FOR N=1 TO 100 STEP 1S=S+N ENDFOR ? “S=1+2+3+100=“,S,SCAN范围FOR 命令序列 LOOP EXITENDSCAN,SCAN循环语句,Store 0 to n1,n2 Use 学生 scanif 性别=男n1=n1+1elsen2=n2+1endif
5、endscan ?”共有”,n1,”个男生” ?n2,”个女生”,一些SET命令,Set talk on /off 是否显示命令结果 ( average,sum等) Set exact on/off 是否进行精确查询 Set heading on/off 是否显示文件列标题 Set deleted on/off 是否可以处理打了删除标记的记录 Set Filter to 指定访问当前表中记录时必须满足的条件,多模块程序设计,什么意思? 多程序运行,可以自成体系,也可以被其它程序调用。 子程序 子程序调用: do 子程序结束语句:RETURN TO MASTER 含参数子程序的调用 DO WIT
6、H 子程序的第一个语句必须是参数接收语句: PARAMETERS 自定义函数含参子程序的另一种调用方式 FUNCTION PARAMETERS RETURN ,多模块程序设计,过程和过程文件 过程 PROCEDURE PARAMETERS RETURN 过程文件 (1)过程文件的打开 SET PROCEDURE TO (2)过程文件的关闭 CLOSE PROCEDURE 或SET PROCEDURE TO,变量的作用域与参数传递,变量的作用域 变量的作用域是指变量在各程序模块间产生作用的有效范围。 全局变量 全局变量又称公共变量,指在任何模块中都可以使用的变量。全局变量要定义后再使用。【格式】PUBLIC 私有变量 私有变量的作用域是创建它的模块以及下属的各层模块【格式】PRIVATE 局部变量 局部变量只能在定义它的模块中使用,不能在上层或下层模块中使用。【格式】LOCAL ,表单与程序设计,表单是VF提供的用于建立应用程序界面的最主要工具 不仅支持过程化程序设计 而且全面引入了面向对象的程序设计 几个常用对象的引用方式: 为表单上的属性赋值: ThisForm.Command1.Caption=“结束“ 关闭表单:ThisForm.Release 刷新表单:ThisForm.Refresh 表单控件数据调用: Alltrim()函数等,