Amigo creo que podrias ahorrarte algunas lines haciendo lo siguiente:
Código Delphi
[-]
For i:=1 to Ffactura.SGFact.RowCount-1 do
begin
if Ffactura.SGFact.Cells[0,i]= Trim(wcodigobarras) then
begin
wcodigomodificar:=Ffactura.SGFact.Cells[0,i]; wdescripcionmodificar:=Ffactura.SGFact.Cells[1,i]; wcantidadmodificar:=StrToInt(Ffactura.SGFact.Cells[2,i]); wpreciomodificar:=wprecioventa;
wdescuentomodificar:=StrToFloat(Ffactura.SGFact.Cells[4,i]);
Ffactura.SGFact.Cells[0,i] :=wcodigobarras; Ffactura.SGFact.Cells[1,i]:=wdescripcionmodificar;
if wcantidad_venta<>0 then
wventa_totalmodificada:=wcantidadmodificar+wcantidad_venta
else
wventa_totalmodificada:=wcantidadmodificar+1;
Ffactura.SGFact.Cells[2,i]:=IntToStr(wventa_totalmodificada); wprecio_total:=(wventa_totalmodificada*wprecioventa); Ffactura.SGFact.Cells[5,i] := Format('%8.2f',[wprecio_total]);
calcula_totales;
wcantidad_venta:=0;
Ffactura.txtcodigo.SetFocus;
wcodigobarras:='';
Exit;
end;
end;
end;
Saludos