function SOMATORIO quot; muita dor de cabeçaquot; !!!!!!

Delphi

13/03/2003

é o seguinte pessoal o programinha a baixo tem que pegar todos os valores que estivem apresentados no listbox somar e apresenta o total sando pra isso uma função.

AJUDA SERÁ BEM VINDA, OBRIGADO!


function SOMATORIO(x:Integer):Integer;
var
soma,i:Integer;
begin
Soma := 0;
for I := 0 to x-1 do
soma:=Soma + i;
result:=Soma;
end;

procedure TForm1.SomaClick(Sender: TObject);
var
x,i,n:integer;
begin
N:=ListBox1.Items.Count;
x:=StrToint(ListBox1.Items[i]);

{ teria que pegar todos os valores que estivesse no ´ ListBox1.Items ´ somar e retornar o valor total só que não estou conseguindo fazer isso alguem pode me ajudar ???
}

Edit2.Text:= IntToStr(SOMATORIO(N));
Edit1.SetFocus;
end;

procedure TForm1.AdicionarClick(Sender: TObject);
begin
if Edit1.Text<> ´ ´
then
ListBox1.Items.Add(Edit1.Text);
Edit1.Clear;
edit1.SetFocus;
end;


Harry

Harry

Curtidas 0

Respostas

Nebrio

Nebrio

13/03/2003

tente assim, coloque um botão com o nome de btnSoma:

procedure btnSomaClick(bla, bla...)
var i , x : integer;
begin
x:= 0;
for i := 0 to ListBox.Items.Count -1 do
begin
x := x + StrToInt(ListBox.Items[i].Text);
end;
Edit2.Text := IntToStr(x);
end; // procedure

Não testei, se não funcionar avisa


GOSTEI 0
Lfernandos

Lfernandos

13/03/2003

Bom para facilitar a sua vida vc poderia usar a função SOMATORIO abaixo. Ela recebe como parâmetro um TListBox, assim vc pode usar esta função para diversos ListBox no Form, basta quando chamar a função passar o nome do ListBox que deve ser usado para somar os itens.
Testei e funcionou perfeitamente.


function SOMATORIO(var ListBox: TListBox):Integer;
var
soma,i:Integer;
begin
Soma := 0;
For i := 0 to Pred(ListBox.Items.Count) do
try
Soma := Soma + StrToInt(ListBox.Items[i]);
except

end;

Result := Soma;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:= IntToStr(Somatorio(ListBox1));
Edit1.SetFocus;
end;


GOSTEI 0
POSTAR