Ver Mensaje Individual
  #2  
Antiguo 26-02-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
A ver tiro idea, y luego tu le das forma, chapa, pintura y quizá un cambio de aceite:

Código Delphi [-]
type
  TSubTotal = record
    Precio: currency;
    Cant: integer;
    SubTotal: currency;
  end;

  TVentas = array of TSubTotal;

var
  MisVentas: TVentas;

Código Delphi [-]
begin
  SetLength(MiVentas, 10);
  for i := Low(MisVentas) to High(MisVentas) do
  begin
    MisVentas[i].Precio := StrToCurr(FrameSubTotal.EditPrecio);
    MisVentas[i].Cant := StrToInt(FrameSubTotal.EditCant);
    MisVentas[i].SubTotal := MisVentas[i].Precio x MisVentas[i].Cant;
    FrameSubTotal.EditSubTotal := CurrToStr(MisVentas[i].SubTotal);
    Total := Total + MisVentas[i].SubTotal;
  end;
end;

En el ejemplo me baso en el uso de Frames. Básicamente el Frame contiene los edits para el precio, cantidad y subtotal. La aplicación crea tanto frames como se requiera.
En cuanto a la lógica es muy simple, dispongo de un arreglo dinámico y creo tantos registros subtotales como frames, les paso los datos y calculo.

Ahora te resta pulir y ver el modo de "actualizar" los cálculos antes algún cambio en algún frame... juega con los eventos.

Por otro lado, es muy fácil caer así sin nada sin siquiera al menos tirar una idea; es como pedir que te lo hagan. Pon de tu parte primero; PUNTUALIZA en tus propias dudas, que llevas hecho, o como lo estuviste al menos encarando, etc.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita