|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
В очень многих местах кода используется оператор ветвления с одним и тем же набором условий. А именно "Рога", "Справки", "Копыта", "Шапки" Код: vbnet 1. 2.
подскажите как можно записав эту строку в коде единожды в переменную или ещё во что, что бы каждый раз не писать этот набор Код: vbnet 1.
а подставлять короткую замену типа: Код: vbnet 1. 2. 3. 4.
------------------------------------------------------------------------ Спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 19:33 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
час58, Где-то в начале: Код: vbnet 1. 2. 3.
Потом процедура: Код: vbnet 1. 2. 3. 4. 5. 6.
Как пользоваться: Код: vbnet 1. 2. 3. 4. 5.
Ну как бы Case тут наверно не в кассу, наверно нужно If -ы использовать типа... Код: vbnet 1. 2. 3.
Единственное нужно проанализировать варианты типа не сработает ли слово "правки" из-за "Справки", если такая вероятность есть, то функцию нужно переделывать (NABOR сделать не строку, а массив или временную табличку со значениями) Ну или я тебя не понял.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:12 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmagесли такая вероятность есть, то функцию нужно переделывать (NABOR сделать не строку, а массив или временную табличку со значениями) а если ее нет, то тупо используй Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:26 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmag, Да "правки" и "Справки" это конечно - да. Ты советуешь ИФами пользоваться... Надо подумать. Слишком до фига этих case, к тому же там ветвления не одного порядка... потому хотел придумать изврат именно с case... в любом случае. спасибо за совет. Надо подумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:26 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmag, А CASE с Instr() - не дружат? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:31 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
час58потому хотел придумать изврат именно с case... Если набор будет не строка а строки или элементы массива строк, то можно так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:52 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:53 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
час58А CASE с Instr() - не дружат? выход из Instr ноль или число, подумай... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:55 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Если набор будет не строка а строки или элементы массива строк, то можно так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Но тада это тоже самое Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 21:57 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmagчас58А CASE с Instr() - не дружат? выход из Instr ноль или число, подумай... чёт башка совсем не варит. Уже полночь близится. Надо отложить это до завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:00 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Predeclared, чуть мозг не сгорел... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:02 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Predeclared, Scripting.Dictionary.... Вон как ?! Высший пилотаж аж. Надо будет завтра поюзать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:04 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
час58, создал таблицу "tblSpravka", упрощенно ID_Check Parent Naim1 0 Константы 2 1 Общий, Частный3 1 Рога, Справки, Копыта, Шапки создал функцию типа Код: vbnet 1. 2. 3. 4. 5. 6.
Вызывается так FromSprav(3) Родитель для создания самообъединения и редактирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:10 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmagPredeclared, чуть мозг не сгорел... :) Надо регулярно периодически охлаждать. Есть вкусный хладогент: Beluga :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:11 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
alecko, Спасибо. А где тут ветвление CASE ? мне бы Код: vbnet 1. 2.
вместо строки Код: vbnet 1.
подставлять переменную(функцию), содержащую эту строку типа Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:18 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:27 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
alecko, Но тогда получается - таблица вроде как и не нужна? Внутри функции Код: vbnet 1.
организовать своё ветвление на CASE а в программе, просто обращаться к этой функции Код: vbnet 1. 2.
или я туплю? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:38 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
можно и в функции в чистом виде хранить но константы нужно заводить в таблицу (если "Шапки" у клиента станут "Фуражками", количество аргументов уменьшится/увеличится, в код лезть будет необязательно) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:52 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
если аргументов таки немного то делают так в шапке модуля где хранится функция записывают Код: vbnet 1. 2. 3. 4. 5.
в этом случае при выборе аргумента будет помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:59 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
час58vmag, А CASE с Instr() - не дружат? Подружить надо :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 23:52 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
zimkon, привет! Твой вариант тоже наткнется на такие грабли: vmagЕдинственное нужно проанализировать варианты типа не сработает ли слово "правки" из-за "Справки", не смотря на большее количество InStr чем в моем примере + Mid + IIF :) Выход проще, в моем примере с одним InStr (как и в твоем нужно только причесать данные): 1. Общий пакет (строку) оформлять например так: "@Рога@Справки@Копыта@Шапки@" 2. Искать в ней например это "@Рога@" найдется "@правки@" не найдется ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 02:10 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
Короче, Если причесать данные так как выше, то хватит одной строки Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 02:14 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
PredeclaredЕсть вкусный хладогент: BelugaХм... На вкус и цвет... Обычная водяра. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 04:12 |
|
Переменная в операторе ветвления.
|
|||
---|---|---|---|
#18+
vmagzimkon, привет! Твой вариант тоже наткнется на такие грабли: vmagЕдинственное нужно проанализировать варианты типа не сработает ли слово "правки" из-за "Справки", не смотря на большее количество InStr чем в моем примере + Mid + IIF :) Выход проще, в моем примере с одним InStr (как и в твоем нужно только причесать данные): 1. Общий пакет (строку) оформлять например так: "@Рога@Справки@Копыта@Шапки@" 2. Искать в ней например это "@Рога@" найдется "@правки@" не найдется Привет! Я подумал об этом через минуту после того, как нажал опубликовать. Лень было пост править. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 05:25 |
|
|
start [/forum/topic.php?fid=45&fpage=40&tid=1611021]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 147ms |
0 / 0 |