Autor
|
Tema: Funcion de Expresion logica. (Leído 8,526 veces)
|
mdg
Desconectado
Mensajes: 73
|
Buenas colegas nuevamente!
De que manera puedo crear una funcion en la que yo pueda pasarle un operador por ejemplo:
Txt= LogicaSI(10,>,9,1)
como Resultado 1
Me imagino que no debe ser de esta manera pero es como se me ocurre explicarles para que puedan ayudarme.
Gracias de antemano por su tiempo...
|
|
|
En línea
|
|
|
|
~~
|
Pero exactamente q kieres hacer?? una funcion q te diga si un numero es mayor q otro o que? explicate un poco mejor please
1S4ludo
|
|
|
En línea
|
|
|
|
soplo
Ex-Staff
Desconectado
Mensajes: 3.592
Debian rool'z
|
A ver sub Main() Dim Sw as boolean Sw=ObtenerResultado() if sw then label1="obtuviste un true" else label1="obtuviste un false" endif end sub Function ObtenerResultado() ' aquí hacer el cálculo que sea El resultado dejarlo en ObtenerResultado ObtenerResultado=ValorObtenido end function
|
|
|
En línea
|
Callar es asentir ¡No te dejes llevar!
|
|
|
Syphroot
Desconectado
Mensajes: 268
All You Need To Do Is Follow The Worms
|
Supongo quieres una funcion que se definiria algo asi: Function LogicaSI(Valor1 as Integer, Operacion as String, Valor2 as Integer, Resultado as Integer)
LogicaSI(10,>,9,1) Lo que pienso que quieres es que tome el "10" haga la operacion ">" mayor que con el segundo valor "9" y si es verdadero devuelva el valor que le pones al cuarto parametro... si es asi haz algo asi: Function LogicaSI(Valor1 as Integer, Operacion as String, Valor2 as Integer, Resultado as Integer)
Select Case Operacion Case ">" If Valor1 > Valor 2 Then LogicaSI = Resultado Case "<" If Valor1 < Valor 2 Then LogicaSI = Resultado
Case "="
If Valor1 = Valor 2 Then LogicaSI = Resultado
Case "<>"
If Valor1 <> Valor 2 Then LogicaSI = Resultado
'Como ves, esto da para mucho, por ejemplo:
Case ">="
If Valor1 >= Valor 2 Then LogicaSI = Resultado
Case "<="
If Valor1 <= Valor 2 Then LogicaSI = Resultado
End Select
End Function
Y para hacer la llamada a la funcion con los valores que tienes y ponerlos en un TextBox asi: Txt.Text = CStr( LogicaSI(10, ">", 9, 1) )
El operando lo pones entre comillas y listo... saludos
|
|
|
En línea
|
|
|
|
mdg
Desconectado
Mensajes: 73
|
Hola! gracias a todos por responder:
Syphroot , me resulto mas practica tu solucion, solo me queda una pregunta, es posible de alguna manera pasar ese operador pero sin comillas solo >, de no ser posible, consideren el asunto re-suelto.
|
|
|
En línea
|
|
|
|
Syphroot
Desconectado
Mensajes: 268
All You Need To Do Is Follow The Worms
|
No es posible, de hecho creo que en ningun lenguaje porque son operaciones de comparacion y estos caracteres tienen significados especiales para cada lenguaje... por cierto, hay una errata (aunque asi funciona) pero para que este mejor especificado declara la funcion asi:
Function LogicaSI(Valor1 as Integer, Operacion as String, Valor2 as Integer, Resultado as Integer) as Integer
o el tipo que quieras devolver...
saludos
|
|
|
En línea
|
|
|
|
~~
|
Yo creo q si que se podria... cojes los datos por ej 15 < 2 y haces un split por el espacio, y luego ya comparas el simbolo Lo entiendes no?
|
|
|
En línea
|
|
|
|
mdg
Desconectado
Mensajes: 73
|
Gracias por sus respuestas, pueden cerrar el asunto.
|
|
|
En línea
|
|
|
|
|
|