![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
RinOSpro |
|
|||
Unregistered |
Всем привет)
Возник вопрос по поводу перечислимых типов. Точнее преобразования Integer -> "Перечислимый тип". И так, объявлен тип TLMsgType = (ltError = 0, ltWarning, ltInformation, ltDebug); сохраняю его в БД преобразованием в Integer, Integer(LMsgType). При загрузке и БД. Там может отказаться любое число которое не входит в диапазон (а входящие данные нужно проверять). Вопрос в том как наиболее эффективно проверять входит в это число в диапазон Перечислимого типа или нет? Типов много... поэтому собственно и вопрос... Наиболее простой вариант я написал
|
|||
|
||||
casinosoftguru |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
![]()
может быть потому что надо так ![]()
Это сообщение отредактировал(а) casinosoftguru - 15.7.2010, 14:38 |
||||
|
|||||
Keeper89 |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Думаю логично будет проверять Integer после чтения из БД:
или
А в коде вызывать:
Это сообщение отредактировал(а) Keeper89 - 15.7.2010, 16:54 |
||||||
|
|||||||
RinOSpro |
|
||||||||||
Unregistered |
Логически оно такое же как и я написал, и так же возвращает true в любом случае... может глюк? (Delphi 7)
если много типов то это становиться не удобным... см. ниже
А вот за эту конструкцию спасибо! Только если скажем у нас много перечислений... то для каждой придется написать кучу overload функций
Есть ли какая нибудь универсальная range-check функция? Или идеи... как бы такую написать ![]()
Это сообщение отредактировал(а) RinOSpro - 15.7.2010, 17:34 |
||||||||||
|
|||||||||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
||||
|
||||
bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Функция
Вызов
-------------------- Обижено школьников: 8 |
||||
|
|||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Сдаётся мне, что самое простое - обрабатывать исключение. -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |