Добрый день, знатоки.
Вопрос простой, но решения нет. Как передать перечисляемый тип в процедуры, например для определения текстового написания значения.
Пример:
Код:
uses ..., TypInfo;
type
TmyBred = (mbNone, mbHelp, mbNoReplay);
function GetStringEnum(P : TypInfo; Index : integer) : string;
begin
Result := GetEnumName(P, Index); // возвращает текстовое написание
end;
function GetStrEnum(myBred : TmyBred) : string;
begin
Result := GetStringEnum(TypInfo(TmyBred)), Ord(myBred) );
end;
-----------------
а хочется так:
function GetStringEnum(P : "тут что написать?"; Index : integer) : string;
begin
Result := GetEnumName(TypInfo( P ), Index); // возвращает текстовое написание
end;
function GetStrEnum(myBred : TmyBred) : string;
begin
Result := GetStringEnum(TmyBred, Ord(myBred) );
end;
т.е. надо какой то тип указать. Какой?
P.S. Код для примера. Сильно не пинайте. И не спрашивайте зачем? Не флудите, плз. Реально нужно.