高人求解?

ykwang 2004-09-24 10:17:25
如下表达式如何才能成立?
dim a as string
dim b as string
a=2
if a=b then
msgbox ("ok")
endif

第一种表达式成立的情况是 当b=2时.
第二种如下表达式为什么是错误的? b="1 or 1=1"
请问该如何写?

...全文
81 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykwang 2004-09-24
  • 打赏
  • 举报
回复
哦,谢谢你们.呆会结贴
yijiansong 2004-09-24
  • 打赏
  • 举报
回复
条件不成立当然不能OK了。
现在还是人类 2004-09-24
  • 打赏
  • 举报
回复
处理表达式涉及到解码问题,这个不容易做。介绍你用一下 Microsoft Script Control 1.0 控件来解码 VBScript 的表达式比较不错。这样你可以不用自己编解码的程序。
这个控件可以解码 VBScript语言。当然不只是表达式,甚至可以解码整段程序,希望对你有帮助。
ykwang 2004-09-24
  • 打赏
  • 举报
回复
可是OR 1=1这个表达式如果加入到 B变量中?
我的要求是: IF A=B THEN
MSGBOX ("OK")
ENDIF
只要A=B 就可以. OR 1=1 这个条件在 B变量中
lxcc 2004-09-24
  • 打赏
  • 举报
回复
那就可以了啊!

OR 后的 1=1是恒等式,所以无论a是否等于b都没有关系,都会执行Msgbox
ykwang 2004-09-24
  • 打赏
  • 举报
回复
是的,有没有办法搞定?
lxcc 2004-09-24
  • 打赏
  • 举报
回复
是不是,如果不改表达式的话,这个表达式就不能成立?
//哪个表达式?

你不会要这样吧!无论怎么样都运行Msgbox!
dim a as string
dim b as string
a=2
if a=b OR 1=1 then
msgbox ("ok")
endif
ykwang 2004-09-24
  • 打赏
  • 举报
回复
是不是,如果不改表达式的话,这个表达式就不能成立?
lxcc 2004-09-24
  • 打赏
  • 举报
回复
'引用Microsoft Script Control 1.0
Dim aa As New MSScriptControl.ScriptControl
Private Sub Command1_Click()
Dim a As String
Dim b As String
a = "2"
b = "2"
If a = b Then
MsgBox ("ok")
End If
aa.Language = "vbscript"

b = "=1 OR 1=1"
If CBool(aa.Eval(a & b)) = True Then
MsgBox "ok"
End If
End Sub
ykwang 2004-09-24
  • 打赏
  • 举报
回复
我的意思是当b不等于2的时候 这个判断式也成立?有没有办法?
huangjianyou 2004-09-24
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim a As String
Dim b As String
a = 2
'b = 2
b = "1 or 1=1"
If a = b Then
MsgBox ("ok")
End If
End Sub

不明你做什么?没出错啊。条件不成立当然不能OK了。

^_^
RUKYO 2004-09-24
  • 打赏
  • 举报
回复
变量的内容又要作为代码,这个不好办吧?关注。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧