|
Возможно ли, чтобы все условия 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, 17:43 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
нет Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 18:49 |
|
Возможно ли, чтобы все условия 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, 19:50 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
FAM, замени на IF Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 20:17 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
Dima T, С IF понятно... Вот, думал можно как-то перехитрить )))) Просто в готовом и олаженном коде заманчиво уж больно обойтись всего строчкой кода. Ну, да ладно, спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 21:53 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
sg12, Да, именно такая схема и применяется, но сверху FOR лепить не хочется. Придется If-чик даписать... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 21:54 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
FAMsg12, Да, именно такая схема и применяется, но сверху FOR лепить не хочется. Придется If-чик даписать... Спасибо! А зачем тогда на каждом шаге эти ttt ... нужны, поставьте TRY или ON ERROR: TRY *proc1 *proc2 *** ENDTRY RETURN !llSuccess ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2015, 22:51 |
|
Возможно ли, чтобы все условия case сработали последовательно?
|
|||
---|---|---|---|
#18+
sg12, Это же схема для пояснения вопроса. Реальный код на две страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 09:53 |
|
Возможно ли, чтобы все условия 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, 10:43 |
|
Возможно ли, чтобы все условия 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2015, 11:17 |
|
Возможно ли, чтобы все условия 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 условий? Ваш первый вариант был оптимальнее.... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2015, 10:28 |
|
|
start [/forum/topic.php?fid=41&msg=38886082&tid=1582437]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 384ms |
0 / 0 |