Holas a todos.
Por favor alguien puede ayudarme?
Tengo una tabla con campos definidos de tipo INT. Pues tengo problemas al realizar la operacion de la suma:
Código:
TotalRecibido.Text:=IntToStr(Round(Rec-(Cant*Rec*San/100)));//Hasta aqui perfecto
Fmensual.MontoTR.Text:=IntToStr(StrtoInt(Fmensual.MontoTR.Text)+StrtoInt(Fmensual.TotalRecibido.Text));//aqui el problema
Donde 1ero:
Obtengo el total recibido sin problema y seguidamente quiero sacar el monto total recibido, que seria la suma del monto total recibido ya antes obtenido(osea del registro anterior), mas el reciente total recibido.
Pero me aparece error.
Project Pbecarios.exe raised exception class EConvertError with message "'is not a valid integer value'. Process stopped. Use Step or Run to continue.
Bueno entiendo que no puedo convertir el valor... Por si acaso estoy usando base de datos SQL server.
Entonces como puedo hacer, por favor alguien?
Publicado:
Mie Abr 07, 2010 9:35 pm
agustinbus Excelente usuario
Registrado: Apr 17, 2009 Mensajes: 38
Asunto: Re: Sumas continuas
Anuncios
Sizne escribió:
Holas a todos.
Por favor alguien puede ayudarme?
Tengo una tabla con campos definidos de tipo INT. Pues tengo problemas al realizar la operacion de la suma:
Código:
TotalRecibido.Text:=IntToStr(Round(Rec-(Cant*Rec*San/100)));//Hasta aqui perfecto
Fmensual.MontoTR.Text:=IntToStr(StrtoInt(Fmensual.MontoTR.Text)+StrtoInt(Fmensual.TotalRecibido.Text));//aqui el problema
Donde 1ero:
Obtengo el total recibido sin problema y seguidamente quiero sacar el monto total recibido, que seria la suma del monto total recibido ya antes obtenido(osea del registro anterior), mas el reciente total recibido.
Pero me aparece error.
Project Pbecarios.exe raised exception class EConvertError with message "'is not a valid integer value'. Process stopped. Use Step or Run to continue.
Bueno entiendo que no puedo convertir el valor... Por si acaso estoy usando base de datos SQL server.
Entonces como puedo hacer, por favor alguien?
Una recomendacion es que uses variables para almacenar los valores ya se de edits, campos de tablas, labels o lo que sea ya que como lo pusiste es un poco confuso y lleva a cometer errores por ejemplo:
si tengo 5 edits y deceo hacer lo siguiente:
edit5 = (edit1 + edit2 + edit3) * edit4
el codigo seria muy confuso y pesado para la vista, y muy vulnerable a errores, seria algo asi:
algo mas legible seria crear variables para cada edit:
Código:
...
var
A : integer;
B : integer;
C : integer;
D : integer;
E : integer;
begin
A := StrToInt(edit1.text);
B := StrToInt(edit2.text);
C := StrToInt(edit3.text);
D := StrToInt(edit4.text);
E := (A+B+C)*D;
edit5.text := IntToStr(E);
...
Como veras el codigo es mucho mas legible, y menos vulnerable para cometer errores...
Prueba eso y me decis
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A