Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Строковая нумерация

Автор: 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>!

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.