[DUG] Why use a set when a string will work OK (and less code)?

Nick nick at salehoo.com
Thu May 10 11:28:44 NZST 2007


Nice thats even shorter :-)
So following on from this, what happens when you want to do something 
like this

TMyStatus = (Active, Pending, Ended, Paused, Deleted, Suspended);
TLogLevel = (Normal,Error,Ended);

This will cause an error as Ended appears twice.
How you can you get around this?
 



Paul Heinz wrote:
> Sean Cross wrote:
>
>   
>> TMyStatus = (Active, Pending, Ended, Paused, Deleted, 
>> Suspended); StatusMeanings = array[TMyStatus] of string = 
>> ('Active', 'Pending', 'Ended', 'Paused', 'Deleted', 'Suspended'); ...
>> ShowMessage(StatusMeanings[Status]);
>>     
>
> Also, Delphi can do this for you using RTTI - this is how enum
> properties work inside .dfms i.e. translating to/from string constants.
>
> Uses
>   TypInfo;
>
> ShowMessage(GetEnumName(TypeInfo(TMyStatus), Integer(Status));
>
> TTFN,
>   Paul.
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject: unsubscribe
>
>   


More information about the Delphi mailing list