Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   sumar columna de StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=79334)

edgar_prospero 26-06-2012 18:49:31

sumar columna de StringGrid
 
que hay amigos a ver quien puede echarme una mano tengo un stringgrid al cual le voy agregando datos por medio de un edit hasta ahi todo bien mi problema es que quiero lograr sumar toda una columna llamada importe y lo intento con el siguiente codigo pero me marca el siguiente error:
exception class Econvert Error with message "" is not a valid integer value y lo extraño es que si meto 4 registros si me hace la suma ojala puedan ayudarme

Código Delphi [-]
var 
i, suma: integer; 
begin 
suma:=0; 
for i:=0 to StringGrid1.ColCount-1 do 
if i<=StringGrid1.ColCount-2 then 
suma:=suma+ StrToInt(StringGrid1.Cells[4,i+1]); 

label7.Caption:= intToStr(suma);

Casimiro Notevi 26-06-2012 19:11:51

Tienes una celda en blanco, sin valores.

edgar_prospero 26-06-2012 20:29:47

pues segun yo no hay celda en blanco como puedo hacer para identificarla si es que hay o hay alguna forma de evitar que me salga ese error en algun lugar lei que con un intdef pero al querer aplicarlo aqui no me deja

ecfisa 26-06-2012 20:34:08

Cita:

como puedo hacer para identificarla si es que hay o hay alguna forma de evitar que me salga ese error en algun lugar lei que con un intdef pero al querer aplicarlo aqui no me deja
Hola Edgar.

Cambia esta línea:
Código Delphi [-]
    suma:=suma+ StrToInt(StringGrid1.Cells[4,i+1]);

Por:
Código Delphi [-]
    suma:= suma + StrToIntDef(StringGrid1.Cells[4,i+1], 0);

Saludos.

edgar_prospero 26-06-2012 20:38:45

excelente respuesta ya con esto no me marca el error pero ahora tengo otro problema solo me suma 4 registros aun y ponga 6 o mas registros nomas me suma 4 alguna idea del porque no me suma mas?

Casimiro Notevi 26-06-2012 20:51:35

Pero, ¿estás sumando filas o columnas?

edgar_prospero 26-06-2012 20:52:37

son columnas las que estoy sumando pero solo me suma la columna que quiero de los 4 primeros registros que entran

Casimiro Notevi 26-06-2012 22:11:31

Ok, entonces creo que estás sumando la columna 4 solamente, ¿no?

Si mal no recuerdo, el stringgrid es [columna, fila]

Código Delphi [-]
suma:=suma+ StrToInt(StringGrid1.Cells[4,i+1]);

edgar_prospero 26-06-2012 23:20:31

es que tengo varias columnas que son cantidad, codigo, descripcion, importe y total los cuales voy llenando en el stringgrid y yo lo que quiero que me de es el total de total valga la rebundancia entonces de esa columna con el codigo que puse nomas me suma las primeras 4 ya de la quinta en adelante ya no las toma en cuenta


La franja horaria es GMT +2. Ahora son las 05:26:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi