Советы по Delphi

       

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


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

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

{$Z+}typeTMyEnum = (one, two, three);TEnumClass = Class( TComponent )privateFEnum: TMYEnum;publishedproperty Enum: TMyEnum read FEnum;End;
procedure TForm1.BtnTestClick(Sender: TObject);VarpOneName: PString;PropInfo: PPropInfo;beginPropInfo := GetPropInfo( TEnumClass.ClassInfo, 'ENUM' );pOneName := GetEnumName( PropInfo^.PropType, Ord(One));If pOneName <> Nil ThenShowMessage( pOneName^)ElseShowMessage('Nil!');end;

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

- Peter Below [000761]



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