nullnull§4.6 VFP程序设计概述null一.程序的建立与执行
程序文件的建立与执行
(1)鼠标操作
在“项目管理器”的“代码”选项卡中选择“程序”,然 后单击“确定”,建立后程序的扩展名为 .prg
(2)命令方式
modify command
执行程序
(1)在“项目管理器”中选中程序,单击“执行”
(2)在“程序”菜单中选择“运行”
(3)命令方式
DO <程序文件名> WITH <参数>null 3. VFP的程序采用三种逻辑结构
顺序结构
条件分支结构
循环结构
null二. 条件分支
IF…ELSE…ENDIF
(1).语句结构
IF <逻辑表达式>
<语句块1>
[ ELSE
<语句块2> ]
ENDIF(2)执行过程
检测“逻辑表达式”的值,若为“.T.” ,则执行“语句块1”,否则执行“语句块2”。逻辑表达式语句块1语句块2YNnull(3)例if:在student 表中查找王姓记录,若有则显示,否则显 示“没有相匹配的记录”。
use student
locate for student.st_name="王"
if found()
display
else
?"没有相匹配的记录"
endifnull2. DO CASE…ENDCASE
(1).语句结构
DO CASE
CASE <条件表达式1>
<语句块1>
……
CASE <条件表达式n>
<语句块n>
[ OTHERWISE
<语句块n+1> ]
ENDCASEDO CASE…ENDCASE语句
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图null(2)执行过程
执行语句时,系统依次检查各个条件值是否为“.T.” ,当
遇到某个条件成立时,就执行其后的语句块,执行完后,
直接转去执行ENDCASE后的语句。对其余条件不予检查。
如果没有一个条件表达式为“.T.” ,则转去执行OTHERWISE
后的语句块,然后执行ENDCASE后的语句。
null(3)例case:输出score表中的第一条记录的成绩划分。在60—70之间为及格,70—90为良好,90—100为优秀,其它情况不及格。USE SCORE
DO CASE
CASE SC_SCORE>=60 AND SC_SCORE<70
?"成绩及格"
case SC_SCORE>=70 and SC_SCORE<90
?"成绩良好"
case SC_SCORE>=90
?"成绩优秀"
otherwise
?"成绩不及格"
endcasenull三. 循环结构
1. 扫描循环语句SCAN…ENDSCAN
(1)语句结构
scan [<范围>] [for / while <条件表达式>]
<语句块1>
[loop] / [exit]
<语句块2>
endscan scan—endscan语句
流程图
破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word
(2)执行过程在当前工作区已打开的数据库中指定范围内,将满足条件的记录依次执行循环体中所包含的<语句块>null(3)要点说明loop语句是一种特殊的循环终止语句。其功能是执行该语句时将终止本次循环的执行,使 loop 后面的语句在这一次循环时不被执行,而直接进入到下一次循环中。(此语句是可选项)
exit语句是跳出循环语句。其功能是执行该语句时跳出循环体,转去执行 enddo 后面的语句,而不再考虑循环条件。(此语句是可选项)
null(4)例scan:在student表中,对每个计算机系学生,显示其班级、学号、姓名,并且年龄加1。
use student
scan for st_dpt="计算机系"
?st_class,st_no,st_name
replace st_age with st_age+1
endscan
null2.FOR…ENDFOR语句
(1)语句结构for <循环变量>=<初值> to <终值> [step<步长>]
<循环体>
endfor(2)语句功能
该语句在循环变量的控制下,反复执行for 和 endfor 之间的循环体。仅当循环变量值超过终值 (步长为正) 或循环变量值小于终值 (步长为负) 时,才跳出循环,执行endfor 后面的语句。FOR…ENDFOR语句流程图null(3)要点说明
此语句一般用于事先知道循环次数的情况(4)例for:将student表中计算机系学生名单显示5遍。use student
for i=1 to 5 step 1
list fields st_class,st_name,st_sex for st_dpt="计算机系"
endfornull3. DO WHILE…ENDDO
(1)语句结构 do while <条件表达式>
<循环体>
enddo(2)语句功能
反复判断<条件表达式>的值,如果其逻辑值为真,则 反复执行do while 与enddo之间的语句块,直到<条件表达式>的值为假时结束。DO WHILE…ENDDO语句流程图null(3)要点说明
如果需要事先设定循环结束的条件,可用此循环语句。(4)例while1:逐个测试score表中的记录,当记录中的sc_score字段的值在60分以上时显示学生的学号、课程号、成绩。
例while2:输出score表中的每一条记录的成绩划分。在60—70之间为及格,70—90为良好,90—100为优秀,其它情况不及格。
4.循环语句综合举例4.循环语句综合举例例multi1 : 在student表中,统计计算机系学生数。clear
use student
t=0
scan for st_dpt="计算机系"
disp
t=t+1
endscan
?"计算机系学生共"+str(t,6)+"人"null例multi2 :某厂1980年的产值为100万元,
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
年增长率为5%,计算并显示1985、1990、1995、2000年的年产值。clear
set talk off
v=100
r=0.05
?"1980年产值: 100.00万"
for i=1981 to 2000
v=v*(1+r)
if i/5=int(i/5)
?str(i,4)+"年产值:",v,"万"
endif
endfor
return5.循环语句
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
5.循环语句总结do while 最常用,可用于多种常用场合。
for 语句多用于数值运算及循环次数预先确定的场合
scan语句专为数据库操作设计(1)三条语句的比较(2)使用循环语句的要点必须有操作来驱动循环的推进。如For语句里循环变量的自加(i=i+1),do while里的skip语句
循环必须设定终结条件,以使循环停止下来。返回目录null循环体ENDDO后面的语句条件表达式为真?DO WHILENY返回 DO WHILE…ENDDO循环null
for语句循环变量赋初值在范围内?循环体for循环后的语句循环变量+1NY返回FOR…ENDFOR语句流程图null
SCAN语句初设记录指针在范围内?满足FOR条件?LOOPEXIT循环体ENDSCANSCAN循环后的语句记录指针+1NYYN返回null … … … … 条件表达式1 条件表达式2条件表达式nYNNNYY语句块1语句块2语句块n语句块n+1ENDCASE后的语句DO CASE …ENDCASE语句流程图返回nulluse score
do while not eof()
if sc_score>=60
?st_no+"同学"+su_no+"课程成绩为"+str(sc_score,3)+"分"
endif
skip
enddo返回nullUSE SCORE
do while not eof()
DO CASE
CASE SC_SCORE>=60 AND SC_SCORE<70
?st_no+"同学成绩及格"+str(sc_score,3)+"分"
case Sc_SCORE>=70 and SC_SCORE<90
?st_no+"同学成绩良好"+str(sc_score,3)+"分"
case SC_SCORE>=90
?st_no+"同学成绩优秀"+str(sc_score,3)+"分"
otherwise
?st_no+"同学成绩不及格"+str(sc_score,3)+"分"
endcase
skip
enddo返回