| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3952 人关注过本帖
标题:vfp中的过程与函数有什么区别
只看楼主 加入收藏
zhp223
Rank: 5Rank: 5
等 级:职业侠客
帖 子:99
专家分:362
注 册:2010-3-21
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:16 
vfp中的过程与函数有什么区别
似乎功能都一样,为什么vfp还要分过程与函数
搜索更多相关主题的帖子: vfp 函数 
2010-03-28 14:17
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:2 
函数分为系统函数和自定义函数。函数都有一个特点,必须有一个返回值。语法规则是“变量=函数名(参数表)”。
而过程看起来可以认定:(1)系统命令是内部过程,有专门的语法语句及子句;(2)自定义过程是扩展命令、外部过程,用“do 过程名 with 参数表”实现其调用。过程不能有返回值,即使有运行结果,要么过程内显示,要么过程内存储。
函数和过程实现VFP强大的形形色色的功能。系统函数和系统命令是VFP主体,自定义函数和自定义过程是VFP扩展。

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-03-28 16:26
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:2 
过程与函数区别:
1.定义形式不同(这只是形式上的差别)
2.调用方式不同(要得到返回值必须以函数方式调用,否则两种调用方式均可以)
3.除第2点要取得返回值外,其他方面没有任何本质区别

★★★★★为人民服务★★★★★
2010-03-30 07:59
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
使用过函数,效果不稳定,有时执行,有时不执行。不知道为什么。
2010-03-30 09:32
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 4楼 panpende
可是算法有问题(逻辑错误)

★★★★★为人民服务★★★★★
2010-03-30 13:44
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:2 
我做过一个函数:

FUNCTION ZA
PARAMETERS ZDM
RETURN INT(&ZDM.)*60+MOD(&ZDM.,1)*100
ENDFUNC


在程序中引用:
ZDM='A62'
REPLACE A62 WITH ZA(ZDM)

ZDM='A72'

REPLACE A72 WITH ZA(ZDM)

结果:在字段A62中,函数返回正确。在字段A72中,函数返回不正确。

我不知道为什么。

2010-03-30 14:15
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
原因可能是A62和A72的数据!它们的值都是多少啊?返回值是多少啊?检查一下错了吗?

★★★★★为人民服务★★★★★
2010-03-30 14:47
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
A62,A72 都是数值型,2.30   3.41  4.55  诸如此类,函数是为了把小时分钟(2小时30分)转化为分钟(150分钟)。
2010-03-30 15:18
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
因为采用函数不稳定,我只能用命令:

REPLACE ALL A62 WITH INT(A62)*60+MOD(A62,1)*100

REPLACE ALL A72 WITH INT(762)*60+MOD(762,1)*100

2010-03-30 15:23
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
因为采用函数不稳定,我只能用命令:

REPLACE ALL A62 WITH INT(A62)*60+MOD(A62,1)*100

REPLACE ALL A72 WITH INT(A72)*60+MOD(A72,1)*100
2010-03-30 15:23
快速回复:vfp中的过程与函数有什么区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056350 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved