Перейти к содержанию

Выбор опций в командной строке


Рекомендуемые сообщения

Есть ли возможность силами VBS реализовать выбор опций в командной строке мышкой, как во встроенных функциях Нанокада, или необходимо прописывать только вручную?

И если всё же можно, то дайте, пожалуйста, хотя бы ссылку на пример кода.

post-38608-0-96361800-1345555261_thumb.png

Изменено пользователем СтанІслав
Ссылка на сообщение
Поделиться на другие сайты

Такой возможности нет, ключевые слова программно выбираются только текстом.

 

Из-за чего возникла необходимость создания полилинии при помощи команды POLYLINE? Штатным для скриптов подходом является вызов AddLightWeightPolyline.

 

Dim PntLst(5)
PntLst(0) = 0
PntLst(1) = 0
PntLst(2) = 100
PntLst(3) = 100
PntLst(4) = 200
PntLst(5) = 0

ThisDrawing.ModelSpace.AddLightWeightPolyline PntLst

Ссылка на сообщение
Поделиться на другие сайты

Такой возможности нет, ключевые слова программно выбираются только текстом.

Из-за чего возникла необходимость создания полилинии при помощи команды POLYLINE? Штатным для скриптов подходом является вызов AddLightWeightPolyline.

По поводу выбора - понял. :)

По поводу ПОЛИЛАЙН - за совет спасибо, но это был скрин во время обычной ручной работы в НаноКаде. Просто выбирал инструмент, который мог бы показать тот метод выбора о котором спрашивал :))

Ссылка на сообщение
Поделиться на другие сайты

На самом деле, все не совсем так. Если речь идет о выборе кейвордов, то это делается через метод InitializeUserInput. примерно вот так :

Dim ut, answer
Set ut = ThisDrawing.Utility
ut.InitializeUserInput 4, "one two" ' первый параметр - набор битовых флагов
answer = ut.GetKeyword("А ну-ка выбирай!")
ut.Prompt answer

К сожалению, работает этот фокус только для GetKeyword - остальные Get-ы все эти вкусности игнорируют. Это связано с механизмом возврата значений из этих Get-ов.

Ссылка на сообщение
Поделиться на другие сайты

Если речь идет о выборе кейвордов, то это делается через метод InitializeUserInput.

Ага, понял, посмотрю, может даже этот вариант меня устроит :) Жаль, что слово "или" в строке запроса присутствует :unsure:

Ссылка на сообщение
Поделиться на другие сайты

Ага, понял, посмотрю, может даже этот вариант меня устроит :) Жаль, что слово "или" в строке запроса присутствует :unsure:

это самое "или" тоже можно задавить. равно как и вклячить список кейвордов в произвольное место запроса - достаточно в нужное место вставить [%s]. вот так, скажем :

answer = ut.GetKeyword("А ну-ка [%s] выбирай!")
или
answer = ut.GetKeyword("А ну-ка выбирай! [%s]")

Ссылка на сообщение
Поделиться на другие сайты

это самое "или" тоже можно задавить. равно как и вклячить список кейвордов в произвольное место запроса - достаточно в нужное место вставить [%s].

О, отлично просто! Спасибо!!! :D

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Почему не работает:

 

 

Dim ut, answer, fio_str
Set ut = ThisDrawing.Utility
option_str="One two"
ut.InitializeUserInput 4, option_str
answer = ut.GetKeyword("А ну-ка выбирай!")
ut.Prompt answer

Ссылка на сообщение
Поделиться на другие сайты

Какая-то засада со стрингами в переменных. в чем дело - пока не понятно, но есть незатейливый воркэраунд :

ut.InitializeUserInput 4, "" + option_str ' как вариант - "" & option_str

или

ut.InitializeUserInput 4, CStr(option_str)

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Это баг, записан в Клубе разработчиков под номером 39.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 года спустя...

Какого типа/класса объект возвращается этим методом?

Где, в какой библиотеке определены эти классы?

Полилиния строится, но дальнейшая работа с ней возможна только через объект.

Если как в акаде - LightweightPolyline., то такого типа нет. Описания методов в моделспейсе нет. Или я его не вижу, а оно есть? ;)

Попытался в клуб пролезть, так письмо не пришло - клуб закрылся?

 

Помогите с полновесным описанием под версию 5.1. плз.

 

Штатным для скриптов подходом является вызов AddLightWeightPolyline.

 

ThisDrawing.ModelSpace.AddLightWeightPolyline PntLst

 

сам отвечу ...

чуден VBA :) Можно не связываться с типами

   Dim pl
Set pl = ThisDrawing.ModelSpace.AddLightWeightPolyline(vl1)
pl.Closed = True
pl.Update

Изменено пользователем v-oz
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...