第七章 程序
设计基础
7.1
创建、 创建、修改和运行应用程序
? 创建应用程序
– 项目管理器:“代码”—“程序” 代码” 程序 程序”
– MODIFY COMMAND 程序文件名
? 修改程序
MODIFY COMMAND
程序文件名
? 运行程序
DO <程序文件名 程序文件名> 程序文件名 &;&; .prg
7.2
VFP基本语法结构 基本语法结构
常用命令
? 基本输出命令
– ? 或 ?? – @ 行,列 SAY 数据
在主窗口显示数据” 例:@ 10,10 SAY “在主窗口显示数据” 在主窗口显示数据
– Wait windows 字符串
此命令用于显示系统窗口’ 例:wait windows ‘此命令用于显示系统窗口’ 此命令用于显示
系统窗口
? 程序交互命令
– INPUT [提示信息 [TO 内存变量 提示信息] 内存变量] 提示信息
请输入A的值 例: input “请输入 的值:” to 请输入 的值: ? 只接受字符数据 只接受字符数据 A
– ACCEPT [提示信息 [TO 内存变量 提示信息] 内存变量] 提示信息
VFP基本语法结构 基本语法结构
常用命令
? 常用辅助命令 – CLEAR: 清除主窗口中的显示内容 – Quit:退出 退出VFP – Return:退出当前程序 – Set talk on|off:开启 关闭 人机对话 关闭)人机对话 :开启(关闭
VFP基本语法结构 基本语法结构
VFP程序控制结构 程序控制结构
? 顺序结构
由若干语句行组成,按其中的语句顺序执行 由若干语句行组成,
? 分支结构
根据条件的测试结果执行不同的操作 – If …(else)…endif 结构 – Do case…endcase 结构
? 循环结构
使得一组语句(循环体 重复执行若干次 使得一组语句 循环体)重复执行若干次 循环体 – For…endfor 结构 – Do while… enddo结构 结构 – Scan…endscan 结构
一、顺序结构
例:根据输入的记录号显示该学生的 clear use xs input “输入记录号: ” to n 输入记录号: 输入记录号 go n ? xm use
一、顺序结构
例:交换两个变量a和b的值 交换两个变量 和 的值 input "请输入 : " to a 请输入a: 请输入 input "请输入 : " to b 请输入b: 请输入 c=a a=b b=c ? "交换后的 和b的值为: " ,a, b 交换后的a和 的值为 的值为: 交换后的
二、分支结构
1. IF…[ELSE]…ENDIF结构 结构
格式:IF <条件表达式 条件表达式> 条件表达式 命令组1 命令组 [ELSE 命令组2] 命令组 ENDIF IF .T.
表达式求值
.F.
命令组 1
ENDIF
命令组 2
的正负决定变量Y的值 例:根据变量X的正负决定变量 的值 根据变量 的正负决定变量 input “请输入 的值:” to x 请输入X的值 请输入 的值: if x>0 y= 1 else y= -1 endif
1 Y= -1 x≤0 x>0
的正负决定变量Y的值 例:根据变量X的正负决定变量 的值 根据变量 的正负决定变量
input “请输入 的值:” to 请输入X的值 请输入 的值: x if x >0 y=1 else i
f x<0 y= -1 else y=0 endif endif ?y
Y= 1 0 -1 x>0 x=0 x<0
二、分支结构
CASE……ENDCASE结构 2. DO CASE……ENDCASE结构
DO CASE 条件表达式1> CASE <条件表达式 条件表达式 <命令组 命令组1> 命令组 [CASE <条件表达式 > 条件表达式2 条件表达式 <命令组 > 命令组2 命令组 …… CASE <条件表达式 条件表达式n> 条件表达式 <命令组 >] 命令组n 命令组 [OTHERWISE <其他命令组 >] 其他命令组 ENDCASE
每次只能走若干 通路中的一条 DO CASE
条件1 条件
.f.
条件2 条件
……
.f.
条件n 条件
.f.
.t.
命令组1 命令组
.t.
命令组2 命令组
.t.
命令组n 命令组 其他命令组
ENDCASE
的正负决定变量Y的值 例:根据变量X的正负决定变量 的值 根据变量 的正负决定变量
1 x>0 x=0 x<00
input “请输入 的值 to x 请输入X的值 请输入 的值:” if x >0 y=1 else if x<0 y= -1 else y=0 endif endif ?y
input “请输入 的值 to x 请输入X的值 请输入 的值:” Do case case x >0 y=1 case x<0 y= -1 case x=0 y=0 endcase ?y
Y=
0 -1
例:求一元二次方程ax2+bx+c=0的根 设a不等于 求一元二次方程 的根(设 不等于0) 的根 不等于 input "input a: " to a input "input b: " to b 2 input "input c: " to c del = b*b- 4*a*c do case case del>0 wait windows “方程有两个不等的实数根:" 方程有两个不等的实数根: 方程有两个不等的实数根 case del=0 w