Evaluar expresiones matemáticas

Supóngase que tengo un formulario con un TextBox en el que el usuario puede introducir cualquier expresión matemática como:
2*(4+3) o
cos 3 o
sqr(100) etc
Mi pregunta es como hago para evaluar tales expresiones si vienen dadas como cadenas de caracteres o strings.

3 respuestas

Respuesta
1
Existe un control que aplica "Scripting", VBScript o JScript se llama "Microsoft Script Control 1.0" (este es el nombre que debes buscar en la referencias de proyecto), te paso un pequeño código que se agrega a un botón cualquiera.
***********************************
Private Sub Command1_Click()
Dim x As New MSScriptControl.ScriptControl
Formula = Text1.Text
x.Language = "VBScript"
result = x.Eval(Formula)
MsgBox result
End Sub
*******************************
Recordá que tienes que agregar a tu proyecto la referencia a "Microsoft Script Control 1.0" (Menu Proyect / References).
La respuesta es excelente.
Para finalizar solo quería preguntarte si sabes si existen controles para graficar funciones tales como sen(x)o como x*4 etc. o de que forma lo harías vos.
No conozco ninguno pero he visto en aplicaciones de ejemplo algunas rutinas que dibujaban directamente sobre el formulario. Lastima que no tengo un código a mano, pero porque no te fijas en www.lawebdelprogramador.com
Respuesta
1
Tienes que agregar una referencia a microsoft script control y después programar algo como lo siguiente:
sprConceptos.Text = ScriptControl1.Eval(sFormulaProcesada)
Respuesta
Lo que debes de hacer es recorrer la cadena con un ciclo for y utilizar la expresión mid para que sepas de que se trata lo que debes de hacer es evitar que te pongan algunos caracteres extra eso lo programas con el keyascii..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas