Visual Basic - operaciones a partir de una cadena de caracteres

Life is soft - evento anual de software empresarial
 
Vista:

operaciones a partir de una cadena de caracteres

Publicado por Luis Rodriguez (1 intervención) el 30/10/2006 02:45:58
Necesito una gran ayuda.
Estoy realizando un programa que a partir de una función cualquiera pueda conseguir un resultado. La forma que estoy utilizando es colocar la función original en un textbox (X^2+X+3 por ejemplo. Cambio el valor de la X por un número y se la asigno a una variable. Solo que no logro que la operación se realice, pues claro está, es una cadena de caracteres.

Pense evaluar cada valor de la cadena de caracteres, solo que no consigo tampoco la forma de realizar dicha evaluación. Consegui la forma de evaluar n cantidad de caracteres a la derecha o a la izquierda de la cadena, más no el valor de un elemento de ella.

No necesito que me realicen el programa, solo que me ayuden a conseguir la forma de poder continuar el proyecto.

Muchas Gracias,

LUIS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:operaciones a partir de una cadena de caractere

Publicado por albertovicat (200 intervenciones) el 30/10/2006 11:01:21
Por lo visto has usado
Left(Cadena, longitud) y
Right(Cadena, Longitud)
... pero se te está olvidando Mid(Cadena, posición inicial, longitud)
Por ejemplo:

Car = Mid(Cadena, 4, 1) dejará a Car con contenido "+" si Cadena = "X^2+X+3"

Car = Mid(Cadena, 4, 2) dejará a Car con contenido "+X" si Cadena = "X^2+X+3"

Mid también se puede usar en sentido inverso, para poner algo dentro de una cadena en una posición específica.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:operaciones a partir de una cadena de caractere

Publicado por ricaurtem (313 intervenciones) el 30/10/2006 13:34:30
Si lo que quieres hacer es como un evaluador de funciones, como vas no se va a lograr muy bien, te recomiendo que para eso uses el scriptcontrol, con ese si puedes evaluar funciones. Yo hice uno una vez, pero lo tengo en casa, si me agregas al msn en la noche te lo envio (noche de mi pais).

Pero para que vayas trabajando buscate info sobre el scritpcontrol. ahi solo se usan dos cosas

sc1.add = "x^2+x+3"
sc1.add = "x=5"

sc1.eval

o de otra forma, es reemplazar las X por el valor en la ecuacion

asi

Dim oSC As New ScriptControl
Dim expMath As String
Dim expToEval As String

oSC.Language = "VBScript"

expMath = "X ^ 2 + 2 * X + 1"
expToEval = Replace(expMath, "X", 5)

MsgBox oSC.Eval(expToEval)


o creo que en vez de usar el scriptcontrol asi, puede reemplazar solamente y luego usar un CSingle( la expresion)

aunque el SControl te sirve mas para cuando son senos y cosenos y logaritmos

Sin(), Cos(), Tan(), ArcTan(), Log() (para logaritmo de base 10 o bien conocido como Ln) ,SQR(), etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar