>> Eller er jeg nødt til at gå den kedelige vej og lave en procedure for det?
>Nej, mon ikke nogle andre herinde lige kan lave den for-løkke? ;)
Okay, så lad gå da... Én måde at løse problemet på kan være sådan her:
procedure TForm1.SaetStatus(bStatus: Boolean);
var
iTaeller: Integer;
begin
for iTaeller := 0 to Form1.ComponentCount - 1 do
if Form1.Components[iTaeller].ClassType = TButton then
TButton(Form1.Components[iTaeller]).Enabled := bStatus;
end;
Bemærk at vi løber alle komponenter igennem, der tilhører Form1. Hvad
man herefter gør kan være forskelligt. Jeg har valgt at sammenligne
med om aktuelle komponent er af typen TButton. Og hvis det er
tilfældet, så sætter jeg aktuelle komponents tilstand til True eller
False. Dette gør jeg ved at typecaste komponenten som en TButton -
hvilket jeg kan tillade mig, da jeg forinden lige har sikret mig, at
det virkelig også ér en button. Det vil ellers give problemer, hvis
jeg f.eks. forsøger at... hmm, typecaste en label-komponent som en
button, hvis jeg bruger en property der ikke findes i TLabel klassen,
men kun i TButton klassen.
Mulighederne her er uendelige - og kan virkelig gøre ens kode noget
pænere og smartere. Man kan jo begynde at kombinere det med Tag numre
og så videre... Typecasting er cool! :)
Mvh, Claus Nielsen
--
e-mail: cnn@post6.tele.dk
homepage:
http://home6.inet.tele.dk/cnn