前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三十行代码防止VFP表单重复运行,函数支持参数传递,拿来即用

三十行代码防止VFP表单重复运行,函数支持参数传递,拿来即用

作者头像
加菲猫的VFP
发布2022-01-05 09:25:57
5210
发布2022-01-05 09:25:57
举报
文章被收录于专栏:加菲猫的VFP

这是原来电脑报上的一个函数,猫猫改良了一下。当然大家也可以改良一下。

VFP最多26个参数,你写满不为止

代码语言:javascript
复制
Procedure runform
Parameters cformname,mformname,Parameter1,Parameter2,Parameter3,Parameter4,Parameter5,Parameter6,Parameter7,Parameter8,Parameter9,Parameter10

For nCount=10 To 1 STEP -1
    cName="Parameter"+Alltrim(Str(nCount))    
    IF VARTYPE(&cName)=="L" AND &cName==.f.  
    else
         EXIT
    ENDIF
ENDFOR

*--创建参数
LOCAL strPara
strPara=""
FOR nPcount=1 TO nCount
  cName="Parameter"+Alltrim(Str(nPcount))  
  strPara =strPara +","+ cName
ENDFOR
strPara= RIGHT(strPara,LEN(strPara)-1)

cpublic = "Public "+mformname
&cpublic
If !(Type("&mFormName.")="O" And !Isnull(&mformname.))
    lccmd="Do Form &cformname Name &mformname"
    lcCmd = lcCmd + IIF(EMPTY(strPara),""," WITH "+strPara )    
    &lccmd
Else
    If &mformname..WindowState=1
        &mformname..WindowState=0
    Endif
    &mformname..Show
Endif
Endproc

调用方法

代码语言:javascript
复制
runform(表单文件名,表单定义变量,参数1,[-参数10])
不带参数
runform("表单2","表单2")
带参数运行(支持10个参数)
runform("表单2","表单2","123","456","12345")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档