Fórum checkbox #379263
10/06/2010
0
Amigos
Tenho no Form 5 checkbox gostoria de saber como faço para verificar (consistencia ) se o usuario selecionou 1 ou mais checkbox.
se seleiconou 1 ou mais = ok
se não selecionou nenhum = ShowMessage('favor selecionar');
Tenho seguinte codigo .
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
For i := 0 to ComponentCount - 1 do
Begin
if Components[i].ClassType = TCheckBox then
If (TCheckBox(Components[i]).checked = False)
Then
begin
ShowMessage('favor selecionar');
end else
begin
ShowMessage('ok, um selecionado'); //
end;
end;
end;
Só que nesse caso tenho que selecionar todos.
Obrigado
Frost
Curtir tópico
+ 0Posts
10/06/2010
Wilson Junior
Gostei + 0
10/06/2010
Frost
Wilson
Não, quero saber o seguinte se o usuario não selecionou nenhum não deixar salvar, se selecionou 1 ou 2 salva normalmente
seria mesma coisa ou quase.
Ex:
if checkbox1.checked = false then
begin
Application.MessageBox('favor selecionar checkbox1 ','[Informação]',MB_ICONINFORMATION + MB_OK);
end
else
dm.query.post. // grava
só que como são 5 checkbox não queria ficar fazendo if., queria varrer todos os checkbox e verificar se não tiver pelo menos 1 selecionado obrigar então a selecionar 1 checkbox dos 5.
Obrigado
Gostei + 0
10/06/2010
Marco Salles
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to self.ControlCount - 1 do
if self.Controls[i] is TCheckBox then
if TCheckBox(Controls[i]).Checked then
begin
Showmessage('ok, um selecionado');
exit;
end;
Showmessage('Favor Selecionar');
end;
se seleiconou 1 ou mais = ok
se não selecionou nenhum = ShowMessage('favor selecionar');
Gostei + 0
11/06/2010
Frost
Amigos
Obrigado Wilson e MARCO.
Marcos
Deu certinho o código, fia uma pegquena alteração
var
I: Integer;
begin
for I := 0 to self.GroupBox.ControlCount - 1 do
if self.GroupBox.Controls[i] is TCheckBox then // GroupBox
if TCheckBox(GroupBox.Controls[i]).Checked then
begin
DM.Q_docpendente.Post;
Application.MessageBox('Proposta Salva com Sucesso','Informação', + MB_ICONINFORMATION + MB_OK);
exit;
end;
Application.MessageBox('Favor Informar Documento pendente','[SICOP]- Atenção', MB_ICONWARNING + MB_OK);
end;
Obrigado e um bom final de Semana.
Gostei + 0
04/01/2013
Marcus Passos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)