从数据库或文本读取条件如 i=1
放入变量j
即 j='i=1'在vb程序中需要写入条件
如
if i=1 then
...
这样执行是没有问题但如果写成 if j then
...
这样则会编译报错判断条件在数据库中或配置文件 如何放入正常程序中?
望高手赐教
放入变量j
即 j='i=1'在vb程序中需要写入条件
如
if i=1 then
...
这样执行是没有问题但如果写成 if j then
...
这样则会编译报错判断条件在数据库中或配置文件 如何放入正常程序中?
望高手赐教
解决方案 »
- VB 假如我要打开一个文件,若系统安装了EXCEL就用之打开,否则用记事本打开,要如何编写,请高手指教
- vsf切换输入法
- 我想请问一下, vb有没有比较好的用来进阶的书籍, 或者说有没有什么经典的书籍, 能不能推荐两本,多谢了!!!
- 如何在Outlook中编写脚本拒绝指定内容的邮件!急!!!
- 将一个文件复制到用户指定的路径,路径是选择的,该如何做,这是我仅有的分了
- 我大声地问:怎样在工程中插入ToolBar和ImageList控件
- BCD码文件转换为ASCII码问题
- VB判断文件是否打开?
- 如何判断两个控件是否重叠?(会继续加分)
- 各位大虾,小弟是一菜鸟,因毕设需要,想请问在vb中怎样调用fortran程序
- 散分
- 如何编写清除整个数据表内容以及更改.exe程序的图标
Dim j as string
j = "i=1" '从数据库中或配置文件读取
如果是等于比较的话,你需要将1个等于号换成两个等于号
采用的是JavaScript脚本来执行的
Dim script As New MSScriptControl.ScriptControl
script.Language = "javascript"
Dim str As String
str = "i=3;" + vbNewLine
str = str & " i==1;"
MsgBox b.Eval(str)
Dim script As New MSScriptControl.ScriptControl
script.Language = "javascript"
Dim str As String
str = "function test() {" & vbNewLine
str = str & "var i; " & vbNewLine
str = str & "i=1; " & vbNewLine '给i赋值
str = str & " return (i==1); " & vbNewLine
str = str & "}"
str = str & "test(); " '执行,返回的是执行结果
MsgBox script.Eval(str)
'使用 Microsoft Script Control 1.0
Option ExplicitPrivate Sub Command1_Click()
Dim i As Long
Dim j As String
'i = 1
i = 2
j = "i=1"
ScriptControl1.Reset
ScriptControl1.AddCode "const i = " & i
If ScriptControl1.Eval(j) Then
MsgBox "真"
Else
MsgBox "假"
End If
End SubPrivate Sub Form_Load()
ScriptControl1.Language = "vbscript"
End Sub
j="i=1" ......
if "i=1" then"i=1"是字符串 和J 一样
Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
你只需要ExecuteLine一下就可以了,将ExecuteLine返回的结果作为一个逻辑表达式进行判断
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
你只需要ExecuteLine一下就可以了,将ExecuteLine返回的结果作为一个逻辑表达式进行判断
这里的表达式是字符串变量或字符串表达式时,只有两种值是合法的,即“True" 或 "False"(不分大小写)
你串变量j的值为"i=1",当然就会出错。
Private Sub Command1_Click()
Dim j As String, i As Integer
Dim k As Integer, fj
i = 2 '-------------测试i=1或i=2
j = "i=1"
fj = Split(j, "=")
Select Case fj(0)
Case "i"
j = fj(1) = i
Case "k"
j = fj(1) = k
'case .........
End Select
If j Then
MsgBox True
Else
MsgBox False
End If
End Sub
if j="i=1" then...elseif j="i=0" then...elseif j="i=..." then
dim j as boolean
if j then
......
end if
你可以这样写
if j="i=1" then
...
end if