Fórum é fácil, mas deu branco!! #142718

06/03/2003

0

olá,
Preciso fazer um loop usando for, por exemplo, para os checks.

A dúvida éh a seguinte:

Tenho 7 checks. Quero que quando eu for clicando em vários checks, ele vá somando, ex:

check1 = 30
Check2 = 15

Se eu clicar nos dois, o resultado terá que ser 45 e conforme for clicando ir somando e exibindo nuim edit.


Shikota

Shikota

Responder

Posts

06/03/2003

Ramerhy

Crie a variável ´soma´, do tipo ´extended´ na cláusula Private do form:

Private
soma:Extended;

No envento onCreate do form, inicie a variável: soma:=0;

Crie o seguinte procedimento:

Procedure TForm1.ChecaClick(Sender:TObject);
Begin
if Sender is TCheckBox then begin
if TCheckBox(Sender).Checked then
soma:=soma+StrtoFloat(TCheckBox(Sender).caption)
else
soma:=soma-StrtoFloat(TCheckBox(Sender).caption);
end;
(* Agora mostra no edit *)
EditSoma.text:=formatfloat(´#,0.00´,soma);
End;

Agora, faça que o evento onClick de cada CheckBox aponte para o procedimento acima.

ACho que vai dar certo...


Responder

Gostei + 0

06/03/2003

Poeta Noturno

Bom, para isso vc não precisa necessariamente de um for, basta vc usar o evento OnClick dos checks

usa uma variável do tipo integer ou double, dependendo do que vc gostaria de somar e no evento onclick vc teste quais checks estão checkados ou naum. os que tiver vc adiciona o valor à variável e depois converte pra texto para ser exibido no edit. Ex:

a: integer;

a := 0;
if check1.checked then
inc(a,[valor a ser somado]);
if check2.checked then
inc(a,[valor a ser somado]);
.
.
.

edit1.text := inttostr(a) ou floattostr(a);

espero que te sirva amigão

Até a próxima

Poeta Noturno


Responder

Gostei + 0

06/03/2003

Paulino

Sua dúvida é bem simples, porém interessante, utilize o método onClick do CheckBox e escreva o seguite código:

try
Edit1.Text:=0;
if CheckBox1.Checked then
begin
Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)+StrToFloat (CheckBox1.Caption));
end
else
begin
Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)-StrToFloat(CheckBox1.Caption));
end;
except
on E : Exception do ;
end;

Esse código serve tanto para checar os checkboxes como para
deschecá-los... ele tanto soma como subtrai os valores... Lembre-se de sempre pôr o valor inicial zero ao Edit1 .... Ou em tempo de execução ou em tempo de Projeto...

:shock:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar