скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Перевести значения перечисляемого типа в строки



Оформил: DeeCo

{ 
  You obtain a string equivalent of an enumerated type value using the 
  GetEnumName function: 
}

  function GetEnumName(TypeInfo: PTypeInfo; Value: Integer): string;

 { 
  The first argument is a pointer to the enumerated type’s RTTI information, 
  and the second argument is the ordinal position of the value within the enumerated type. 
  GetEnumName returns a string representing the corresponding enumerated type value. 
  You get the ordinal position of an enumerated type value based on a string using the 
  GetEnumValue function: 
}

  function GetEnumValue(TypeInfo: PTypeInfo; const Name: string): Integer;

 { 
  Like GetEnumName, the first argument is a pointer to the RTTI information. 
  The second argument is a string that represents the enumerated type value. 
  This function returns the ordinal position of the corresponding value. 
}

 // Example: 

// Declare a custom type: 
type
   TOurType = (otFirst, otSecond, otThird, otForth, otFifth, otLast);

 var
   Form1: TForm1;

 implementation

 {$R *.DFM}

 uses
   TypInfo;

 procedure TForm1.Button1Click(Sender: TObject);
 var
   OT: TOurType;
   FT: TFontStyle;
 begin
   // Enumerate TFontStyle values 
  // Zeigt alle TFontStyle Werte an 

  Memo1.Lines.Add('The TFontStyle values:');
   for FT := Low(TFontStyle) to High(TFontStyle) do
     Memo1.Lines.Add(GetEnumName(TypeInfo(TFontStyle), Ord(FT)));

   // Enumerate our custom TOurType values 
  // Werte vom Benutzerdefiniertern Typ TOurType auflisten. 

  Memo1.Lines.Add('The TOurType values:');
   for OT := Low(TOurType) to High(TOurType) do
     Memo1.Lines.Add(GetEnumName(TypeInfo(TOurType), Ord(OT)));
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook