Добрый день, знатоки.
Вопрос простой, но решения нет. Как передать перечисляемый тип в процедуры, например для определения текстового написания значения.
Пример:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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. Код для примера. Сильно не пинайте. И не спрашивайте зачем? Не флудите, плз. Реально нужно.