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

Вниз

Количество элементов   Найти похожие ветки 

 
harisma   (2007-10-16 17:04) [0]

Есть некий перечислимый тип. Как узнать, сколько он имеет элементов?


 
Sonia ©   (2007-10-16 17:05) [1]

Length ?


 
Сергей М. ©   (2007-10-16 17:07) [2]

Зависит от версии Делфи.


 
Amoeba ©   (2007-10-16 17:12) [3]


> harisma   (16.10.07 17:04)
>
> Есть некий перечислимый тип. Как узнать, сколько он имеет
> элементов?

Посмотри на его объявление и сосчитай. В чем проблема то?


 
harisma   (2007-10-16 17:12) [4]

Версия 5.


 
Reindeer Moss Eater ©   (2007-10-16 17:16) [5]

succ(Ord(High(TMyEnumType)))


 
Ins ©   (2007-10-16 17:17) [6]

Идея такая, дальше разберетесь...

uses TypInfo;

procedure TForm1.Button1Click(Sender: TObject);
var
 TypeInf: PTypeInfo;
 TypeData: PTypeData;
begin
 TypeInf:=TypeInfo(Integer);
 TypeData:=GetTypeData(TypeInf);
 Caption:=IntToStr(TypeData^.MaxValue - TypeData^.MinValue);
end;


 
Reindeer Moss Eater ©   (2007-10-16 17:19) [7]

Легких путей мы не ищем :)


 
Ega23 ©   (2007-10-16 17:26) [8]


> Как узнать, сколько он имеет элементов?


меньше 256


 
Ins ©   (2007-10-16 17:33) [9]


> Легких путей мы не ищем :)


Так это для пионеров решение ;)

PS: Пардон, клинит...


 
begin...end ©   (2007-10-16 22:47) [10]

Способы [5] и [6] не будут работать для такого перечислимого типа:

type
 TMyEnumType = (Two = 2, Three = 3);

> Ega23 ©   (16.10.07 17:26) [8]

Неа. Может и больше.



Страницы: 1 вся ветка

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
15-1191803613
Бакук
2007-10-08 04:33
2007.11.11
Fastreport 2 —> FastReport 4 (*.frf —> *.fr3)


2-1192770943
Lebedev
2007-10-19 09:15
2007.11.11
Как правильно закрыть всё приложение с модальными формами.


15-1191250150
Andy BitOff
2007-10-01 18:49
2007.11.11
Запрос SQL. Создание, оптимизация.


2-1192786979
Aladdinych
2007-10-19 13:42
2007.11.11
Как создать почтовой сообщение


2-1192347654
Vasiliy
2007-10-14 11:40
2007.11.11
InterBase. Попытка соединения с локальной БД в режиме Run-Time