Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.02.2015, 17:43
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
PROCEDURE TestCase ttt=1 DO case CASE ttt=1 MESSAGEBOX(ttt) ttt=2 CASE ttt=2 MESSAGEBOX(ttt) ttt=3 CASE ttt=3 MESSAGEBOX(ttt) ENDCASE ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 18:49
|
|||
---|---|---|---|
|
|||
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
нет Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 19:50
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
PROCEDURE TestCase LOCAL lcString,lcStr,i lcString = 'Name1,Name2,Name3' FOR i = 1 TO GETWORDCOUNT(lcString,',') lcStr = GETWORDNUM(lcString,i,',') DO CASE CASE lcStr == 'Name1' * proc1 CASE lcStr == 'Name2' * proc2 CASE lcStr == 'Name3' * proc3 ENDCASE ENDFOR ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 20:17
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
FAM, замени на IF Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 21:53
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
Dima T, С IF понятно... Вот, думал можно как-то перехитрить )))) Просто в готовом и олаженном коде заманчиво уж больно обойтись всего строчкой кода. Ну, да ладно, спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 21:54
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
sg12, Да, именно такая схема и применяется, но сверху FOR лепить не хочется. Придется If-чик даписать... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2015, 22:51
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
FAMsg12, Да, именно такая схема и применяется, но сверху FOR лепить не хочется. Придется If-чик даписать... Спасибо! А зачем тогда на каждом шаге эти ttt ... нужны, поставьте TRY или ON ERROR: TRY *proc1 *proc2 *** ENDTRY RETURN !llSuccess ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.02.2015, 09:53
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
sg12, Это же схема для пояснения вопроса. Реальный код на две страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.02.2015, 10:43
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
FAM, Понятно. Но тогда ttt только усложняет код, и лучше его разбить на шаги, добавив небольшую "управляющую" процедуру, схематично: PROCEDURE DoTestCase .TestCase('Name1') .TestCase('Name2') .TestCase('Name3') **** PROCEDURE TestCase LPARAMETERS tcCase DO CASE CASE tcCase == 'Name1' * proc1 CASE tcCase == 'Name2' * proc2 CASE tcCase == 'Name3' * proc3 ENDCASE ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.02.2015, 11:17
|
|||
---|---|---|---|
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
FAM, Также можно на каждом шаге "возвращаться": PROCEDURE TestCase LPARAMETERS tcCase DO CASE CASE tcCase == 'Name1' * proc1 This.TestCase('Name2') CASE tcCase == 'Name2' * proc2 This.TestCase('Name3') CASE tcCase == 'Name3' * proc3 ENDCASE ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.02.2015, 10:28
|
|||
---|---|---|---|
|
|||
Возможно ли, чтобы все условия case сработали последовательно? |
|||
#18+
sg12FAM, Также можно на каждом шаге "возвращаться": PROCEDURE TestCase LPARAMETERS tcCase DO CASE CASE tcCase == 'Name1' * proc1 This.TestCase('Name2') CASE tcCase == 'Name2' * proc2 This.TestCase('Name3') CASE tcCase == 'Name3' * proc3 ENDCASE Не учите ребенка плохому! В данном конкретном случае этот вариант сработает. Но число условий потенциально ничем не ограничено... Помните ограничения на уровень вложенности вызовов в Фоксе? А если в DO CASE будет более 32 условий? Ваш первый вариант был оптимальнее.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582437]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 176ms |
0 / 0 |