以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享] SaveConfigValue()使用过程中逻辑值的巧妙变通!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=12860)

--  作者:程兴刚
--  发布时间:2011/9/18 16:10:00
--  [分享] SaveConfigValue()使用过程中逻辑值的巧妙变通!

原以为,SaveConfigValue()可以保存逻辑值true和false,于是在甘特图系统应用中,写下了这样一个按钮代码

 

1、SaveConfigValue("隐藏进度条",not GetConfigValue("隐藏进度条",True))

2、然后,在命令窗口执行了SaveConfigValue("隐藏进度条",true)

到此时,这个按钮在理论上就应该可以使用了,可是在执行后发现报错,于是考虑到在vb.net中,true和false的值是1和0,于是乎,将第一条的代码改成了这样:

SaveConfigValue("隐藏进度条",math.abs(val(GetConfigValue("隐藏进度条",True))-1))

 

至此,该按钮的整体代码完全正常运行,虽然保存的是整数型数据,但一样可以直接判断逻辑值,完整代码如下:

 

SaveConfigValue("隐藏进度条",math.abs(val(GetConfigValue("隐藏进度条",True))-1))
If GetConfigValue("隐藏进度条",True) = True
    If e.Form.ExistControl("动态提醒") = True
        e.Form.RemoveControl("动态提醒")
    End If
    Forms("项目进度甘特图").Controls("SplitContainer1").Panel2.Collapsed = False
    e.Sender.Text = "隐藏甘特图"
    Functions.Execute("进度条")
Else
    For Each lbl As Winform.Control In Forms("项目进度甘特图").Controls
        If left(lbl.name,5) = "Label" Then \'
            Forms("项目进度甘特图").RemoveControl(lbl.name)
        End If
    Next
    e.Sender.Text = "显示甘特图"
    Forms("项目进度甘特图").Controls("SplitContainer1").Panel2.Collapsed =True
End If

 


--  作者:e-png
--  发布时间:2011/9/18 20:47:00
--  
图片点击可在新窗口打开查看   
--  作者:swagger
--  发布时间:2022/8/10 18:09:00
--  
这么好的贴子这么少人回复,估计是没人看得懂