Главная страницаОбратная связьКарта сайта

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

Автор: Peter Below

Просто объявите перечислимый тип, информацию о котором можно получить во время выполнения программы, и создайте класс, который использует данный тип в 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>!


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Строковая нумерация", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info