Jag vill skicka med tex + som en variabeln tecken. Ett sätt är att göra såhär: Hej, Men det var ju upprepningen jag ville slippa.... Lägg till en referens till "Microsoft Script Control" (msscript.oca)Använda + som variabel??
Sen vill jag använda mig av variabeln tecken såhär:
tal1 & tecken & tal2 = summa
Men variabeln tecken blir som en sträng, alltså "+"..Nån som har tips?
Tack!Sv: Använda + som variabel??
<code>
Select Case tecken
Case "+"
summa = tal1 + tal2
Case "-"
summa = tal1 - tal2
Case "*"
summa = tal1 * tal2
Case "/"
summa = tal1 / tal2
End Select
</code>
/JohanSv: Använda + som variabel??
Det går inte att göra så. Det bästa jag kan komma på är att använda t ex en enum :
<code>
public enum operator_enum
add=0
subtract=1
...
end enum
public function calculate(tal1 as double, tal2 as double, operator as operator_enum) as double
select case operator
case operator_enum.add
calculate=tal1+tal2
case operator_enum.subtract
calculate=tal1-tal2
...
end select
end function
</code>
Alternativt får du skriva eller leta upp en färdig parser/kalkylator som klarar de operationer du vill stödja. Ungefär som eval()-funktionen i JavaScript, som tar en sträng och evaluerar strängen som ett uttryck.Sv: Använda + som variabel??
Jag vill ju använda variabeln tecken på följande sätt....
tal1 "variabeln tecken som kan innehålla +,-" tal2 = summa
Förstår ni?Sv: Använda + som variabel??
Gör en funktion som ser ut så här:
<code>
Public Function EvalString(strToEval As String)
On Error Resume Next
Dim sc As New ScriptControl
sc.Language = "VBScript"
EvalString = sc.Eval(strToEval)
end Function
</code>
Sen använder du den bara som:
<code>
Text1.text = EvalString("20+109/30+(4*9)")
</code>