Hola,
mira el siguiente es el codigo del evento oncreate:
Código Delphi
[-]procedure TrForm.FormCreate(Sender: TObject);
var
i: integer;
total: extended;
begin
total:= 0;
for i:= 0 to lista.Items.Count -1 do
begin
total:= total + (StrToFloat(lista.Items.Item[ i ].Caption ));
Label35.Caption:= FloatToStr(total);
end;
end;
**Lo que está como comentario, son pruebas que he ido haciendo sin mayor importancia **
Por otra parte, el código que le manda el valor precio a la lista (TlistView) es este:
Código Delphi
[-]procedure TpDatos.Button2Click(Sender: TObject);
var
valores : array[1..100 , 1..100] of longint;
i,j, valor: longint;
begin
...
with rForm.lista.Items.Add do
begin
...
if Form1.ch3.Checked then
subItems.Add('Si')
else
subItems.Add('No');
if Form1.ch4.Checked then
subItems.Add('Si')
else
subItems.Add('No');
SubItems.Add(form1.Label17.Caption);
...
end;
...
end;
A su vez, Label17 parte del formulario 1 y almacena la suma de los precios segun los articulos seleccionados por el cliente. Al hacer clic sobre el boton2 se envia el valor de label17 del formulario 1 directamente a la columna de precios de la lista. Así cada vez que se agregan nuevos articulos, al final, en el oncreate del rForm (ver más arriba), debería sumar esa columna de precios, pero como has visto solo muestra el valor del ultimo elemento introducido en la lista.
Espero haberme explicado mejor ahora. Otra cosa, lo del label17 del formulario 1 que va directamente a la lista del formulario rForm... etc sé que no es lo mas elegante ni lo mas eficiente, pero no conozco otra forma de hacerlo, quiero decir, sin saltar de un form a otro.
Un saludo.