delphi — Есть ли другой способ сделать этот оператор case без использования -MAXINT?
Задай вопрос
спросил
Изменено 9 лет, 3 месяца назад
Просмотрено 422 раза
У меня есть оператор case, который оценивает целое число (результат функции) для кода результата, например:
R:= DoSomething; случай R 0: начать //Успех конец; 1..99: начало //Конкретные сообщения о результатах конец; 100..199: начало //Другие конкретные сообщения о результатах конец; -МАКСИНТ..-1: начать //Отказ конец; конец;
В случае сбоя возвращается отрицательное число, представляющее код ошибки. DoSomething
— это просто любая функция, которая возвращает целое число в качестве кода ответа (или кода ошибки, если оно отрицательное).
Мне интересно, есть ли другой способ написать -MAXINT..-1
. Что-то более похожее на «Все что угодно -1 и ниже». Я попробовал <=-1
, но компилятору это не слишком понравилось.
Есть ли способ сделать это в операторе case?
- delphi
- оператор переключения
13
Используйте блок else
для всех необработанных результатов и в этом блоке различайте неудачное выполнение и успешное выполнение, для которого у вас нет явного обработчика пример кода).
Р:= Сделать Что-нибудь; случай R 0: начать //Успех конец; 1: начать // Еще один успех конец иначе начни если R > = 0, то // Необработанная ошибка успешного выполнения еще //Отказ конец; конец;
5
Вы пытаетесь форсировать строгий случай
, где вместо этого следует использовать комбинацию if
и case
:
если R = 0 то // Успех еще если R < 0, то // Отказ еще начало // Положительные значения случай R 1. .99: ... 100..199: ... // Другие ожидаемые значения еще // Неожиданное положительное значение конец; конец;
Лично я бы отформатировал приведенное выше, чтобы сделать поток более понятным, но это мое личное предпочтение:
если R = 0, то // Успех иначе, если R < 0, то // Отказ еще начало // Положительные значения случай R 1..99: ... 100..199: ... // Другие ожидаемые значения еще // Неожиданное положительное значение конец; конец;
Или еще лучше (как упоминал Ларри в комментарии к моему ответу, но, как ни странно, не в своем):
, если R < 0, то // Отказ еще начинать случай R 0: // успех 1..99: // Ожидаемые положительные значения 100..199: еще // Неожиданные положительные результаты конец; конец;
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Судья выдает кляп по делу об убийствах в Дельфи - WISH-TV | Новости Индианаполиса | Погода в Индиане
перейти к содержаниюАвторы: Эшли Фаулер и Ричард Эссекс Судья в пятницу издал временный приказ о неразглашении информации по уголовному делу против подозреваемого в убийстве Делфи Ричарда Аллена.
Аллену, 50 лет, предъявлено обвинение по двум пунктам обвинения в убийстве
Приказ, изданный судьей Фрэнсис Галл, запрещает прокурорам, защите, полиции и членам семьи публично говорить о деле до слушания 13 января . Именно тогда Гулл услышит аргументы о продлении запрета на кляп, а также аргументы по поводу запроса адвокатов Аллена о переносе судебного разбирательства из округа Кэрролл .
Приказ о неразглашении информации был издан менее чем через 24 часа после того, как адвокаты Аллена опубликовали трехстраничный пресс-релиз, в котором подвергли критике доказательства, представленные в заявлении о предполагаемой причине. Адвокаты Аллена утверждают, что их клиент невиновен , и заявили в четверг, что он «сбит с толку» выдвинутыми против него обвинениями.
В пресс-релизе адвокаты Аллена, в частности, заявили: «В следующий раз Рик получил известие от полиции в октябре 2022 года. Это произошло примерно за две недели до оспариваемых выборов шерифа и через несколько дней после подачи федерального иска против шерифа округа Кэрролл. Управление его бывшим заместителем, Майклом Томасом.
В федеральном иске Майкл Томас, заместитель шерифа округа Кэрролл, заявляет, что шериф Тоби Лизенби нарушает конституционные права Томаса на свободу слова и надлежащую правовую процедуру. Он утверждает, что Лизенби не одобрял выдвижение Томаса на пост шерифа отчасти потому, что Томас внес предложения и предложил помощь в расследовании «громкого расследования убийства ребенка», которое было отклонено и чего Лизенби и другие сотрудники офиса шерифа округа Кэрролл опасались. станет достоянием гласности в результате кампании или потенциального избрания Томаса.
Томас проиграл кандидатуру шерифа на майских республиканских праймериз. После первичных выборов Томас был назначен в отдел по контролю за животными, по сути, став окружным ловцом собак.