Power Builder - Obtener el Resultado de una Formula

 
Vista:

Obtener el Resultado de una Formula

Publicado por David (97 intervenciones) el 30/05/2003 23:04:30
HOLA.. SOY DE PARAGUAY Y MI PREGUNTA ES LA SGTE..

SUPONGAMOS QUE TENGA UN EDIT MASK QUE TENGA EL SGTE. VALOR...
5-9-6+8*9*3
COMO SE DARAN CUENTA ES UNA FORMULA MATEMATICA..
LO QUE NECESITO ES SABER EL RESULTADO DE LA FORMULA..

MI PROBLEMA ES IDENTIFICAR LOS OPERADORES COMO INSERTARLOS EN LA FUNCION PARA QUE ME DE EL RESULTADO..
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:Obtener el Resultado de una Formula

Publicado por Ricardo (1957 intervenciones) el 30/05/2003 23:17:22
1. Evaluas caracter por caracter.
3. utilizas 3 variables: 1 para la primer cantidad, 2 para el signo y 3 para la segunda cantidad
2. Cada caracter lo almacenas en una variable.
3. Sigues hasta encontrarte con un signo (creas un case para comparar)
4. Continuas la evaluacion de la siguiente cantidad
5. Te encuentras con otro simbolo.
6. validas que la var 1 y 3 tengan algo y aplicas el signo (la operacion) el resultado se lo pasas a la var 1 y continuas el ciclo.

El case puede ser:

if Dec(is_prevnum) > 0 then
CHOOSE CASE is_sign
CASE '+'
ls_num = String(Dec(is_prevnum) + Dec(is_num))
CASE '-'
ls_num = String(Dec(is_prevnum) - Dec(is_num))
CASE '/'
ls_num = String(Dec(is_prevnum) / Dec(is_num))
CASE '*'
ls_num = String(Dec(is_prevnum) * Dec(is_num))
END CHOOSE
else
ls_num = is_num
end if

Espero te sirva la idea.

Saludos!
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

RE:Obtener el Resultado de una Formula

Publicado por David (97 intervenciones) el 31/05/2003 00:06:27
Muchicimas gracias... me ha servido tu idea..
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

RE:Obtener el Resultado de una Formula

Publicado por Jorge (900 intervenciones) el 03/06/2003 15:09:41
*****
Sin querer primero envie una nueva nota
aqui va de nuevo-

Quizas pueda servirte

Utilizar la propiedad expression de la dw sobre un coputefield
en este ejemplo calculador es el compute que al asignarle
el valor de la formula de la variable expresion me devuelve
el resultado del calculo.
Yo a esto lo estoy utilizando con un generador de Formulas
con el cual el usuario elige las columnas a calcular y le aplica
los signos y demas.
Suerte...


String expresion
String formula
Expresion = (1 + 5 + (3*6)) / 2

Formula = \'\"\'+ Expresion + \'\"\'
dw_1.Object.calculador.Expression = Formula
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