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

Neven MacEwan neven at mwk.co.nz
Thu May 10 11:37:20 NZST 2007


Nick

Thats why you use a lower case prefix ie tmsActive, tmsPending, ...
verssu tllNormal, tllError, tllEnded...

HTH

Neven


> 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
>>
>>   
> _______________________________________________
> 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