Habilitar vários botões de acordo com IBDataSetCampo

Delphi

30/09/2006

Em um programa de controle de aulas(lições), o aluno escolhe seu nome depois a lição (não à revelia)
Na tbAlunos tem os campos Codigo, Aluno, Licao(integer)
No form1 o aluno clica em seu nome no dbgrid, e clica em btnConfirmar que chama o form2 com botões de chamadas das lições (num total de 100 lições, há um botão numerado respectivamente para cada lição), pronto.
Esses botões tem sua propriedade Enable:=False

A dúvida é como programo isso aqui:

* Habilitar todos os botões que seus números forem menor ou igual ao n° da lição(IBDataSet1LICAO) que o aluno já escolhido estar.

* os demais devem permanecer Enable:=False

Obrigado


Simaops

Simaops

Curtidas 0

Respostas

Marco Salles

Marco Salles

30/09/2006

tem outras maneiras de fazer isto.. depende da abastração de quem a realiza

pensei em usar a propriedade tag do botoes... Acione esta propriedade pelo Objecto Inspectos e defina o valor igual ao numero da Lição

Botao da lição1 -->> tag1 [b:936eca3f39]Botao da liçaon -->>tagn[/b:936eca3f39]


depois é so fazer uma ´[b:936eca3f39]varredura[/b:936eca3f39]´ , habilitando esses botoes , com a proceudere abaixo:

var 
i:integer; 
begin 
for i:=0 to formulario.ComponentCount-1 do 
  if Formulario.Components[i] is Tbutton then
     if Tbutton(Formulario.Components[i]).Tag <= NumeroDaLicao Then 
          Tbutton(Formulario.Components[i]).Enabled:= true; 
end; 



GOSTEI 0
Simaops

Simaops

30/09/2006

Blz Marcao

Funcionou granfino, essa da tag aí é mais uma que aprendi e pelo que entendi os components ficam enumerados por ela.

muito obrigado.


GOSTEI 0
Marco Salles

Marco Salles

30/09/2006

fico feliz que tenha dado certo.


GOSTEI 0
POSTAR