пользовательский выбор в командной строке

Автор Тема: пользовательский выбор в командной строке  (Прочитано 2984 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Здравствуйте. возможно ли реализовать выбор из предложенных вариантов в командной строке посредством кнопочек?



Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2463
  • Карма: 692
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Непонятно: а что нужно-то в итоге? Сделать такой выбор в своём коде или программно выбрать какой-то вариант при запуске стандартной команды?

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
выбор в своем коде.
просто не хочется ради выбора одного из двух сценариев открывать форму.
а кнопочками в командной строке очень удобно мне кажется)

Отмечено как Решение simson43 31-10-2018, 22:39:54

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13074
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Здравствуйте. возможно ли реализовать выбор из предложенных вариантов в командной строке посредством кнопочек?



Это просто ключевые слова (keywords).
Попробуй такой код:

Код - C# [Выбрать]
  1. Document doc = Application.DocumentManager.MdiActiveDocument;
  2. Editor ed = doc.Editor;
  3. PromptPointOptions ppo = new PromptPointOptions("Укажите точку ");
  4. ppo.Keywords.Add("Один");
  5. ppo.Keywords.Add("Два");
  6. ppo.Keywords.Add("Три");
  7.  
  8. PromptPointResult ppr = ed.GetPoint(ppo);
  9.  
  10. if (ppr.Status == PromptStatus.Keyword)
  11.     ed.WriteMessage(ppr.StringResult);
  12. else if (ppr.Status == PromptStatus.OK)
  13.     ed.WriteMessage(ppr.Value.ToString());
  14. else
  15.     ed.WriteMessage("***Отказ***");
  16.  
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Спасибо!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13074
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Спасибо!
Подходит? У ключевых слов есть особенности - в качестве ключа рассматриваются большие буквы в словах и они не должны совпадать в разных ключевых словах. Например, ключи "Отрезок" и "Отмена" быть не могут, а "Отрезок" и "оТмена" - могут.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Да я справился.
это уточнение тоже полезно)
я заметил что он воспринимает только одно слово. а составные (т е с двумя заглавными, например, ПервыйСценарий и ВторойСценарий) нормально воспринимает?
у меня по крайней мере работает

_________________
видимо подходит. Первая Большая буква значимая я так понял. все что после неважно.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13074
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
видимо подходит. Первая Большая буква значимая я так понял. все что после неважно.
Не так. Работают все большие буквы. Т.е. это будет "ПС" и "ВС" и соответственно они разные.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
он(автокад) даже в командной строке выводит после выбора первую букву выбранного составного слова

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2463
  • Карма: 692
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Не так. Работают все большие буквы. Т.е. это будет "ПС" и "ВС" и соответственно они разные.
То есть, не обязательно чтобы большие буквы шли подряд? Я всегда считал, что их вот так разносить нельзя...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13074
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Не так. Работают все большие буквы. Т.е. это будет "ПС" и "ВС" и соответственно они разные.
То есть, не обязательно чтобы большие буквы шли подряд? Я всегда считал, что их вот так разносить нельзя...
А вот это я уже точно не помню. Нужно проверить. Возможно ты и прав.
В действительности возможностей у ключевых слов значительно больше. Обрати внимание, что KeywordCollection имеет несколько перегруженных методов Add. Там можно задать и локализованное и глобализованное имя (задаваемое через подчеркивание) и то имя, которое будет отображаться. Т.е. локализованным именем может быть "ПС", а отображаться будет "ПервыйСценарий".
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 575
  • Карма: 136
    • ПГСу Бложик
Добавлю, для полноты картины, что у ключевых слов, какая-то нелюбовь к нижнему подчеркиванию: http://adn-cis.org/forum/index.php?topic=715.0

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13074
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Добавлю, для полноты картины, что у ключевых слов, какая-то нелюбовь к нижнему подчеркиванию: http://adn-cis.org/forum/index.php?topic=715.0
Нижнее подчеркивание - это разделитель локализованных и глобализованых ключевых слов. Кроме того в документации четко сказано, что ключевое слово - это буквы, цифры и знак минус. Других быть не может.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение