|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2014, 16:22 | #1 | |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
case of и массив-константа
Здрассьте.
case of - удобная штука, однако столкнулся с небольшой проблемкой. В этом операторе можно использовать только значения-константы. Ок, объявляю: Код:
Код:
Цитата:
При этом, если сделать отдельные константы для каждого значения в массиве, то, естессно, работает. Почему мне хотелось бы использовать именно так - у меня часто встречаются case of, в которых используются именно эти значения. Но значения могут поменяться и не хотелось бы искать по всем модулям и менять вручную или заводить 19 отдельных констант или использовать кучу конструкций if...then (хотя именно этот вариант пока выглядит наиболее оправданно). Что посоветуете? |
|
01.12.2014, 16:33 | #2 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Цитата:
Код:
|
|
01.12.2014, 16:48 | #3 | |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
Цитата:
Код:
Самое главное для меня - что лучше/правильнее/удобнее/логичнее использовать? Массив и кучу конструкций if...then? |
|
01.12.2014, 16:52 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
заводи в одном юните:
Const MyValueA = 8; MyValueB = 9; и т.д. В остальных юнитах в uses ссылка на этот юнит. Значения констант тогда менять только в одном месте. и case тра-ля-ля of MyValueA: ... MyValueB: ... end; Можно и массив с этих констант организовать, но не для case
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 01.12.2014 в 16:54. |
01.12.2014, 17:12 | #5 |
Форумчанин
Регистрация: 21.04.2014
Сообщений: 115
|
Для case можно энумерейт завести:
Код:
Код:
|
01.12.2014, 17:13 | #6 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
01.12.2014, 17:15 | #7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
|
|
01.12.2014, 17:23 | #8 | ||
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
Да по идеологии того, кто начинал этот проект, все глобальные переменные, а так же константы, типы и общие функции работы с типами и так находятся в отдельном юните, который прописан во всех юнитах форм (в "бестелесных" юнитах он не прописан и значения глобальных переменных передаются туда только в виде параметров функций или процедур).
Цитата:
Цитата:
Код:
Последний раз редактировалось exyl; 01.12.2014 в 17:25. |
||
01.12.2014, 17:26 | #9 | |
Форумчанин
Регистрация: 21.04.2014
Сообщений: 115
|
Цитата:
Код:
Код:
Код:
|
|
01.12.2014, 17:27 | #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 |