Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-28926
BALU1111
2003-01-30 14:00
2003.02.10
Прозрачная форма


1-28871
Avsam
2003-01-30 14:37
2003.02.10
TeamSource


14-29057
Шишкин Илья
2003-01-24 17:46
2003.02.10
Можно ли с помощью cgi отправлять письма?


6-28959
antix
2002-11-17 06:50
2003.02.10
Запуск приложения (exe) у клиента


4-29159
HappyNewYearToAll
2002-12-25 18:51
2003.02.10
Pipe - труба !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский