Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.046 c
2-1204118277
Artem
2008-02-27 16:17
2008.03.30
Событие


15-1203380076
Base
2008-02-19 03:14
2008.03.30
Как убрать у TPageControl бордюр?


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


2-1204740634
webSQLNeederr
2008-03-05 21:10
2008.03.30
Что то я туплю. Как создать папку средствами Делфи?


2-1204112380
webpauk
2008-02-27 14:39
2008.03.30
определение констант





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