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

Вниз

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

 
kiberg   (2008-02-27 16:30) [0]

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


 
Сергей М. ©   (2008-02-27 16:34) [1]

High(перечисление)+1


 
kiberg   (2008-02-27 16:37) [2]

спасибо


 
Palladin ©   (2008-02-27 16:46) [3]

не понял, а можно кусочек кода? :)
типа так чтоли?


type
te=(a,b,c);

ShowMessage(inttostr(Integer(High(te))+1));

то боюсь огорчить :)


type
te=(a,b=5,с);

ShowMessage(inttostr(Integer(High(te))+1));


:)


 
Сергей М. ©   (2008-02-27 16:48) [4]


> Palladin ©   (27.02.08 16:46) [3]


Ну не надо уж в такие дебри-то)

Мож у автора Д5)


 
kiberg   (2008-02-27 17:16) [5]


> Palladin ©   (27.02.08 16:46) [3]

Прикольно :)


> Сергей М. ©   (27.02.08 16:48) [4]

Мне такие дебри действительно не нужны
У меня Д7


 
Palladin ©   (2008-02-27 17:23) [6]

а иногда очень и очень удобно, когда между сервером и клиентом сообщениями перекидываешься... оно как бы и Enum и в тоже время и const...


 
Amoeba ©   (2008-02-27 19:33) [7]


> Сергей М. ©   (27.02.08 16:48) [4]
>
>
> > Palladin ©   (27.02.08 16:46) [3]
>
>
> Ну не надо уж в такие дебри-то)
>
> Мож у автора Д5)

Не трожь D5!


 
Anatoly Podgoretsky ©   (2008-02-27 22:25) [8]

> Palladin  (27.02.2008 16:46:03)  [3]

Ты не учитываешь вариант te=(a=2,b=5,c=10);
Правильно так


ShowMessage(inttostr(Ord(High(te)) - Ord(Low(te)) + 1));


 
korneley ©   (2008-02-27 22:35) [9]


> Ты не учитываешь вариант te=(a=2,b=5,c=10);

Опа... А я, что-то такой синтаксис пропустил... И D7 не пропускает... Кому верить?


 
korneley ©   (2008-02-27 22:37) [10]

Пардону просим, пропускает...


 
Anatoly Podgoretsky ©   (2008-02-28 01:36) [11]

> korneley  (27.02.2008 22:35:09)  [9]

А если я скажу, что здесь 9 элементов.
Поверишь?


 
Германн ©   (2008-02-28 01:43) [12]


> Anatoly Podgoretsky ©   (28.02.08 01:36) [11]

Уверен, что поверит.
Хотя на мой взгляд такое "перечисление" - извращение. :)


 
Riply ©   (2008-02-28 05:18) [13]

> [12] Германн ©   (28.02.08 01:43)
> Хотя на мой взгляд такое "перечисление" - извращение. :)

Относительно часто сталкиваюсь с подобным
перечислением при портировании структур.


 
Palladin ©   (2008-02-28 09:56) [14]


> korneley ©

пропускает начиная с D6


> Германн ©   (28.02.08 01:43) [12]

чей то оно извращение то вдруг? а (a=0,b=1,c=2) не извращение? однако"ж компилятор так по умолчанию нумерует, какая разница, а назначенная константа полезна иногда.


 
korneley ©   (2008-02-28 10:36) [15]


> Anatoly Podgoretsky ©   (28.02.08 01:36) [11]
> А если я скажу, что здесь 9 элементов.
> Поверишь?
>
> Германн ©   (28.02.08 01:43) [12]
> Уверен, что поверит.

Ясно дело, поверю :) Просто такой вариант как-то мимо меня прошел :( Учтём.


 
DiamondShark ©   (2008-02-28 14:34) [16]

Удалено модератором
Примечание: внимательно изучаем п. 11, будет третий раз - будет наказание


 
Сергей М. ©   (2008-02-28 14:50) [17]


> DiamondShark ©   (28.02.08 14:34) [16]


1. Был преведен псевдокод, а не код.
2. Приведение к Integer - на совести автора, предполагалось что это не составит труда, хотя бы при прочтении соотв.сообщения компилятора об ошибке несовместимостей типов.
3. В [3] псевдокод-подсказка вполне корректно превращен в код, вполне корректно работающий в Д5.
4. Расширенные возможности Д7 по объявлению перечислимых типов автору, как и предполагалось, не требуются.

В чем некорректность-то ?
Ты не устал тявкать из-за угла, а ?)


 
Anatoly Podgoretsky ©   (2008-02-28 15:21) [18]

> Германн  (28.02.2008 01:43:12)  [12]

Какое извращение - это именное перечисление. убраны (спрятаны) не нужные елементы.
Думаешь, что старый эквивалент в данном случае лучше

(enDymmy0, enDymmy1, enReadyBit, enDymmy3, ... enTxBit, ...)
по мне лучше и нагляднее
(enReadyBit=2, enTxBit=5, ...)

Удобная вещь, когда нужно.


 
Германн ©   (2008-02-28 16:55) [19]


> Anatoly Podgoretsky ©   (28.02.08 15:21) [18]
>
> > Германн  (28.02.2008 01:43:12)  [12]
>
> Какое извращение - это именное перечисление. убраны (спрятаны)
> не нужные елементы.
> Думаешь, что старый эквивалент в данном случае лучше
>
> (enDymmy0, enDymmy1, enReadyBit, enDymmy3, ... enTxBit,
> ...)
>

Лично мне лучше. Бо у меня такие типы чаще всего используются при обмене с контроллерами. А там если есть дамми, то их из песни (байта) не выкинешь.
Но насчет извращения я всё-таки погорячился.


 
korneley ©   (2008-02-28 22:40) [20]


> Германн ©   (28.02.08 16:55) [19]
>... Но насчет извращения я всё-таки погорячился...

Наконец наступила полная консолидация, респект и уважуха... :) Кстати я уже "новый"(для меня) синтаксис нашел как прикрутить с пользой... Смысла столько же, а удобней, блин... И в перспективе...


 
Anatoly Podgoretsky ©   (2008-02-29 10:01) [21]


> Смысла столько же, а удобней, блин...

Это так, но область примения узка. Конечно в первую очередь контроллеры и ВинАПИ, там где флаги, заменяет константы на контролируемое перечисление. Я пример, как раз приводил для битов контроллера.


 
korneley ©   (2008-02-29 11:19) [22]


> Anatoly Podgoretsky ©   (29.02.08 10:01) [21]

Вот-вот. У меня как раз первое.


 
Германн ©   (2008-03-01 02:33) [23]


> Anatoly Podgoretsky ©   (29.02.08 10:01) [21]
>
>
> > Смысла столько же, а удобней, блин...
>
> Это так, но область примения узка. Конечно в первую очередь
> контроллеры и ВинАПИ, там где флаги, заменяет константы
> на контролируемое перечисление. Я пример, как раз приводил
> для битов контроллера.
>


> korneley ©   (29.02.08 11:19) [22]
>
>
> > Anatoly Podgoretsky ©   (29.02.08 10:01) [21]
>
> Вот-вот. У меня как раз первое.
>

Не. "Старый эквивалент" мне более близок и понятен. Да и к тому же он помогает мне лучше объяснять содержимое ответа контроллера жзч.


 
Anatoly Podgoretsky ©   (2008-03-01 02:40) [24]

> Германн  (01.03.2008 02:33:23)  [23]

Ну каждому свое.


 
Германн ©   (2008-03-01 03:52) [25]


> Anatoly Podgoretsky ©   (01.03.08 02:40) [24]
>
> > Германн  (01.03.2008 02:33:23)  [23]
>
> Ну каждому свое.
>

Эт да.



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

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

Наверх




Память: 0.53 MB
Время: 0.033 c
15-1203341714
Andy BitOff
2008-02-18 16:35
2008.03.30
Город Delphimaster


2-1204639747
snake-as
2008-03-04 17:09
2008.03.30
Несколько клавиш


2-1204201273
mrfreeman2007
2008-02-28 15:21
2008.03.30
Вывод компа из спячки


15-1202821196
TUser
2008-02-12 15:59
2008.03.30
Оптические приводы


3-1194512166
zorik
2007-11-08 11:56
2008.03.30
Корректное отключение (подключение) TIBDatabase