|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
Я обычно делал так: Код: vbnet 1.
Дальше берется тупо Command() Has(Param1) -проверяется наличие (/param1+пробел) либо (/param1=) Value(Param1) -при наличии /param1= берем напр. до следующего (пробел+/), либо до конца строки и делаем Trim() Могу конечно и в .Net этот принцип оставить. Хочется например в таком виде получать: Код: vbnet 1.
Ну допустим делаю: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Пример: Код: vbnet 1.
Ну, он мне выведет подряд: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Вполне ожидаемо.Разбил верно (пробелы, кавычки), только в кучу. А нужна какая-нибудь конструкция, чтоб две функции четко отвечали на 2 актуальных вопроса: Код: vbnet 1. 2.
Можно по простому сделать? Куда и как пары StringOption-Value считывать? Словарь, коллекция? И до кучи вопрос. Есть способ в IDE студии командную строку задавать чтоб в Debug.Print смотреть чего получается ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 17:38 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 19:35 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
Чуть подправил, чтоб не пытался добавить ключ второй раз и не добавлял пустые, вроде больше исключений и тупостей быть не должно. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 19:48 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
О чем топик? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 19:54 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
Дмитрий77, ну чудес-то не бывает, одному БГ известно, какая у вас логика обработки параметров... Если хочется чего-то готового... то поищите... что нить типа Command Line Parser Library или еще чего... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 20:08 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
buser, Да я уж понял что Код: vbnet 1.
это максимум что можно выжать, главное оно всякие кавычки правильно понимает. моего класса думаю достаточно, смотрел совсем неиного на реализацию в ptlib (C++), если что допишу. Свои утилиты обычно со своими exe и использую, при этом предпочитаю даже не Console а main() в "Win.Forms" без самой формы(аналог модуля в VB6). Так что о потенциальных частных глюках можно особо не заботиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2015, 21:04 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
skyANAО чем топик? "А есть какой-нибудь универсальный способ работы с параметрами командной строки? " ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2015, 11:53 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
WinnipuhskyANAО чем топик? "А есть какой-нибудь универсальный способ работы с параметрами командной строки? "Параметры командной строки - это массив. Универсальный способ - loop. Пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2015, 11:58 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
skyANAУниверсальный способ - loop. 17652098 Код: vbnet 1. 2. 3.
Чем не Loop? Да, у меня там ошибка (несущественная но тупая): Код: vbnet 1. 2. 3. 4. 5.
Решил pop3 клиента вынести в отдельный exe с параметрами типа Код: vbnet 1.
17647324 Да вроде все получается. skyANAПример:[src C#] if '%1' == '/?' goto usage if '%1' == '-?' goto usage if '%1' == '?' goto usage if '%1' == '/help' goto usage if '%1' == '--help' goto usage А вот этого как раз не надо. Это для "внутреннего пользования", вызывающая прога знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2015, 12:11 |
|
А есть какой-нибудь универсальный способ работы с параметрами командной строки?
|
|||
---|---|---|---|
#18+
авторА нужна какая-нибудь конструкция, чтоб две функции четко отвечали на 2 актуальных вопроса: HasParam(ByVal param as String) as Boolean 'для да/нет этого достаточно GetParamValue(ByVal param as String) as String 'если отсутствует, то пустой строки достаточно, либо проверка на Has Такую либу дольше писать, чем самому тупо разобрать параметры, т.к. у всех свои задачи. Вот прекрасный пример в пику: Код: plaintext
Тут если делать универсальный всемогутер, надо конфигурировать каждый параметр - сколько значений, как указываются (мож, через запятую!), какие типы поддерживаются... для того, кто это использует , гемор обеспечен. Я делал проще: загонял все параметры в стек и доставал по одному. Если "оно" начинается со слэша/минуса - обрабатываем имя параметра (и в обработчике мы чётко знаем, сколько/каких значений параметра должно следовать). Результат загоняем в глобальные сеттинги и юзаем изо всех мест. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2015, 15:26 |
|
|
start [/forum/topic.php?fid=20&fpage=83&tid=1401459]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 330ms |
total: | 466ms |
0 / 0 |