Форум: "Начинающим";
Текущий архив: 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