Home How to exclude the first element of an enumerated Type used as an array index in delphi?
Reply: 1

How to exclude the first element of an enumerated Type used as an array index in delphi?

Nasreddine Abdelillah Galfout
1#
Nasreddine Abdelillah Galfout Published in 2017-11-14 16:12:07Z

I want to exclude the first value of this enumerated type

type
  TEnum = (val0, val1, val2, val3, val4);

in order to make this array

TBValues: array [low(TEnum)..High(TEnum)] of boolean;

contains only the last n-1 values (in this case n=5).

I tried this:

TBValues: array [low(TEnum)+1..High(TEnum)] of boolean; 

but I guess arithmetic operations are not allowed in this case because I'm getting this compiler error

E2010 Incompatible types: 'Int64' and 'TEnum'

How to do this?

David Heffernan
2#
David Heffernan Reply to 2017-11-14 16:22:20Z

What about the obvious:

TBValues: array [val1..val4] of boolean;

If you want to avoid the actual enum names, you can write it this way:

TBValues: array [Succ(low(TEnum))..High(TEnum)] of boolean;

For more information:

  • Succ
  • Pred
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.438182 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO