第5章VFP语言基础-过程和函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.1 程序设计概述 5 .2 结构化程序设计 5 .3 面向对象的程序设计基础
本章重点
结构化程序设计
顺序、选择、循环
过程和函数
面向对象的程序设计
类和对象 属性、方法、事件
2
过程结构(子程序)
某些程序段需要反复执行多次,这些程序段不 在一个固定的位置上,而是分散在程序的许多位置 上重复执行,可将其与嵌入它的程序分开,形成独 立的程序序列,待使用时再调入程序中,以实现不 同位置上的重复操作。这样做增强了程序的可读性 和模块化。我们称这种具有独立功能而且可以被其 它程序调用的程序序列为子程序、过程或函数。
4
2、使用形式
独立的程序文件中:一个UDF独立的保
存为一个文件 过程文件中:多个UDF保存为一个文件 一个具体的应用程序中:位于一个程序 的底部 数据库的存储过程中
5
prg1
(star) … Do gc1 … … ?gc2() … … Do gc1 … … (end) Gc1 (过程) Gc2 (函数)
11
调用注意点2
过程和函数的存在方式
(2)若函数或过程集中保存在某程序 文件中,则应使用如下命令来访问

SET PROCEDURE TO 程序名
12
5、传递参数的方式1
形式参数(形参)
定义时PARAMETERS语句后面所列的参数; 最多可传递27个参数;

实际参数(实参)

调用时使用参数 例: DO Myudf WITH . . . ?Myudf( . . . )

7
3、创建方法
函数
FUNCTION
<函数名> [PARAMETERS <参数列表>] <命令组>
RETURN [ eExp ]

ENDFUNC
8
RETURN语句的说明
RETURN:返回语句,即返回过程或函数的
调用处。
(1)格式:RETURN
[eExp]
(2)功能:返回表达式的值给调用程序,并将执行
目标定位到调用程序中调用命令的下一语句
省略RETURN,其缺省的返回值为.T. 函数的返回值可以直接打印在活动窗口中,也
可以用一个变量接收下来
9
4、调用方法
调用方式:
DO
过程名称 [ WITH <参数>]
?函数名(参数)—标准函数操作方式
一个 VFP程序可以调用任意多个子程序,
13
5、传递参数的方式2
按引用传递方式(过程默认方式)
将地址传送给UDF SET UDFPARMS TO REFERENCE

按值传递方式(函数默认方式)
将值直接传送给UDF SET
UDFPARMS TO VALUE
14
5、传递参数的方式3
强制设定以值传递方式或引用传递方式
在一个变量前加@
集中保存在 一个程序里
独立保存在 一个程序里 gc1(过程) gc2 (函数) gc3 (函数)
… …
过程文件
gc1 gc2 gc3 … …
… …
保存在主 程序之后
6
3、创建方法
过程
PROCEDURE <过程名> [PARAMETERS <参数列表>] <命令组> RETURN [ eExp] ENDPROC
子程序还可以调用其它子程序,嵌套的 DO调用层数为128层
10
调用注意点1
调用过程(函数)即执行已有的过程(函数)。
过程和函数的存在方式
(1)若是一个UDF独立的保存为一个程序文 件,则可省去由PROCEDURE / FUNCTION 命令定义的过程/函数名,该程序文件名即可 作为过程(函数)名
16
用括号括起一个变量,则设定按值传递;
符号,可以设定以
引用传递方式传递
15
6、使用示例
P147例15 FUNCTION ntoc PARAMETERS pDigit cString="零一二三四五六七八九" RETURN substr(cString, pDigit*2+1, 2) ENDFUNC 使用:?ntoc(3) P148例16
VPF:通过过程\用户自定义函数实现
3
1、过程与用户自定义函数
过程或用户自定义函数(UDF):即将经 常执行的功能对应的一段代码独立出 来,创建一个过程或函数。
可将常用的操作代码事先集中在一起,以供 用户将来具体编制应用程序需要时调用。这样做提 高了程序代码的重复利用率和可维护性。 习惯上:过程是为完成某个操作过程而编写 的代码,函数则用来计算并返回一个值。
相关文档
最新文档