Советы по Delphi

         

Строковая нумерация


Просто объявите перечислимый тип, информацию о котором можно получить во время выполнения программы, и создайте класс, который использует данный тип в published-свойстве.

ClassInfo - метод класса, поэтому вы можете его использовать вместо экземпляра объекта. Но прежде вам необходимо заиметь этот класс, иначе никакого RTTI...

    {$Z+} type TMyEnum = (one, two, three); TEnumClass = Class( TComponent ) private FEnum: TMYEnum; published property Enum: TMyEnum read FEnum; End;


procedure TForm1.BtnTestClick(Sender: TObject); Var pOneName: PString; PropInfo: PPropInfo; begin PropInfo := GetPropInfo( TEnumClass.ClassInfo, 'ENUM' ); pOneName := GetEnumName( PropInfo^.PropType, Ord(One)); If pOneName <> Nil Then ShowMessage( pOneName^) Else ShowMessage('Nil!'); end;

Черная магия <G>!

- Peter Below [000761]



Содержание раздела