TCheckBox no Delphi

10/07/2021

0

Boa noite pessoal.

Tenho um panel (panel1) com outro panel dentro (panel2) e dentro do panel2 tenho 6 TCheckBox (CheckBox1 .... CheckBox6) e em cada CheckBox nas propriedades Tag de cada eu coloquei (CheckBox1 - tag: 1 , CheckBox2 - tag 2 ..... CheckBox6 - tag6). No botao Salvar eu digitei o codigo abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
  j: Integer;
  k: Integer;
begin
  CDS.First;
  for j := 0 to Pred(CDS.RecordCount) do
   begin
      for k := 0 to Pred(ComponentCount) do
        begin
          if (Components[k] is TCheckBox) then
           begin
             if not ((Components[k] as TCheckBox).Tag = CDSCOD.AsInteger) then
               begin
                 (Components[k] as TCheckBox).Enabled := False;
                  Break;
               end;
           end;
        end;

      CDS.Next;
   end;
end;


O que estou querendo fazer é, se não tiver no GRID na coluna COD o codigo correspondente ao checkbox o mesmo fique inativo e se tiver o checkbox fique ativo.
Como podem observar no link da imagem abaixo quando eu clico no botão Processa/Salvar apenas o checkbox1 - tag: 1 - caption: 15 dezenas fica inativo (isso porque ele nao achou no grid, coluna COD o codigo 1). A mesma coisas era para acontecer com os demais. Segue imagem com explicaçõe.

http://prntscr.com/1a2thbl
Rubens Pena

Rubens Pena

Responder

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

Aceitar