Hmmm... wondering if you really tested your code...
doing a for loop is not the same as the foreach
construct (which is for collections). enumerated types
are actually integers and you can typecast back and
forth. so "for i := Low(TyourEnum) to High(TyourEnum)
do" will actually convert to "for i := 5 to 25 do"


--- Micha� Wo�niak <[EMAIL PROTECTED]> wrote:

> Nope, it's not.
> Consider:
> TMyType (enum1=5, enum2=15, enum3=25);
> high() - low() will give you 20, whereas iterating
> through the enums will give 
> you 3.
> 
> Cheers
> Mike
> 
> >  it's the same thing with high()-low().
> >
> >  --- Mike Shkolnik <[EMAIL PROTECTED]> wrote:
> >  > Try the next
> >  >
> >  > var
> >  >   Data: PTypeData;
> >  >   i: Integer;
> >  > begin
> >  >   Result := 0;
> >  >   Data := GetTypeData(TypeInfo(TyourEnum));
> >  >   for i := Data^.MinValue to Data^.MaxValue
> >  >     Inc(Result)
> >  > end
> >  >
> >  > or
> >  >
> >  > var
> >  >   i: TyourEnum;
> >  > begin
> >  >   Result := 0;
> >  >   for i := Low(TyourEnum) to High(TyourEnum) do
> >  >     Inc(Result)
> >  > end
> >  >
> >  > But personally I don't use the enum types with
> >  > predefined value for items
> >  >
> >  > With best regards, Mike Shkolnik
> >  > EMail: [EMAIL PROTECTED]
> >  > http://www.scalabium.com
> >  >
> >  > --- Jonathan Mora <[EMAIL PROTECTED]>
> wrote:
> >  > > won't work with
> >  > >
> >  > > type
> >  > > SomeEnum = (enum1=1, enum2, enum3=9, enum4,
> >  > > enum5=50);
> >  > >
> >  > > --- Mike Shkolnik <[EMAIL PROTECTED]>
> wrote:
> >  > > > Result :=
> Ord(High(aEnum))-Ord(Low(aEnum))+1
> >  > > >
> >  > > > Or use the RTTI (TypInfo unit) and read the
> >  > > > MaxValue/MinValue from type:
> >  > > > var
> >  > > >   Data: PTypeData;
> >  > > > begin
> >  > > >   Data := GetTypeData(TypeInfo(TEnum));
> >  > > >   <you need the Data^.MinValue and
> >  >
> >  > Data^.MaxValue>
> >  >
> >  > > > end
> >  > > >
> >  > > > With best regards, Mike Shkolnik
> >  > > > EMail: [EMAIL PROTECTED]
> >  > > > http://www.scalabium.com
> >  > > >
> >  > > > --- Andries Bos <[EMAIL PROTECTED]>
> wrote:
> >  > > > > hello
> >  > > > > 
> >  > > > > How do i get the amount of enumerated
> types
> >  > > >
> >  > > > defined:
> >  > > > > 
> >  > > > > Some code:
> >  > > > > type
> >  > > > > SomeEnum = (enum1, enum2, enum3);
> >  > > > > 
> >  > > > > function ABC  : integer
> >  > > > > var AEnum : Someenum;
> >  > > > > begin
> >  > > > > result := ord(high(aEnum)) 
> >  > > > > end;
> >  > > > > 
> >  > > > > Result will return the ordinal of the
> highest,
> >  > >
> >  > > but
> >  > >
> >  > > > > is there a direct way of getting the
> count of
> >  > >
> >  > > this
> >  > >
> >  > > > > enum list?
> >  > > > > 
> >  > > > > Regards
> >  > > > > 
> >  > > > > andries
> >  >
> >  >
> __________________________________________________
> >  > Do You Yahoo!?
> >  > Tired of spam?  Yahoo! Mail has the best spam
> >  > protection around
> >  > http://mail.yahoo.com
> >
> >             
> >  __________________________________
> >  Do you Yahoo!?
> >  Yahoo! Mail - Helps protect you from nasty
> viruses.
> >  http://promotions.yahoo.com/new_mail
> >
> >
> > 
>
-----------------------------------------------------
> >  Home page:
> http://groups.yahoo.com/group/delphi-en/
> >  To unsubscribe:
> [EMAIL PROTECTED]
> >
> >
> >
> >
> > Yahoo! Groups Sponsor
> >
> >
> >
> > ADVERTISEMENT
> >
> >
> >
> >
> >
> >
> >
> >  Yahoo! Groups Links
> >
> > To visit your group on the web, go to:
> > http://groups.yahoo.com/group/delphi-en/
> >  
> > To unsubscribe from this group, send an email to:
> > [EMAIL PROTECTED]
> >  
> > Your use of Yahoo! Groups is subject to the Yahoo!
> Terms of Service.
> 
> 



                
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - 250MB free storage. Do more. Manage less. 
http://info.mail.yahoo.com/mail_250


-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/delphi-en/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to