Foxbase中自定义函数的意义和函数的妙用
11-08 12:37:21软件技巧
浏览次数:727次
标签:软件技巧大全,http://www.duosi8.com
Foxbase中自定义函数的意义和函数的妙用,
一、自定义函数:
用户自定义函数(UDF)实质上是一段简单的FOXBASE+程序,其中包括一组有效的FOXBASE+语句。因此,自定义函数可以构成一个独立的命令文件,或作为一个过程包括在过程文件中。自定函数的定义方法:自定义函数由三部分组成。第一部分是PARAMETER语句定义函数的形式参数,若无参数,此语句也可缺省;第二部分是函数体,其中完成各种运算;第三部分是由RETURN语句返回函数值。自定函数定义结束后,也象标准函数一样调用。
例如:自定义一个求长方形面积的函数:
***AREA.PRG***
PARAMETER L,W
A=L*W
RETURN A
调用时:.STURE AREA(5,2) TO Y
.?Y
10
二、函数的妙用:
在此仅以IIF()函数为例,说明在程序中灵活使用函数的作用:
IIF()函数的语法形式为:IIF(<逻辑表达式>,<表达式1>,<表达式2>),其功用是:当<逻辑表达式>为真时返回<表达式1>的值,否则,返回<表达式2>的值。
例如函数:IIF(A>B,A,B)的作用是求A、B的最大值,此函数与程序段:
IF A>B
M=A
ELSE
M=B
ENDIF等价。
显然IIF()函数可以简化程序代码,但由于IIF()函数的介入,给表达式的求值赋予了新意,它使得一个表达式的求值可以有选择地从某一子表达式求值。而表达式可以出现在许多命令、函数中,则IIF()函数给这些命令函数增添了新的条件选择功能。例如对一个工资库作工资调整,其中对初级职称以下者工资普调10元,初级职称调20元,中级调30元,高级调40元,则可用以下四条语句完成:
REPLACE ALL 工资 WITH 工资+10
REPLACE ALL 工资 WITH 工资+10 FOR 职称="助工"
REPLACE ALL 工资 WITH 工资+20 FOR 职称="工程师"
REPLACE ALL 工资 WITH 工资+30 FOR 职称="高工"
若引入IIF()函数,可用以下一条语句完成:
REPLACE ALL 工资 WITH IIF(职称="高工",工资+40,IIF(职称="工程师",工资+30,IIF(职称="助工",工资+20,工资+10)))
显然程序代码被简化,同时执行时间也将缩短,因为前者需扫描库文件四次,后者仅扫描一次,若库文件较大,时间比也就较明显。
一、自定义函数:
用户自定义函数(UDF)实质上是一段简单的FOXBASE+程序,其中包括一组有效的FOXBASE+语句。因此,自定义函数可以构成一个独立的命令文件,或作为一个过程包括在过程文件中。自定函数的定义方法:自定义函数由三部分组成。第一部分是PARAMETER语句定义函数的形式参数,若无参数,此语句也可缺省;第二部分是函数体,其中完成各种运算;第三部分是由RETURN语句返回函数值。自定函数定义结束后,也象标准函数一样调用。
例如:自定义一个求长方形面积的函数:
***AREA.PRG***
PARAMETER L,W
A=L*W
RETURN A
调用时:.STURE AREA(5,2) TO Y
.?Y
10
二、函数的妙用:
在此仅以IIF()函数为例,说明在程序中灵活使用函数的作用:
IIF()函数的语法形式为:IIF(<逻辑表达式>,<表达式1>,<表达式2>),其功用是:当<逻辑表达式>为真时返回<表达式1>的值,否则,返回<表达式2>的值。
例如函数:IIF(A>B,A,B)的作用是求A、B的最大值,此函数与程序段:
IF A>B
M=A
ELSE
M=B
ENDIF等价。
显然IIF()函数可以简化程序代码,但由于IIF()函数的介入,给表达式的求值赋予了新意,它使得一个表达式的求值可以有选择地从某一子表达式求值。而表达式可以出现在许多命令、函数中,则IIF()函数给这些命令函数增添了新的条件选择功能。例如对一个工资库作工资调整,其中对初级职称以下者工资普调10元,初级职称调20元,中级调30元,高级调40元,则可用以下四条语句完成:
REPLACE ALL 工资 WITH 工资+10
REPLACE ALL 工资 WITH 工资+10 FOR 职称="助工"
REPLACE ALL 工资 WITH 工资+20 FOR 职称="工程师"
REPLACE ALL 工资 WITH 工资+30 FOR 职称="高工"
若引入IIF()函数,可用以下一条语句完成:
REPLACE ALL 工资 WITH IIF(职称="高工",工资+40,IIF(职称="工程师",工资+30,IIF(职称="助工",工资+20,工资+10)))
显然程序代码被简化,同时执行时间也将缩短,因为前者需扫描库文件四次,后者仅扫描一次,若库文件较大,时间比也就较明显。
,Foxbase中自定义函数的意义和函数的妙用
- ·上一篇:如何切换暴风影音左右声道?
- ·下一篇:共享上网经常不能连接怎么办
《Foxbase中自定义函数的意义和函数的妙用》相关文章
- › 实用的FOXBASE辅助工具--FOXDOC
- › 提高FOXBASE程序可读性的一种方法
- › Foxbase最常见错误信息及解决方法
- › 西文FoxBASE错误信息的“汉化”
- › 如何优化FOXBASE+的运行环境
- › FOXBASE+2.1中一个未公开的限制
- › 用FOXBASE编辑报表表头的技巧
- › set exact命令对Foxbase数据库记录查找的影响
- › UNFoxbase的参数说明
- › FoxBASE+使用中的奇怪错误
- › Foxbase中自定义函数的意义和函数的妙用
- › Foxbase 数据库文件与其它类型文件的数据交换
- 在百度中搜索相关文章:Foxbase中自定义函数的意义和函数的妙用
tag: 软件技巧,软件技巧大全,电脑学习 - 软件技巧
热门推荐
- · 为何QQ总弹出安全登录验证2则
- · 多媒体升级时常见故障的处理
- · 利用硬盘驱动器号制作防扩散FOXPRO程序
- · 高速视频转换借力CUDA
- · 在KMPlayer中手动切换解码器
- · 如何突破IP加MAC绑定
- · 如何让ACDSee成为默认的图片浏览器
- · SnagIt连续抓以多个窗口
- · SnagIt直接截取灰度图片
- · Nero快速制作精美的光盘封面
- · 完美卸载XP快速卸载顽固软件
- · VoptXP测试驱动器性能
- · VirturlDriver让虚拟光驱开机时自动加载
- · 通过递归调用来搜索文件
- · AutoCAD复制粘贴图纸导致死机
- · 监控软件导致QQ无法登录
- · 提高WindowsXP启动速度的方法
- · Office 2007无法正常卸载怎么办
- · 如何用批处理一次建立或删除多个目录
- · 教你Windows百毒不侵的13个妙招
- · ATI显卡在线看电影时花屏应该如何解决