Текущий архив: 2003.09.01;
Скачать: 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 вся ветка
Текущий архив: 2003.09.01;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.026 c