计算机二级VF程序讲义.docx
《计算机二级VF程序讲义.docx》由会员分享,可在线阅读,更多相关《计算机二级VF程序讲义.docx(9页珍藏版)》请在冰豆网上搜索。
![计算机二级VF程序讲义.docx](https://file1.bdocx.com/fileroot1/2023-2/24/1af2ce04-8d14-4704-894d-7713c761f9eb/1af2ce04-8d14-4704-894d-7713c761f9eb1.gif)
计算机二级VF程序讲义
VF程序
第一节、程序
1、程序的建立、保存、运行
(1)建立
方法一(菜单):
文件新建
方法二(命令):
modifycommand程序文件名
(2)保存(扩展名.prg)
(3)运行
方法一:
常用工具栏
方法二(命令):
do程序文件名.prg(此命令中扩展名.prg写不写均可以)
2、赋值语句
格式1:
变量名=表达式
格式2:
store表达式to变量名列表
区别:
格式1一次只能把一个值赋给一个变量;格式2一次可以把一个值同时赋给多个变量,使多个变量同时拥有同一个值
3、数据输入语句
(1)accept[字符表达式]to变量名
注释:
Ø字符表达式仅作为提示信息,别无它用
Ø从键盘上输入一个数据,并存入指定的变量中;从键盘上输入的内容一律作为字符串来处理,输入时不需用加字符串定界符
(2)input[字符表达式]to变量名
注释:
Ø字符表达式仅作为提示信息,别无它用
Ø从键盘上输入一个值,并存入指定的变量中;此命令可以输入任何类型的数据,输入时必需按每一种数据类型的正确表示形式来输入
(3)wait[字符表达式][to变量名][windows[at行,列]][timeout数值]
注释:
Ø字符表达式仍然为字符提示信息,缺省时默认为“按任意键继续……”
Øto变量名:
从键盘上输入一个字符,并存入指定的变量中;否则将不保留输入的这个字符
Øwindows[at行,列]:
把字符提示信息以窗口的形式来显示;at用来指定当前窗口显示的具体位置
Øtimeout数值:
指定窗口显示的时间;否则,将永久显示,当按任意一个键的时候将取消显示;timeout短语中的数值将为秒
Ø此命令的功能主要用来显示提示信息
4、程序的基本结构
(1)顺序结构
(2)选择结构
第一种:
IF条件表达式
语句序列
ENDIF
注释:
IF是整个选择结构的开始,ENDIF是整个选择结构的结束;如果条件成立,执行其中包含的语句序列,否则将不执行
第二种:
IF条件表达式
语句序列1
ELSE
语句序列2
ENDIF
注释:
IF是整个选择结构的开始,ENDIF是整个选择结构的结束;如果条件成立,执行其中包含的语句序列1,否则将执行其中的语句序列2
第三种:
IF的嵌套形式
IF条件表达式1
语句序列1
ELSE
IF条件表达式2
语句序列2
ELSE
IF条件表达式3
语句序列3
ELSE
……
ENDIF
ENDIF
……
ENDIF
注释:
如果条件1成立,执行语句序列1;如果条件1不成立,判断条件2,如果条件2成立,执行语句序列2;如果条件2不成立,判断条件3,如果条件3成立,执行语句序列3,以此类推;ELSE的配对关系,离它最近的IF;ENDIF的配对关系,离它最近的IF
第四种:
多分支选择结构
DOCASE
CASE条件表达式1
语句序列1
CASE条件表达式2
语句序列2
CASE条件表达式3
语句序列3
……
[OTHERWISE
语句序列]
ENDCASE
注释:
DOCASE是整个多分去选择结构的开始,ENDCASE是整个多分支选择结构的结束;其中那个条件成立,就执行其中包含的语句序列,只会执行其中的一种情况;当所有条件都不成立时,就执行OTHERWISE短语中包含的语句
(3)循环结构
第一种:
DOWHILE条件表达式
语句序列1
[LOOP]
语句序列2
[EXIT]
语句序列3
ENDDO
注释:
ØDOWHILE是整个循环的开始,ENDDO是整个循环的结束
Ø先判断条件,如果条件成立,就执行DOWHILE和ENDDO之间包含的语句序列;重复判断条件,直到条件不成立,才结束整个循环;执行ENDDO以下的语句
ØLOOP:
遇到LOOP语句,就返回到循环开始,重新进行下一个新的条件的判断
ØEXIT:
遇到EXIT语句,就直接结束循环,执行ENDDO以下的语句
第二种:
FOR循环变量=初始值to终止值[STEP步长值]
循环体(语句序列)
ENDFOR
注释:
ØFOR是整个循环的开始,ENDFOR是整个循环的结束
Ø初始值、终止值、步长值均为数值型数据
Ø缺省STEP时,默认的步长值为1
第三种:
SCAN[范围][FOR条件]
循环体
ENDSCAN
注释:
ØSCAN是整个循环的开始,ENDSCAN是整个循环的结束
Ø[范围]和[FOR条件]的使用同前
Ø该循环只适合于对表进行操作
Ø记录指针自动在指定范围内满足条件的记录上进行移动判断(从表的第一条直到最后一条)
补充:
LOOP和EXIT语句在三种循环均可以使用,判断过程跟DOWHILE循环中一样
第二节:
过程调用
1、PRODUCT/FUNCTION<过程名>
<命令序列>
[RETURN<表达式>]
ENDPROC/ENDFUNC
PRODUCT/FUNCTION表示过程的开始
ENDPROC/ENDFUNC表示过程的结束
RETURN返回指定表达式的值,如果RETURN后面没有表达式默认返回.T.
2、参数传递
(1)接收参数的命令:
PARAMETERS<形参变量名表>(变量名之间逗号隔开)
(2)调用模块程序过程的格式为:
格式1:
do<过程名>with<实参列表>(逗号隔开)
格式2:
<过程名>(实参列表)
注释:
实参可以是常量、变量、表达式,在模块调用过程中,系统自动把实参传递给形参,形参接收了实参,形参的个数不能少于实参的个数,多余的形参自动赋逻辑假值
便用格式1调用模块,如果实参是变量,按引用进行传递,常量和表达式按值进行传递
使用格式2调用模块,不管实参是常量、表达式、还是变量,默认都是按地址进行传递,还可以使用:
setupfparmstovalue/refercences进行设置
tovalue按值传递
toreferences按地址传递
按值传递:
形参变量值改变时不会影响实参变量的取值
按引用传递:
形参变量值改变量,实参变量的值也随之改变
例1:
x1=100
x2=100
dop1withx1,x2
?
x1,x2
procedurep1
parametersa,b
a=a+1
b=b+1
endproc
例2:
x1=100
x2=100
dop1withx1+1,x2+1
?
x1,x2
procedurep1
parametersa,b
x1=x1+10
x2=x1+x2
endproc
例3:
x1=100
x2=100
p2(x1,x2)
?
x1,x2
procedurep2
parametersa,b
x1=x1+1
x2=x2+1
endproc
例4:
x1=100
x2=100
setupfdarmstovalue
p2(x1,x2)
?
x1,x2
procedurep2
parametersa,b
x1=x1+1
x2=x2+1
endproc
3、变量作用域:
(1)公共变量:
public<内存变量名列表>
功能:
建立公共的内存变量,并为它们赋初值逻辑值.F.,公共变量的作用范围:
一量建立就一直有效和存在,即使程序运行结束也不会消失,只有当执行clearmemory、release、quit等命令后,公共变量才被释放。
在命令窗口中直接使用的变量也是公共变量
(2)私有变量:
在程序中直接使用的变量称为私有变量
私有变量的作用域建立它们的程序及其下属的各层模块,一旦建立它的模块运行结束。
这些私有变量,将自动消除
(3)局部变量:
local<内存变量名列表>
功能:
建立指定的局部变量,并为它们赋初值逻辑假值.F.
作用范围:
只能在建立它的模块中使用,当建立它的程序运行结束时,局部变量自动释放。