Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Внизфсё то же перечисление Найти похожие ветки
← →
anbezr (2003-01-30 14:35) [0]Привет!
мой тип описан как:
type TMyType = (mtFirst, mtSecond, mtThird);
могу ли я узнать сколько элементов находится в таком перечислении и как они названы - т.е. получить константы mtXxx в текстовом виде.
PS
sizeof возвращает 1 (чего и след ожидать)
Length говорит - неправильный тип.
← →
REA (2003-01-30 14:39) [1]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, если оно включено. А тебе зачем?
← →
han_malign (2003-01-30 14:40) [2]А ты не знаешь сколько у тебя элементов и как они названы???
З.Ы. Ну количество еще можно (Ord(High(TMyType))+1)...
← →
han_malign (2003-01-30 14:41) [3]RTTI не используется в простых типах, только в классах
← →
anbezr (2003-01-30 14:49) [4]спасибо, понял...
← →
uw (2003-01-30 14:56) [5]Удалено модератором
Примечание: Offtopic
← →
gsu (2003-01-30 14:57) [6]Удалено модератором
Примечание: Offtopic
← →
anbezr (2003-01-30 14:58) [7]Last := High(TMyType);
не работает...
говорит Incopatible types Cardinal and TMyType...
← →
han_malign (2003-01-30 14:59) [8]Удалено модератором
Примечание: Offtopic
← →
han_malign (2003-01-30 15:01) [9]2 anbezr
читай внимательней
han_malign © (30.01.03 14:40)
← →
anbezr (2003-01-30 15:01) [10]Удалено модератором
Примечание: Offtopic
← →
uw (2003-01-30 15:01) [11]Понял.
← →
anbezr (2003-01-30 15:04) [12]пардон - встял в чужой разговор :-}
← →
han_malign (2003-01-30 15:05) [13]2 anbezr
еще раз - читай ВНИМАТЕЛЬНЕЙ
← →
uw (2003-01-30 15:08) [14]>anbezr (30.01.03 14:58)
Last := Ord(High(TMyType));
← →
anbezr (2003-01-30 15:12) [15]прочитал - работает
← →
Бурундук (2003-01-30 15:12) [16]>RTTI не используется в простых типах, только в классах
На самом деле не совсем так:
max := GetTypeData(TypeInfo(TMyType))^.MaxValue;
name := GetEnumName(TypeInfo(TMyType), max);
← →
anbezr (2003-01-30 15:16) [17]где лежит GetEnumName - delphi её не знает
← →
Демонов Е.В. (2003-01-30 15:23) [18]2han_malign © (30.01.03 14:41)
>>RTTI не используется в простых типах, только в классах
НУ ты выдал
← →
Бурундук (2003-01-30 16:19) [19]typinfo.pas
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c