if text1.text="5" then 或 if val(text1.text)=5 then
if trim(text1.text)="5" then
if text1.text="d=5" then 、
非常感谢各位的解答我的问题没有描述清楚,我的实际意思是在text1 中输入一个表达式,这个表达式是不确定的就是说,可能是 d = 5 ,也可能是 d = 6 、 d = 7 ,或者 a = 8然后在过程的if 块中使用text中输入的表达式。 if 引用text输入的表达式 then ... end if 对于这个表达式的引用 ,也可以做到用两个textbox或者其他方法,问题是怎么做到动态引入?补充:这里的操作不是数据库查询,排除sql
类似于这样: '⑴用法一 If AdvaJudge(Text1.Text) Then ' .............. Else ' ............. End If '⑵用法二,跟⑴等效 If AdvaJudge(Text1.Text) = True Then ' .............. Else ' ............. End If '⑶用法三 If Not AdvaJudge(Text1.Text) Then ' .............. Else ' ............. End If ' '////////////////// Function AdvaJudge(strLogic As String) '****************** ' 这个就是你需要完成的处理函数 '****************** ' .............. ' .............. End Function
Private Sub Command1_Click() Dim d As Integer If IsCompare(Text1, d) Then MsgBox "dfd" End If End Sub Private Function IsCompare(value As String, ByRef LeftOper As Integer) As Boolean Dim OperPos As Integer OperPos = InStr(1, value, "=") If OperPos = 0 Then Exit Function Dim RightOper As String RightOper = Mid(value, OperPos + 1, Len(value) - OperPos) If LeftOper = RightOper Then IsCompare = True Else IsCompare = False End If End Function
或
if val(text1.text)=5 then
、
非常感谢各位的解答我的问题没有描述清楚,我的实际意思是在text1 中输入一个表达式,这个表达式是不确定的就是说,可能是 d = 5 ,也可能是 d = 6 、 d = 7 ,或者 a = 8然后在过程的if 块中使用text中输入的表达式。
if 引用text输入的表达式 then ... end if
对于这个表达式的引用 ,也可以做到用两个textbox或者其他方法,问题是怎么做到动态引入?补充:这里的操作不是数据库查询,排除sql
'⑴用法一
If AdvaJudge(Text1.Text) Then
' ..............
Else
' .............
End If
'⑵用法二,跟⑴等效
If AdvaJudge(Text1.Text) = True Then
' ..............
Else
' .............
End If
'⑶用法三
If Not AdvaJudge(Text1.Text) Then
' ..............
Else
' .............
End If
'
'//////////////////
Function AdvaJudge(strLogic As String)
'******************
' 这个就是你需要完成的处理函数
'******************
' ..............
' ..............
End Function
你真细心,我们都误会nihaoya的意思了。
要达到你这个目的,要对用户的输入做文本分析。挺麻烦的。而且你自己还要做校验,以防用户输入的不对。建议用这个替代的办法:用3个组合框
(1)第一个组合框用来指定参与比较的变量,只能从下拉列表里选择你指定的那些可用来做比较的变量
(2)第二个组合框用来输入比较符,> >= < <= <>任选其一
(3)第三个组合框用来输入用于比较多值,限制只能是数字
Dim d As Integer
If IsCompare(Text1, d) Then
MsgBox "dfd"
End If
End Sub
Private Function IsCompare(value As String, ByRef LeftOper As Integer) As Boolean
Dim OperPos As Integer
OperPos = InStr(1, value, "=")
If OperPos = 0 Then Exit Function
Dim RightOper As String
RightOper = Mid(value, OperPos + 1, Len(value) - OperPos)
If LeftOper = RightOper Then
IsCompare = True
Else
IsCompare = False
End If
End Function
非常感谢: lsztzccby Chen8013 slowgrace再请教一下,在自编函数中,LeftOper可以动态引入么?如变量不为d时的情况,查了一下资料,VB没有宏替换, 没用过vbscript,多谢了