TypeInfo, функция

Синтаксис


function TypeInfo(Имя типа): Pointer;

Описание

Функция TypeInfo возвращает указатель на информацию о типе времени выполнения для данного типа. Указатель фактически является указателем PTypeInfo на запись TTypeInfo. Эти типы объявляются в модуле TypInfo.

Ошибки

Советы и приемы

Пример


// Преобразование множества в строковое представление,
//например '[fsBold,fsItalic]'.
function SetToString(Info: PTypeInfo; const Value): string;
var
  I: Integer;
  Data: PTypeData;       // данные о типе множества
  EnumInfo: PTypeInfo;   // данные о базовом типе множества
  EnumData: PTypeData;   // данные о базовом типе множества
begin
  if Info.Kind <> tkSet then
    Result := ''
  else
  begin
    Data := GetTypeData(Info);
    EnumInfo := Data^.CompType^;
    EnumData := GetTypeData(EnumInfo);

    Assert(EnumInfo.Kind in [tkEnumeration,tkInteger]);

    Result := '[';
    for I := EnumData.MinValue to EnumData.MaxValue do
      if I in TIntegerSet(Value) then
      begin
        // Элемент присутствует во множестве, поэтому добавляем его
        // имя к строке.
        if Length(Result) > 1 then Result := Result + ','; // Разделяем элементы множества
                                                          // запятыми.
        Result := Result + GetEnumName(EnumInfo, I);
      end;
    Result := Result + ']';
  end;
end;
...
S := SetToString(TypeInfo(TFontStyles).Control.Font.Style);

Смотрите также

    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: