Fórum erro ao contar o numero de checkbox #472710
12/03/2014
0
segui a dica de um colega do forum para contar o numero de checkbox selecionados, conforme codigo abaixo, mas nao entra no FOR!!
le a linha do for e vai direto para o final!
Alguem pode me ajudar?
begin
//verificando na tabsheet quantos checkbox foram selecionados
count := 0;
for i := 0 to tbshtRandomNumbers.ComponentCount - 1 do
begin
o:=components[i];
if (o is TCheckBox) and ((o as TCheckBox).Checked) then
begin
count := count+1;
showmessage(inttostr(count));
end;
end;
end;
Cristina Silva
Curtir tópico
+ 0Posts
12/03/2014
Marcos Oliveira
Segue abaixo um modo que uso para fazer essa contagem. A programação é um pouco diferente, mas a lógica é a mesma.
var
i, iCheck: Integer;
begin
iCheck := 0;
for i := 0 to Form1.ComponentCount - 1 do
begin
if (Components[i].ClassType = TCheckBox) and ((Components[i] as TCheckBox).Checked) then
Inc(iCheck);
end;
ShowMessage(IntToStr(iCheck));
Att,
Marcos
Gostei + 0
12/03/2014
Luiz
Por que não utilizar um CheckListBox, dessa forma é só percorrer a lista, e somar, por exemplo:
procedure TFrmLogin.Button5Click(Sender: TObject);
var
i, count : integer;
begin
count := 0;
for I := 0 to CheckListBox1.Count - 1 do
begin
if CheckListBox1.Checked[I] then
count := count + 1;
end;
ShowMessage(IntToStr(count));
end;
Gostei + 0
12/03/2014
Cristina Silva
Gostei + 0
12/03/2014
Cristina Silva
Mas inicialmente eu tinha feito desta forma, mas nao sei o motivo, mas eu clicava em uma mesma box seguidas vezes, parava e funcionar!
Por isso resolvi fazer separado
Gostei + 0
13/03/2014
Luiz
Mas que bom que já consegui resolver seu problema!
Abraços.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)