vb如何把加减乘除定义为变量?

比如我分别定义a,b,c,d(都是数字)后,做一个Loop
当a□b□c=d(□中添不同的运算符号)为True时输出a,b,c,d
现在的问题就是如何把加减乘除的符号填到“□”里而不用一个一个输
我现在的思路是这样的:
a(1) = 3600
a(2) = 15
a(3) = 3
For i = 1 To 4
For l = 1 To 4
if a(1) calc(i) a(2) calc(l) a(3) = a(4) then Print i,l
Next
Next
如何使Calc(1)="+",Calc(2)="-",Calc(3)="*",Calc(4)="/"?

VB本身没有这样的功能,必须调用VBScript来实现:

Function CalcStr(StrNum As String) As Double
Dim MSSC As Object
Set MSSC = CreateObject("MSScriptControl.ScriptControl")
MSSC.Language = "VBScript"
CalcStr = MSSC.Eval(StrNum)
Set MSSC = Nothing
End Function

用法举例:

Dim a(1 To 4) As Double, calc(1 To 4) As String
a(1) = 3600
a(2) = 15
a(3) = 3
calc(1) = "+"
calc(2) = "-"
calc(3) = "*"
calc(4) = "/"
For i = 1 To 4
    For j = 1 To 4
        if CalcStr(a(1) & calc(i) & a(2) & calc(j) & a(3)) = a(4) then Print i, j
    Next
Next

追问

谢谢你,问下有VBS这方面的教程吗,我在MSDN上没有看到相关内容啊

追答

其实就是利用了VBScript的一个函数eval(),VB6是没有这个函数的

温馨提示:内容为网友见解,仅供参考
无其他回答

如何用VB做一个简单计算器 要求实现加减乘除乘方开方功能
然后,添加控件,包括一个Text框(Text1),和17个按钮,这17个按钮使用的名称都是Command1,只是Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后在Command1上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴(Paste),系统会提示是否创建控件组,选择“是”,...

VB设计“加减乘除计算器”谢谢大家,计算器最好是带负数和小数的...
先在General里声明窗体级全局变量:Dim Num1, Num2 As Single Dim StrNum1, StrNum2 As String Dim FirstNum As Boolean '判断是否是数字开头 在Form_Load事件里给变量初赋值:Num1 = 0 Num2 = 0 StrNum1 = ""StrNum2 = ""FirstNum = True 因为17个按钮使用的是同一事件,所以我们用一...

用vb设计一个计算器,里面的加减乘除按键的代码怎么写
dim 操作 as string private sub 加减乘除(byval sender as object, byval e as eventargs) handles 加.click, 减.click, 乘.click, 除.click 上一个数 = cdbl(输入框.text) ' 存储当前输入的数值 输入框.text = "" ' 等待下一个数值 select case sender.text ' 根据按下的按钮...

如何用VB进行加减乘除运算?
1、在电脑桌面打开软件“Visual Basic”,新建一个文件 2、放置3个“Text”部件和4个“Command”部件,调整好位置;3、对这7个小部件进行修饰,更改command部件的名称为“+、-、*、\/”方便识别,清除“Test”部件里的内容;4、双击“Command”部件进入编辑页面,输入图中所示的命令;5、命令输完以后...

求用VB编写的计算器 加减乘除 我做好了 ,但是正弦 余弦 正切余切不会...
'变量Runsign用来储存运算符号 Dim signflag As Boolean '变量SignFlag判断是否已有运算符号 Private Sub form_load()n1 = 0: n2 = 0 strn1 = "": strn2 = ""firstN = True pointflag = False '将 PointFlag 设为否,即没有小数点 runsign = 0 signflag = False '没有运算符号输入 En...

vb编写计算器加减乘除怎么弄
Dim TempReadout' C (取消) 按钮的 Click 事件过程' 重新设置显示并初始化变量。Private Sub Cancel_Click() Readout = Format(0, "0.") Op1 = 0 Op2 = 0 Form_LoadEnd Sub' CE (取消输入) 按钮的 Click 事件过程。Private Sub CancelEntry_Click() Readout = Format(0...

vb:简易计算器(加减乘除)代码
Dim x, y As Double Public Sub com()x = Val(l1.Caption)Select Case t1 Case Is = 1: y = y + x Case Is = 2: y = y - x Case Is = 3: y = y * x Case Is = 4: y = y \/ x End Select t1 = 0 t = 0 l1.Caption = "0"End Sub Private Sub Form_Load()...

怎么用vb做加法
要在Excel中使用VBA进行自动加减乘除运算,您可以使用以下代码示例:Sub AutoMathOperations()Dim ws As Worksheet Dim lastRow As Long ' 设置要进行运算的工作表 Set ws = ActiveSheet ' 获取最后有数据的行号 lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' 定义运算符和操作数的列号...

请教高手,用vb做计算器,那个等号的代码怎么写
给你写了个例子,看看就OK了。可以把对应的加号换成其他运算符号。Private Sub Command1_Click()'在文本框 text1.text 中输入的格式需要是 X+Y 这中方式 Dim a As Double Dim b As Double a = Mid(Text1.Text, 1, InStr(Text1.Text, "+") - 1)b = Mid(Text1.Text, InStr(Text1....

用VB做一个简单的加减乘除的计算器,代码是什么?
我们现在首先要做的就是拉出Label,准备三个Label,把label1,label2,label3,这些改成第一个数、第二个数、结果。我们现在要text也要拉出三个,把了text里面text1、text2、text3全部删掉。我们现在要把command拉出四个,把里面command1-4都给成+-*\/ 现在我们现在要双击+,我们开始进行输入代码 ...

相似回答