![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
case
qbegin © (2006-11-07 19:23:00)Как быть в такой ситуации
case ExmplDb.XNum of
1: ....
2: ....
6:
begin
if ExmplDb.YNum = 12 then
ShowMessage('12 ящиков спиртного :)')
else
ShowMessage('else');
end;
else
ShowMessage('else');
end;
В одном из условии case есть дополнительная проверка условия if, и при не верном для нас --> if срабатывает в else и я вынужден совершать такую же операцию, как при case ... --> else.
Оператор case не предпологает каких либо других решений? Или вернее, как можно по другому это сделать?
Anatoly Podgoretsky (2006-11-08 12:34:00) [1]> Плохиш (08.11.2006 12:25:25) [25]
А я тоже пальцем не показывал :-)
И чего ты пристал с номерами ко мне?
Вроде бы все сказано в ветке.
Плохиш (2006-11-08 12:25:00) [2]
> Anatoly Podgoretsky © (08.11.06 12:20) [24]
Но я-то этого не предлагал 8-O
A [18] было написано по поводу [9].
Anatoly Podgoretsky (2006-11-08 12:20:00) [3]
> А как надо расценивать [20]?
Расченивать надо в контексте переноса ShowMessage в отдельную процедуру. При том вместо просто вызова ShowMessage добавляется вызов процедуры, где делается тот же самый вызов ShowMessage :-)
Плохиш (2006-11-08 11:43:00) [4]
> Anatoly Podgoretsky © (08.11.06 11:31) [22]
> А у меня что к Goto есть претензии?
А как надо расценивать [20]?
> Кроме того работает или нет я проверять не буду, нет ни
> желания, как нет и уверенности, что работает.
Вот и будешь всю жизнь мучиться от неизвестности :-P
Anatoly Podgoretsky (2006-11-08 11:31:00) [5]А у меня что к Goto есть претензии?
Кроме того работает или нет я проверять не буду, нет ни желания, как нет и уверенности, что работает.
Плохиш (2006-11-08 10:55:00) [6]
> Anatoly Podgoretsky © (08.11.06 09:48) [20]
А Германн говорит, что [16] работает ;-)
Anatoly Podgoretsky (2006-11-08 09:48:00) [7]> Плохиш (08.11.2006 02:15:18) [18]
Возможности чего? Он же спрашивает как из ветки N перейти в ветку ELSE а не вызвать внешнею процедуру и там и там. Конструкция case такого не позволяет, значит не та конструкция выбрана.
Германн (2006-11-08 02:41:00) [8]
> Плохиш © (08.11.06 02:15) [18]
>
>
> > Нормальный пример, кстати.
>
> Ну, дык, а то тут утверждают, что возможности нет ;-)
>
Но тут многие и за "чистоту расы", а там ты не проходишь! :-(
Плохиш (2006-11-08 02:15:00) [9]
> Нормальный пример, кстати.
Ну, дык, а то тут утверждают, что возможности нет ;-)
Германн (2006-11-08 01:55:00) [10]
> Плохиш © (08.11.06 00:29) [16]
>
> Настроение подняли :-)) А то уже дремать начал :-)
> Поприкалываюсь и я ;-)
Нормальный пример, кстати.
Плохиш (2006-11-08 00:29:00) [11]Настроение подняли :-)) А то уже дремать начал :-)
Поприкалываюсь и я ;-)
....
label Super1;
....
case ExmplDb.XNum of
1: ....
2: ....
6:
begin
if ExmplDb.YNum = 12 then
ShowMessage('12 ящиков спиртного :)')
else
goto Super1;
end;
else
Super1:
ShowMessage('else');
end;
Leonid Troyanovsky (2006-11-07 20:12:00) [12]
> qbegin (07.11.06 20:03) [14]
> > вместо прямого вызова?
> А напрямую - два раза описывать одно и тоже.
Зачем описывать, если требуется лишь вызов.
--
Regards, LVT.
qbegin (2006-11-07 20:03:00) [13]
> А чем лучше вызов функии, которая вызовет другую функцию,
> вместо прямого вызова?
А напрямую - два раза описывать одно и тоже. У меня же не одна строчка как в примере Showmessage('Else') там.
Anatoly Podgoretsky (2006-11-07 19:59:00) [14]А чем лучше вызов функии, которая вызовет другую функцию, вместо прямого вызова?
Leonid Troyanovsky (2006-11-07 19:57:00) [15]
> qbegin (07.11.06 19:52) [11]
> в [1] т.е.
Кста, никто никого ни к чему не принуждал.
--
Regards, LVT.
qbegin (2006-11-07 19:52:00) [16]в [1] т.е.
qbegin (2006-11-07 19:51:00) [17]Всё ок, всй понятно единственный хороший способ в [2]. Всем спасибо!
Leonid Troyanovsky (2006-11-07 19:51:00) [18]
> qbegin (07.11.06 19:44) [6]
> Как я понял такой возможности нет.
Такой возможности нет.
--
Regards, LVT.
Percent (2006-11-07 19:50:00) [19][6] qbegin (07.11.06 19:44)
в возможности перейти к case -> else
А давай не к case -> else, а сразу в то место, где все "else" обрабатываются.
То есть, как в [1]...
Percent (2006-11-07 19:47:00) [20]Он хочет зачем то вывести на экран слово ELSE
О Господи! Неисповедимы пути твои!
А case то зачем?!