quarta-feira, 12 de maio de 2010

Desativando todos Checkbox de uam so vez

E ai pessoal sempre aprendendo

Precisava desligar os TEVcheckbox de meu formulario qdo eu clicasse em um apagasse todos ao mesmo tempo
antes havia feito assim.

em cada componente no on clique no evento coloquei

EvCheckBox1.Checked := False;

EvCheckBox2.Checked := False;
EvCheckBox3.Checked := False;
EvCheckBox4.Checked := False;
EvCheckBox5.Checked := False;
EvCheckBox6.Checked := False;
EvCheckBox7.Checked := False;
EvCheckBox8.Checked := False;
EvCheckBox9.Checked := False;
EvCheckBox10.Checked := False;
e no

EvCheckBox10.Checked que eu precisava que ficasse checado coloquei true := true;

Mas caramba 10 linhas em cada um serao 100 linhas

Resolvi diminur as linhas

Criei a proceure

procedure TF_lancamentos_abre.Desliga_chk ;
begin
EvCheckBox1.Checked := False;
EvCheckBox2.Checked := False;
EvCheckBox3.Checked := False;
EvCheckBox4.Checked := False;
EvCheckBox5.Checked := False;
EvCheckBox6.Checked := False;
EvCheckBox7.Checked := False;
EvCheckBox8.Checked := False;
EvCheckBox9.Checked := False;
EvCheckBox10.Checked := False;
end;

e no clique do componente deixava assim

Desliga_chk;
EvCheckBox10.Checked := True;
ligando assim o que eu precisava diminui de 100 linhas para apenas 10

bom ai veio a pergunta poderia ficar melhor ainda???


poderia sim.. nesta procedure abaixo criada.............

procedure TF_lancamentos_abre.Desliga_chk ;
begin
EvCheckBox1.Checked := False;
EvCheckBox2.Checked := False;
EvCheckBox3.Checked := False;
EvCheckBox4.Checked := False;
EvCheckBox5.Checked := False;
EvCheckBox6.Checked := False;
EvCheckBox7.Checked := False;
EvCheckBox8.Checked := False;
EvCheckBox9.Checked := False;
EvCheckBox10.Checked := False;
end;



deixar ela ficar assim

procedure TF_lancamentos_abre.Desliga_chk ;
var i : Integer;
begin
for I := 0 to ComponentCount - 1 do
begin
if (Components[I] is TEvCheckBox ) then
TEvCheckBox(Components[I]).Checked := False;
end;
end;

saindo todo este texto abaixo

EvCheckBox1.Checked := False;
EvCheckBox2.Checked := False;
EvCheckBox3.Checked := False;
EvCheckBox4.Checked := False;
EvCheckBox5.Checked := False;
EvCheckBox6.Checked := False;
EvCheckBox7.Checked := False;
EvCheckBox8.Checked := False;
EvCheckBox9.Checked := False;
EvCheckBox10.Checked := False;

e no on clique do componte

procedure TF_lancamentos_abre.EvCheckBox10Click(Sender: TObject);
begin
Desliga_chk; //procedure criada
EvCheckBox10.Checked := True; // e o componente que quero checado
end;


creditos Professor Marco












Nenhum comentário:

Postar um comentário