PDA

Ver la Versión Completa : Sumar elementos de un ListBox


creus
15-01-2007, 21:01:27
Hola a todos,


Como puedo sumar todos los elementos númericos de un ListBox??

Gracias por la ayuda.

delphi.com.ar
15-01-2007, 21:06:24
No hay un método que te lo resuelva, vas a tener que recorrer la lista de los elementos y acumularlos en una variable.

Saludos!

Jucho69
16-01-2007, 18:33:36
Hola yo soy recien estrenado en el Foro y hé recibido ayuda de los que saben, en mi modesta opinión puedes resolver de la siguiente forma:

Yo utilizo un Combo pero debe funcionar igual con un List.


var can,zz: integer; a,b:string;
begin
can:=ComboBox1.Items.Count;
b:=0;
for zz:=0 to can do
begin
a:=b;
ComboBox1.ItemIndex:=zz;
Label2.Caption:=ComboBox1.Items[ComboBox1.ItemIndex];
b:=Label2.Caption;


luego conviertes los string de cada variable a numero y los sumas
dandote la suma de todos los items.

A mí me resultó espero que te sirva.

dec
16-01-2007, 18:55:50
Hola,

Encerrad el código entre las etiquetas correspondientes que gana un montón en legilibilidad.

Está la etiqueta "delphi" y hay no pocas más: echad un vistazo (http://clubdelphi.com/foros/misc.php?do=bbcode).

delphi.com.ar
16-01-2007, 19:34:05
Yo intentaría hacer algo sin cambiar el ItemIndex:

function SumStrings(Value: TStrings): Integer;
var
i: Integer;
begin
Result := 0;
for i := 0 to Value.Count - 1 do
Result := Result + StrToIntDef(Value[i], 0);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IntToStr(SumStrings(ListBox1.Items))
end;