![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
фсё то же перечисление [D5, WinXP]
anbezr © (2003-01-30 14:35:00)Привет!
мой тип описан как:
type TMyType = (mtFirst, mtSecond, mtThird);
могу ли я узнать сколько элементов находится в таком перечислении и как они названы - т.е. получить константы mtXxx в текстовом виде.
PS
sizeof возвращает 1 (чего и след ожидать)
Length говорит - неправильный тип.
Бурундук (2003-01-30 16:19:00) [1]typinfo.pas
Демонов Е.В. (2003-01-30 15:23:00) [2]2han_malign © (30.01.03 14:41)
>>RTTI не используется в простых типах, только в классах
НУ ты выдал
anbezr (2003-01-30 15:16:00) [3]где лежит GetEnumName - delphi её не знает
Бурундук (2003-01-30 15:12:00) [4]>RTTI не используется в простых типах, только в классах
На самом деле не совсем так:
max := GetTypeData(TypeInfo(TMyType))^.MaxValue;
name := GetEnumName(TypeInfo(TMyType), max);
anbezr (2003-01-30 15:12:00) [5]прочитал - работает
uw (2003-01-30 15:08:00) [6]>anbezr (30.01.03 14:58)
Last := Ord(High(TMyType));
han_malign (2003-01-30 15:05:00) [7]2 anbezr
еще раз - читай ВНИМАТЕЛЬНЕЙ
anbezr (2003-01-30 15:04:00) [8]пардон - встял в чужой разговор :-}
anbezr (2003-01-30 15:01:00) [9]Удалено модератором
Примечание: Offtopic
uw (2003-01-30 15:01:00) [10]Понял.
han_malign (2003-01-30 15:01:00) [11]2 anbezr
читай внимательней
han_malign © (30.01.03 14:40)
han_malign (2003-01-30 14:59:00) [12]Удалено модератором
Примечание: Offtopic
anbezr (2003-01-30 14:58:00) [13]Last := High(TMyType);
не работает...
говорит Incopatible types Cardinal and TMyType...
gsu (2003-01-30 14:57:00) [14]Удалено модератором
Примечание: Offtopic
uw (2003-01-30 14:56:00) [15]Удалено модератором
Примечание: Offtopic
anbezr (2003-01-30 14:49:00) [16]спасибо, понял...
han_malign (2003-01-30 14:41:00) [17]RTTI не используется в простых типах, только в классах
han_malign (2003-01-30 14:40:00) [18]А ты не знаешь сколько у тебя элементов и как они названы???
З.Ы. Ну количество еще можно (Ord(High(TMyType))+1)...
REA (2003-01-30 14:39:00) [19]function High(X);
Description
In Delphi code, call High to obtain the upper limit of an Ordinal, Array, or ShortString value. The result type is X, or the index type of X.
С названиями сложнее - придется лезть в RTTI, если оно включено. А тебе зачем?