Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

фсё то же перечисление   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
9-28569
Dmitriy Polskoy
2002-09-02 10:49
2003.02.10
Кааой номер версии DIrectX поддерживается в DelphiX?


3-28654
AndrewVolkov
2003-01-23 16:06
2003.02.10
Был interbase а теперь MS SQL 2000. А где транзакции???


9-28576
Davert
2002-08-26 19:28
2003.02.10
Ландшафты


1-28728
Alik1313
2003-01-31 15:12
2003.02.10
Кол-во экземпляров формы


1-28805
d_oleg
2003-01-29 21:10
2003.02.10
TBitBtn и Xp themes





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский