Главная страница
    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.037 c
15-1203342468
Andrewtitoff
2008-02-18 16:47
2008.03.30
Почему Application.Terminate у меня не работает? =(((


2-1204209428
максим
2008-02-28 17:37
2008.03.30
hex


15-1203444046
MonsterHell
2008-02-19 21:00
2008.03.30
Переопределение днс


3-1194670562
Antoxa2005
2007-11-10 07:56
2008.03.30
Как выполнить SELECT * From table1 WHERE f=:nf, если в nf


4-1185658389
fdooch
2007-07-29 01:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский