|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Порекомендуйте что-то простое и приличное ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 12:04 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kПорекомендуйте что-то простое и приличноепервый раз берем входные и сразу библиотеку? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 12:28 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANAfor + switch + case А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)? Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 12:36 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныskyANAfor + switch + case А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)? Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи. 1. йез 2. потому и спросил, чтобы что-то проверенное порекомендовали ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 12:39 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныА если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)? Если не усложнять, то порядок причем? Надо все параметры по разделителю в словарь и отправить словарь в бизнес логику выполнять. Если параметр a.exe --file myFile.xml, то этот файл и поступит в метод обработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 17:12 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныskyANAfor + switch + case А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)? Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи. На самом деле, простейший конечный автомат. Я всегда за то, чтобы использовать готовое, но тут, походу, быстрее самому написать, чем в готовом разбираться (не считая, что это готовое надо еще сначала выбрать из этого "как грязи"). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 17:34 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
fkthat, Как всегда в точку. Автор туману напускает, а у самого Вангуем один параметр. Кроме того, если встретится 2 или неформат, то сразу выход и справка в out "как надо". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 17:41 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныskyANAfor + switch + case А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)? И что? Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 20:02 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Мне кажется skyANA Код: c# 1.
тут надо заменить на Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 23:05 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA, Немного офф - а это работает? Недавно натыкался на вопрос switch по строкам, там утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 00:17 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANAИ что? Да нет, ничего, я, чесслово, не против, если случай настолько простой, что это будет работать. В моем случае в свое время было несколько сложнее - ключи со значениями, контекстно-зависимые ключи, сокращенные формы ключей, итп. - пришлось велосипедить что-то вроде того, что выше по ссылке на F#. iskatelsqlskyANA, Немного офф - а это работает? Недавно натыкался на вопрос switch по строкам, там утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3) Если у строк разная длина - то это разные строки, ваш К.О. Разумеется, в этом случае switch по строкам работать не будет, т.к. он фактически сводится к вызову перегруженного оператора ==, который, в свою очередь, вызывает String.Equals(a, b). Здесь, кстати, еще будет нужно, чтобы у строк совпадал регистр. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 07:27 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
iskatelsqlтам утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3) Что это за ересь? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 09:36 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
hVostt256k, https://www.nuget.org/packages/CommandLineParser Неплохой, я протестировал, но есть вопрос: есть параметр, для него указано значение по умолчанию, при разорках этот параметр будет присутствовать в любом случае, и как понять, что параметр именно был передан юзером? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:32 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kи как понять, что параметр именно был передан юзером?не делать его по умолчанию)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:39 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, Код: c# 1.
Как определить, что второй параметер был передан? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:52 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kи как понять, что параметр именно был передан юзером? Зачем? Какая разница откуда он был передан. Тут нужен результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 12:55 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123fkthat, Как всегда в точку. Автор туману напускает, а у самого Вангуем один параметр. Кроме того, если встретится 2 или неформат, то сразу выход и справка в out "как надо". дядя Петя, у тебя какая-то бессвязная речь, что такое "у самого Вангуем"? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:13 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Если нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:18 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman MejtesЕсли нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО. да, это один вменяемый вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:22 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kRoman MejtesЕсли нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО. да, это один вменяемый вариантвроде у тебя бессвязные вопросы. НЕ НУЖНО ЗАДАВАТЬ ПО УМОЛЧАНИЮ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 13:28 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
fkthatМне кажется skyANA Код: c# 1.
тут надо заменить на Код: c# 1.
Можно, но не обязательно. Значение параметра не попадает же под case , получится холостая итерация цикла. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:14 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
iskatelsqlskyANA, Немного офф - а это работает? Недавно натыкался на вопрос switch по строкам, там утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3) Работает и с короткими версиями ключей. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: c# 1.
Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:21 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныskyANAИ что? Да нет, ничего, я, чесслово, не против, если случай настолько простой, что это будет работать.У ТС проде простой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:24 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANAСон Веры Павловныпропущено... Да нет, ничего, я, чесслово, не против, если случай настолько простой, что это будет работать.У ТС проде простой. могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:33 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kskyANAпропущено... У ТС проде простой. могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd Офуенно сложно взять за ключем параметер. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:36 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kskyANAпропущено... У ТС проде простой. могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd Дык в примере "/name" - это как раз не флаг, а значение :) Рассмотрим конкретно Ваш случай: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: c# 1.
Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 18:45 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA256kпропущено... могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd Дык в примере "/name" - это как раз не флаг, а значение :) Рассмотрим конкретно Ваш случай: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: c# 1.
Код: c# 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.
да, протормозил, лайкнул, потестирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:27 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123256kпропущено... могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd Офуенно сложно взять за ключем параметер. дядя Петя... (ц, фильм Серёжа, 1960) надо отметить, что твой лексикон загадочен, слово "офуенно" мне не знакомо и в словарях не нашел, что оно означает? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:29 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kслово "офуенно" мне не знакомо Это то же самое, что "очешуенно". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:34 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, Тебя больше должна беспокоить твоя некомпетентность совместно с гонором. Нечасто встречается. Плохой характер могут себе позволить умные люди. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:44 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA256kпропущено... могут быть не только флаги, но значения надо передавать, например, -s sqlserver -d database -u uid -p pwd Дык в примере "/name" - это как раз не флаг, а значение :) Рассмотрим конкретно Ваш случай: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: c# 1.
Код: c# 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.
кстати, в свитч попадает вся подстрока флаг + значение, например, так сработает -s server22 а так - нет -sserver22 флаг просто не будет найден ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:51 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kа так - нет -sserver22это ошибка формата с выводом хелпа юзверю ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 11:59 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kskyANAпропущено... Дык в примере "/name" - это как раз не флаг, а значение :) Рассмотрим конкретно Ваш случай: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: c# 1.
Код: c# 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.
кстати, в свитч попадает вся подстрока флаг + значение, например, так сработает -s server22 а так - нет -sserver22 флаг просто не будет найден Да ладно? В самом деле?! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 13:22 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, Пытался: А есть какой-нибудь универсальный способ работы с параметрами командной строки? Забил. Ну, в VB.Net/VB6 есть ф-ция Command(), которая достает командную строку целиком, дальше на вкус и цвет. Мне ее обычно достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 14:10 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77, Целиком строка это склеить массив же. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 14:27 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
public const - делать не хорошо, используйте public static readonly. лучше используйте const с модификатором private. почему, уже обсуждали на этом сервер ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 14:56 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA, с этим значит не сталкивался ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:09 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANARoman Mejtes, а error "A constant value is expected" как победишь? "if-else". Лично мне switch всегда не нравится - как-то он выглядит на мой взгляд некрасиво, плюс обычно неудобно, что скоуп кейсов не ограничен самим кейсом, если не вставить {}. Впрочем, дело вкуса. "Const" спокойно можно объявлять не только как private, а как internal - проблемы могут быть только когда они видны снаружи сборки. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:16 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA, enum, значения относительно выбранного значения должны определяться private константами в Case: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:18 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
+ само по себе открытое поле\константа не гарантирует уникальности значения. То есть в классе CommandLineArgumentKey константы могут иметь одинаковое значение, а сравнение в данном случае идет по типу. + сейчас в swich можно и извернуться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:21 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman MejtesskyANA, enum, значения относительно выбранного значения должны определяться private константами в Case: private зачем? internal достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 15:41 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77256k, Пытался: А есть какой-нибудь универсальный способ работы с параметрами командной строки? Забил. Ну, в VB.Net/VB6 есть ф-ция Command(), которая достает командную строку целиком, дальше на вкус и цвет. Мне ее обычно достаточно. https://nugetmusthaves.com/Package?q=command line parser ребят... эээх.. да пофих )) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 16:19 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123256k, Тебя больше должна беспокоить твоя некомпетентность совместно с гонором. Нечасто встречается. Плохой характер могут себе позволить умные люди. Дядя Петя, вы .... о чём? (фильм Серёжа, 1960) Очешуенно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 17:16 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, ты в подпись себе поставь). Детский сад. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 17:37 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, Давай свою следующую смешную попытку доказать что string[] args тебе не подходит))). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 18:37 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Cat2Аргументы командной строки - пережиток. Все должно быть в конфигах! не хочет. Считает что самый умный. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 18:46 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123Cat2Аргументы командной строки - пережиток. Все должно быть в конфигах! не хочет. Считает что самый умный. Это нормально. Каждый программист - самый умный ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 18:49 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Cat2Аргументы командной строки - пережиток. Все должно быть в конфигах! Неужели никаким CLI не пользуетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2018, 00:14 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ТС, string[] args подошел? Что в итоге? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2018, 16:46 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Cat2Petro123пропущено... не хочет. Считает что самый умный. Это нормально. Каждый программист - самый умный Здесь речь не про программистов, которых зовут типа Петя*** ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2018, 17:09 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kCat2пропущено... Это нормально. Каждый программист - самый умный Здесь речь не про программистов, которых зовут типа Петя***ты начал читать свой топик)). Вопрос повторить или модератор пусть закрывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2018, 17:26 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123256kпропущено... Здесь речь не про программистов, которых зовут типа Петя***ты начал читать свой топик)). Вопрос повторить или модератор пусть закрывает? жгучий юзер передаст команду админу ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2018, 17:35 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANACLI Насчет конфигов я, конечно, пошутил. Хотя в никсах конфиги широко распространены. Микрософт тоже баловался с ини-файлами. А зачем? Я не пишу консольных программ. Если я пишу программу, в которой юзер что-то должен выбрать, то я делаю это на форме с понятным контролами, где пользователь может поставить галочки или выбрать что-то из комбобокса, а не зубрить синтаксис командной строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2018, 19:41 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Cat2skyANACLI Насчет конфигов я, конечно, пошутил. Хотя в никсах конфиги широко распространены. Микрософт тоже баловался с ини-файлами. А зачем? Я не пишу консольных программ. Если я пишу программу, в которой юзер что-то должен выбрать, то я делаю это на форме с понятным контролами, где пользователь может поставить галочки или выбрать что-то из комбобокса, а не зубрить синтаксис командной строки. Я спросил не про пишите, а про пользуетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2018, 15:11 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, ты уже удовлетворился разбором ком.строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 22:21 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Cat2Микрософт тоже баловался с ини-файлами. Тоже ini обожаю. + да, командная строка, в частности при вызове одного exe из другого (внутри приложения) На каком-то этапе б'ольшую часть настроек, что было в реестре скинул в ini (удобнее сохранять, просматривать/редактировать в блокноте, а еще на папку/файл проще права назначать, если надо например "для всех пользователей"). GetPrivateProfileString / GetPrivateProfileInt / WritePrivateProfileString с индексом W + пара-тройка пользовательских ф-ций на их базе, плевать на depricated. Даже языковую локализацию на базе ini сделал. Правда ini юникодные делать надо. А вот как .Net-овские xml(?) конфиги устроены, никогда даже врубиться не пытался и не планирую. ИМХО, каждый делает как удобней, как привык. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 04:24 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77А вот как .Net-овские xml(?) конфиги устроены, никогда даже врубиться не пытался и не планирую. ИМХО, каждый делает как удобней, как привык.не каждый, а один процент работающих в любой профессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 07:17 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANAЗачем, если в Main передаётся string[] args ? Environment.CommandLine поуниверсальнее будет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 08:19 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77ИМХО, каждый делает как удобней, как привык А с групповыми политиками как быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 08:58 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ИзопропилskyANAЗачем, если в Main передаётся string[] args ? Environment.CommandLine поуниверсальнее будетЭто просто строка, её разобрать ещё надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 09:31 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77Cat2Микрософт тоже баловался с ини-файлами. Тоже ini обожаю. + да, командная строка, в частности при вызове одного exe из другого (внутри приложения) На каком-то этапе б'ольшую часть настроек, что было в реестре скинул в ini (удобнее сохранять, просматривать/редактировать в блокноте, а еще на папку/файл проще права назначать, если надо например "для всех пользователей"). GetPrivateProfileString / GetPrivateProfileInt / WritePrivateProfileString с индексом W + пара-тройка пользовательских ф-ций на их базе, плевать на depricated. Даже языковую локализацию на базе ini сделал. Правда ini юникодные делать надо. А вот как .Net-овские xml(?) конфиги устроены, никогда даже врубиться не пытался и не планирую. ИМХО, каждый делает как удобней, как привык. А как там у ini-файлов дела с типизацией получаемых значений? С пользовательскими настройками? С разделением пользовательских настроек (когда пользователей много, а ini-файл один)? Объединением настроек из нескольких файлов? В стандартной дотнетовской системе настроек это всё есть из коробки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 09:53 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныДмитрий77пропущено... Тоже ini обожаю. + да, командная строка, в частности при вызове одного exe из другого (внутри приложения) На каком-то этапе б'ольшую часть настроек, что было в реестре скинул в ini (удобнее сохранять, просматривать/редактировать в блокноте, а еще на папку/файл проще права назначать, если надо например "для всех пользователей"). GetPrivateProfileString / GetPrivateProfileInt / WritePrivateProfileString с индексом W + пара-тройка пользовательских ф-ций на их базе, плевать на depricated. Даже языковую локализацию на базе ini сделал. Правда ini юникодные делать надо. А вот как .Net-овские xml(?) конфиги устроены, никогда даже врубиться не пытался и не планирую. ИМХО, каждый делает как удобней, как привык. А как там у ini-файлов дела с типизацией получаемых значений? С пользовательскими настройками? С разделением пользовательских настроек (когда пользователей много, а ini-файл один)? Объединением настроек из нескольких файлов? В стандартной дотнетовской системе настроек это всё есть из коробки.для ini файлов есть api, со времен windows 3.1 работает супер просто и супер быстро :D ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 10:12 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman Mejtes, API у всего есть. Даже у чайника. А вот типизации у него вроде нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 10:25 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA string[] args плохо себя ведёт если в качестве параметров передаются имена файлов, содержащие пробелы ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 10:52 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman Mejtesдля ini файлов есть api, со времен windows 3.1 работает супер просто и супер быстро :D и у Registry есть API (со времён windows 3.1 что характерно) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 10:56 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ИзопропилRoman Mejtesдля ini файлов есть api, со времен windows 3.1 работает супер просто и супер быстро :D и у Registry есть API (со времён windows 3.1 что характерно) на счет реестра в win3.1 сомневаюсь, он там был, но был не сложнее ini файла, очень номинально ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 10:57 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman MejtesСон Веры ПавловныА как там у ini-файлов дела с типизацией получаемых значений? С пользовательскими настройками? С разделением пользовательских настроек (когда пользователей много, а ini-файл один)? Объединением настроек из нескольких файлов? В стандартной дотнетовской системе настроек это всё есть из коробки.для ini файлов есть api, со времен windows 3.1 работает супер просто и супер быстро :D Я в курсе про апи (GetPrivateProfile.. WritePrivateProfile..). Оно всего вышеперечисленного не умеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:03 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ИзопропилskyANA string[] args плохо себя ведёт если в качестве параметров передаются имена файлов, содержащие пробелыв батниках надо в кавычки. А тут? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:15 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Roman MejtesИзопропилпропущено... и у Registry есть API (со времён windows 3.1 что характерно) на счет реестра в win3.1 сомневаюсь, он там был, но был не сложнее ini файла, очень номинально ветка была одна, а иерархическая структура присутствовала в NT 3.1 (1993) реестр был в нынешнем виде ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:29 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123Изопропилпропущено... плохо себя ведёт если в качестве параметров передаются имена файлов, содержащие пробелыв батниках надо в кавычки. А тут? аналогично, но в string[] args будет несколько не то что ожидается ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:44 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ИзопропилPetro123пропущено... в батниках надо в кавычки. А тут? аналогично, но в string[] args будет несколько не то что ожидается А в Environment.GetCommandLineArgs()? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:57 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Изопропил, Ну в батнике то все нормалььно с %1 ))) MS косяк? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:00 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123Ну в батнике то все нормалььно с %1 Где? runbot.bat Код: powershell 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:08 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA, Вы кто? Я же говорил, что на ваши писанины у меня фильтр. Только заголовок поста. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:22 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
ИзопропилskyANA string[] args плохо себя ведёт если в качестве параметров передаются имена файлов, содержащие пробелы Ну так закавычивать надо, кому ж понравится, такое и в линуксе не проходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:55 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123skyANA, Вы кто? Я же говорил, что на ваши писанины у меня фильтр. Только заголовок поста. дядя Петя, только откинулся и снова бузотёришь ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:57 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k, Киш, дети и двоечники из топика)) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 13:09 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256kдядя бот Петя поправил ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 13:45 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
skyANA256kдядя бот Петя поправил Да. ошибся. ботя ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 13:58 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
256k,skyANA Вы нашли друг друга. Третий где? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 14:13 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Petro123256k,skyANA Вы нашли друг друга. Третий где? ты же и есть третий, хотя - нет, первый! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 15:03 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныА как там у ini-файлов дела ... С пользовательскими настройками? С разделением пользовательских настроек (когда пользователей много, а ini-файл один)? Объединением настроек из нескольких файлов?... IO.Path.Combine(GetFolderPath(SpecialFolder.CommonApplicationData), "Proga") -настройки, общие для всех пользователей C:\ProgramData\Proga Я кладу ini-файл туда, давая этой папке общий доступ для "всех и вся" при инсталляции. Понимаю, что неправильно (в плане приватности настроек), но судя по всему моих пользователей это устраивает. А вот когда клал в реест в Current User, было куча претензий, типа "я тут админ, настроил все, а потом открываешь (очевидно под другим юзером) и ни фига нет". Теперь подобных претензий нет от слова "совсем". В принципе можно и в реестр в HKLM, по тому же принципу, но как-то прикипел к ini уже. Если индивидуальные настройки, то наверно SpecialFolder.ApplicationData (в папке C:\Users\<User>) (папка данных пользователя). Я про этот вариант думал (хотя б как про опцию), но чего разводить огород, если как показал опыт всех и так все устраивает (общие настройки для всех пользователей). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 03:53 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77, Ты перепутал ностальгию и функционал/удобство. В детстве в зубном пломбы делали белые белые?) Тоже наверно так рассуждает и сейчас - зачем что то новое? ini файл не типизирован. Не сохраняет TPoint. Не сбрасывает настройки в по умолчанию при смене версии. Дак кого тогда убеждаем что "чего разводить огород"? Ну прикипел и прикипел. Это банальность. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 07:17 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Дмитрий77но чего разводить огород, если как показал опыт всех и так все устраивает (общие настройки для всех пользователей). примерно из той же оперы, подключил розетку от освещения на скрутку, вроде всех устраивает, все довольны. и соответствующее отношение, к сделать "нормально": нафига оно мне? я же не космический шатл строю. и.. ща немного бомбить не по теме буду... ходят потом с транспарантами по улицам и ноют, как всё плохо, какой плохой %президент% бла-бла-бла ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:22 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
hVosttДмитрий77но чего разводить огород, если как показал опыт всех и так все устраивает (общие настройки для всех пользователей). примерно из той же оперы, подключил розетку от освещения на скрутку, вроде всех устраивает, все довольны. Не совсем - аналогия "подключил на скрутку" подразумевает более простой и ненапряжный способ. В данном случае всё наоборот: из-за лени прочитать пару страниц на MSDN человек пишет вручную энное количество ограниченного по функциональности кода, вместо того, чтобы воспользоваться стандартным функционалом, который не требует писать вообще никакого кода. Т.е. непонятно ради чего усложняет себе жизнь, и получает на выходе не пойми что. Сон Веры ПавловныА как там у ini-файлов дела ... С пользовательскими настройками? С разделением пользовательских настроек (когда пользователей много, а ini-файл один)? Объединением настроек из нескольких файлов? Еще забыл: возможность биндинга к настройкам (в т.ч. возможность указывать эти биндинги прямо в UI-дизайнере). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:34 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры Павловныаналогия "подключил на скрутку" подразумевает более простой и ненапряжный способ. Вкак сказать) По сравнению с Wago без распредКоробки?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 12:58 |
|
CommandLine parser?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныНе совсем - аналогия "подключил на скрутку" подразумевает более простой и ненапряжный способ. В данном случае всё наоборот: из-за лени прочитать пару страниц на MSDN человек пишет вручную энное количество ограниченного по функциональности кода, вместо того, чтобы воспользоваться стандартным функционалом, который не требует писать вообще никакого кода. Т.е. непонятно ради чего усложняет себе жизнь, и получает на выходе не пойми что. Ну да, согласен. Хотя я хотел акцентировать внимание на ненадёжном способе ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 13:00 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399130]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 441ms |
0 / 0 |