笔者在开发应用系统中曾经用FoxPro的on error语句编写了一个判断内存变量的函数Exist(),非常方便实用,在此介绍给大家。
设计思路:先假设内存变量存在,然后将待判断的内存变量赋值给一个临时变量,若该内存变量不存在,则执行时必将出错,出错时将执行on error语句,只要在on error处理的函数中修改内存变量存在与否的标志即可。为了不影响调用程序的错误处理,保证该函数的通用性,在函数执行前后必须保存和恢复调用程序可能的错误处理。
源程序如下:
***EXIST?PRG***
para MemoVari
private Mexist,temp,OldError
Mexist=.T.? 假设内存变量存在
OldError=on(′error′) 保存调用程序的错误处理
on error do ErrHandle
temp= MemoVari
on error OldError 恢复调用程序的错误处理
retu Mexist 返回存在标志
proc ErrHandle
Mexist=.F. 出错则置存在标准为.F.?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-997868/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-997868/
本文介绍了一种在FoxPro中判断内存变量是否存在的实用函数Exist()。通过假设内存变量存在并尝试赋值来触发错误处理,从而实现内存变量的判断。文章提供了完整的源代码示例。

被折叠的 条评论
为什么被折叠?



