Power Builder - suma de editmask

   
Vista:

suma de editmask

Publicado por fernando (206 intervenciones) el 07/06/2014 18:18:55
hola que alguien me ayuden con los editmask que no se por que no suma esto le he puesto y nada me sale negativo y otro valor.

lo estoy problando con singlelineedit y hace lo mismo

//////////////////codigo/////////////

em_resm1m2.text = string(integer(integer(em_1.text) + (integer(em_2.text))))
sle_t.text = string(integer(integer(em_1.text) + (integer(em_2.text)))) /// este sle debería de mostrarlo bien pero igual


el otro codigo es este y hace lo mismo:

//////////// codigo/*///////////////////////////

int em1, em2, em3, em4, li_r1, li_r2
em1=integer(em_1.text)
em2=integer(em_2.text)
em3=integer(em_3.text)
em4=integer(em_4.text)
li_r1=em1 + em2
li_r2=em3 + em3
em_resm1m2.text = string(li_r1)
em_resm3m4.text = string(li_r2)


hace lo mismo no se a que se debe

me sale -xxxxxxxx

no se a que se debe

ayudenme
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

suma de editmask

Publicado por Fernando (206 intervenciones) el 08/06/2014 01:22:26
nadie respondio.....
bueno para los que tengan el mismo problema les dejo el codigo que logramos resolver

1
2
3
4
5
6
7
8
Dec lc_a, lc_b, lc_resultado
	 lc_a = Dec(em_1.text)
	 lc_b = Dec(em_2.text)
	choose case true
		case rb_sum.Checked
			lc_resultado = lc_a + lc_b
		end choose
	em_resm1m2.text = String(lc_resultado,"0")

listo
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
Imágen de perfil de xve

suma de editmask

Publicado por xve (16 intervenciones) el 08/06/2014 17:16:17
Gracias por compartirlo Fernando!!
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
Imágen de perfil de Adolfo

suma de editmask

Publicado por Adolfo (71 intervenciones) el 09/06/2014 17:14:30
Tu problema se debe al desbordamiento de la capacidad del tipo de dato integer, si el valor que estas manipulando es superior a 32,000 (y algo en este momento no recuerdo) mejor cambia de integer a long, te muestro:

tienes:
sle_t.text = string(integer(integer(em_1.text) + (integer(em_2.text))))

mas seguro y para evitar el desbordamiento del tipo de dato intenta esto:
sle_t.text = string(Long(em_1.text) + (Long(em_2.text))

Ve el archivo adjunto tiene un ejemplo que lo demuestra
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