Ver la Versión Completa : calculos con stringgrid
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. :)
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. :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.