PDA

Ver la Versión Completa : Problemas Sumando Memo1.Memo + Memo2.Memo


JuanErasmo
02-02-2008, 16:36:30
HOla amigos,
tengo un problema y no se como solucionarlo,,,

Estoy intentando generar un reporte, el cual tiene una formula y luego muestra el resultado.


El problema es que en vez de sumar los campos, me esta concatenando los strings.....

lo estoy haciendo asi:


begin


Res1:=Trim(Memo17.Memo) + Trim(Memo18.Memo)+ Trim(Memo20.Memo)+Trim(Memo21.Memo);
Res:=Res1;

end


y Res, lo muestro en el Memo de resultados, pero obtengo los strings concatenados...por ejemplo,,,,sumo, 1+1+1+1 y obtengo, 1111.

Como puedo solucionarlo?
ALguna forma de hacer la suma real???

Gracias!

dec
02-02-2008, 16:40:27
Hola,

Obtienes lo que puede esperarse, ¿no? Si quisieras incluir el signo "más" deberías añadirlo en una cadena. Porque de otro modo este será tratado como lo que es, entre otras cosas, el "concatenador" de cadenas en Delphi. Pero, un momento, ¿se me escapa algo? No puede ser que tú no sepas esto. Así que hay algo que yo no sé ver. ;)

Ivanzinho
02-02-2008, 16:49:36
A parte de lo dicho por dec, si deseas obtener un resultado debes pasar los Strings que obtienes a integer con la función StrToInt()

Un saúdo

JuanErasmo
02-02-2008, 16:56:29
Gracias,
Cuando le hago StrToInt, me sale un error.....
lo hago asi, y si me hace la resta,,,,,

begin


Res1:=(Memo17.Memo) -(Memo18.Memo)-(Memo20.Memo)-(Memo21.Memo);
Res:=Res1;

end

JuanErasmo
02-02-2008, 16:58:45
Me sale esto:

An error ocurred during calculating [Res]
Report1
Memo27

Invalid Variant Operation.

eduarcol
02-02-2008, 17:03:43
que version de delphi utilizas, con que reporteador estas trabajando??, cual es el contenido de los memos??

Seguro que en memo27 no hay un valor no numerico??

JuanErasmo
02-02-2008, 17:06:10
fast Report 2.5
,,,,,
EL contenido de los memos es 0 .

Gracias!

JuanErasmo
04-02-2008, 22:43:34
Retomando,,,,

Que otro simbolo puedo utilizar para sumar el contenido de 2 memos???

Me funcionan todas las operaciones menos la suma,,,y lo peor,, no se porque!!


Es asi de simple, pero no funciona,,,,necesito una ayuda por favor.

begin


Res:= (Memo17.Memo) + (Memo18.Memo);



end

y luego muestro el [Res].....y no hace la operacion....solo hace resta, multiplicacion y division correctamente,,, pero suma no,,,,,,,creo que esta tomando el operador como no es,, pero ,, como le digo que es suma, suma'????
Gracias.

JuanErasmo
04-02-2008, 23:02:22
Me suma enteros,,, cuando le pongo Int, pero,, no me suma Float,,,,

Como hago para que me sume Float????

Gracias

felipe88
04-02-2008, 23:29:37
Me suma enteros,,, cuando le pongo Int, pero,, no me suma Float,,,,

Como hago para que me sume Float????

Gracias

Cuando le pones tipo Int a res ? o en donde...
Ya probaste con tipos reales...

JuanErasmo
05-02-2008, 14:40:13
no me suma tipo float,,,,

es decir,,



Res:= Float(Memo17.Memo) + Float(Memo18.Memo);



Tambien he intentando con FloatToStr y StrToFloat,,, y tampoco,,,,,
Alguien puede ayudarme??? llevo 2 dias en esto,,, estoy desesperado......
Gracias