[fpc-devel] Ability to handle instance pointers as ordinal type.
Nikolai Zhubr
n-a-zhubr at yandex.ru
Sun Feb 21 11:49:15 CET 2016
Hi,
21.02.2016 13:37, thaddy at thaddy.com:
[...]
> x := (Sender As TComboBox);
> 8.
> 9.
> case x.Name of
> 10.
> 'ComboBox01':if x.ItemIndex = -1 then x.ItemIndex := PrjIndex else
> 11.
> begin
And what's wrong with just this:
if Sender = Combobox1 then
...
else if Sender = Combobox2 then
...
else
Regards,
Nikolai
> 12.
> end;
> 13.
> 'ComboBox02':if x.ItemIndex = -1 then x.ItemIndex := HubIndex else
> 14.
> begin
> 15.
> end;
> 16.
> 'ComboBox03':if x.ItemIndex = -1 then x.ItemIndex := RimIndex else
> 17.
> begin
> 18.
> end;
> 19.
> 'ComboBox04':if x.ItemIndex = -1 then x.ItemIndex := SpkIndex else
> 20.
> begin
> 21.
> end;
> 22.
> end;
> 23.
> End;
> 24.
> end;
> 25.
> 26.
>
> Now how much nicer it would be if you could write someting along the
> lines of:
>
> 1.
> procedure TFrame00.ComboBoxChanged(Sender: TObject);
> 2.
> begin
> 3.
> If Sender Is TComboBox Then
> 4.
> case TCombobox(sender) of
> 5.
> Combobox1:;
> 6.
> ComboBox2:;
> 7.
> ComboBox3:;
> 8.
> end;
> 9.
> end;
>
> In other words, use the instance pointer as an ordinal value.
> It looks a lot more logical but as it stands it is of course invalid syntax.
> Is it possible to implement?
> If so, has it any value? To me at least it looks feasable and less like
> syntactic sugar than some features.
>
>
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
More information about the fpc-devel
mailing list