![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
![]()
Здрассьте.
case of - удобная штука, однако столкнулся с небольшой проблемкой. В этом операторе можно использовать только значения-константы. Ок, объявляю: Код:
Код:
Цитата:
При этом, если сделать отдельные константы для каждого значения в массиве, то, естессно, работает. Почему мне хотелось бы использовать именно так - у меня часто встречаются case of, в которых используются именно эти значения. Но значения могут поменяться и не хотелось бы искать по всем модулям и менять вручную или заводить 19 отдельных констант или использовать кучу конструкций if...then (хотя именно этот вариант пока выглядит наиболее оправданно). Что посоветуете? |
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
![]() Цитата:
Код:
Самое главное для меня - что лучше/правильнее/удобнее/логичнее использовать? Массив и кучу конструкций if...then? |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
заводи в одном юните:
Const MyValueA = 8; MyValueB = 9; и т.д. В остальных юнитах в uses ссылка на этот юнит. Значения констант тогда менять только в одном месте. и case тра-ля-ля of MyValueA: ... MyValueB: ... end; Можно и массив с этих констант организовать, но не для case
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 01.12.2014 в 16:54. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.04.2014
Сообщений: 115
|
![]()
Для case можно энумерейт завести:
Код:
Код:
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | ||
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
![]()
Да по идеологии того, кто начинал этот проект, все глобальные переменные, а так же константы, типы и общие функции работы с типами и так находятся в отдельном юните, который прописан во всех юнитах форм (в "бестелесных" юнитах он не прописан и значения глобальных переменных передаются туда только в виде параметров функций или процедур).
Цитата:
Цитата:
Код:
Последний раз редактировалось exyl; 01.12.2014 в 17:25. |
||
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 21.04.2014
Сообщений: 115
|
![]() Цитата:
Код:
Код:
Код:
|
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Константа | Михаил Юрьевич | Общие вопросы Delphi | 2 | 16.11.2014 22:47 |
Динамическая константа | deduschka | PHP | 5 | 20.11.2013 23:28 |
abc типизированная константа массив | wkololo | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 22.05.2011 21:09 |
Константа | ideasforlife | Общие вопросы C/C++ | 6 | 09.05.2011 16:06 |
многомерный не квадартный массив-константа | Izhic | Общие вопросы Delphi | 3 | 11.11.2009 16:34 |