Вниз
Скачать: CL | DM;

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

← →
Alibaba ©   (2003-08-18 05:17) [0]

Всем привет.

Я описал тип
type
TChange = (chRegular, chBegDate, chEndDate, chMassht, chDaysWeek, chDesc);

Как мне получить количество елементов в типе TChange?
В данном случае - 6.

Как мне получить эту цифру???
High(TChange) - нет.
Length(TChange) - нет.
Size(TChange) - нет.

Что еще попробовать?


← →
Ученик ©   (2003-08-18 06:52) [1]

Ord(High(TChange)) + 1

GetTypeData(TypeInfo(TChange))^.MaxValue + 1


← →
app ©   (2003-08-18 07:36) [2]

Alibaba © (18.08.03 05:17)
Low, High и Ord применимы к перечисляемым типам, но надо быть острожнее, поскольку High может быть не равен Ord, начиная с Д6.

Скажи для чего тебе это нужно и тогда может быть будет более квалифицированный совет.

Для непрерывного ряда формула следуюящая:

Length := Ord(High(Tip)) - Ord(Low(Tip)) + 1


← →
Skier ©   (2003-08-18 09:06) [3]

>Alibaba © (18.08.03 05:17)

> High(TChange) - нет.

Почему нет ?
Просто надо единичку прибавить поскольку chRegular это 0
(если привести), а не 1


← →
Anatoly Podgoretsky ©   (2003-08-18 09:08) [4]

Skier © (18.08.03 09:06) [3]
Этов частном случае!
TChange = (chRegular=1, chBegDate, chEndDate, chMassht, chDaysWeek, chDesc);


← →
Anatoly Podgoretsky ©   (2003-08-18 09:08) [5]

и еще сложнее
TChange = (chRegular=1, chBegDate, chEndDate, chMassht, chDaysWeek, chDesc=20);


← →
Skier ©   (2003-08-18 09:11) [6]

>Anatoly Podgoretsky © (18.08.03 09:08) [4]

> Это в частном случае!

Безусловно ! Кто же спорит ?!
Но автор спрашивает для своего конкретного типа


← →
Anatoly Podgoretsky ©   (2003-08-18 09:18) [7]

Для конкретного случая Ученик © (18.08.03 06:52) [1]


← →
Alibaba ©   (2003-08-18 12:49) [8]

Спасибо большое!
Сработало: N:=Ord(High(TChange)) + 1;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1471
DVP1
2003-08-18 14:41
2003.09.01
Как удалить из текстового файла строку?


1-1386
AlexLP
2003-08-16 16:55
2003.09.01
Перемещение файлов


14-1600
Best Guns
2003-08-12 17:38
2003.09.01
Ответ HTTP сервера


1-1406
^^^Dragon^^^
2003-08-15 23:23
2003.09.01
Ошибка


3-1273
dimm
2003-08-11 17:22
2003.09.01
DBLookupCombobox не открывается полностью. Т.е. хочу видеть все




   Наверх