PDA

Ver la Versión Completa : calculos con stringgrid


Jcn
04-05-2013, 18:42:39
hola, necesito que alguien me ayude con esta operacion, quiero sumar varias filas de una columna y multiplicarlo por un numero real, yo hice esto pero me aparece el error que dice is not valid integer value

for c:=3 to 3 do
begin
t:=0;
for f:= 1 to 4 do
t:=t +StrToInt(FloatToStr(StrToInt(StringGrid2.Cells[c,f])*0.65));
StringGrid2.Cells[3,6]:=IntToStr(t);
end;

ecfisa
04-05-2013, 20:34:22
Hola Jcn y bienvenido a Club Delphi :)

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php).

Es que estas trabajando mal las conversiones, si los números almacenados en las céldas en formato de cadena son suceptibles a ser convertidos en valores numéricos de punto flotante, tendrías que hacer:

var
...
f: Integer;
t: Extended;
begin
...
t := 0;
for f := 1 to 4 do
t := t +
StrToFloat(StringGrid2.Cells[3, f]) * // string -> Extended
0.65;
StringGrid2.Cells[3 ,6]:= FloatToStr(t); // Extended -> string
...

En tu código el ciclo de la variable c, es innecesario ya que siempre se trata de la columna 3 (for c:=3 to 3 do).

Saludos. :)

Jcn
04-05-2013, 20:46:06
Muchisimas gracias por tu ayuda, ya lo probe, funciona perfecto. Soy principiante en la programacion, me cuesta darme cuenta de como resolver correctamente el problema.

ecfisa
04-05-2013, 20:54:41
Hola Jcn.

Me alegra que mi respuesta te sirviera. :)

Aprovecho para pedirte que cuando pongas código en tus mensajes utilices TAG's (etiquetas) su uso es muy simple, te adjunto una imágen que lo explica:

http://img403.imageshack.us/img403/3461/75416396.jpg

Saludos. :)