|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Диалоговое окно - выпадающий список
Регистрация: 10.04.2025
Сообщений: 5
|
||
Просмотров: 478
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
М-да... Совет как минимум вредный.
(action_tile "accept" "(done_dialog 1)") (setq dcl_res (start_dialog)) (unload_dialog dcl_id) (if (= dcl_res 1) ; ...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
А на фига вводить дополнительные переменные? Да еще и с настолько информативными именами?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 613
|
Ох, полез смотреть, вспоминать...
Итог. Всё это тянется у меня ещё с DOS-версии Автокада. Видимо, возврат функцией (start_dialog) какого-нибудь значения ввели позже. А далее - классика. Работает - не трогай. Я и не трогал. :-))) Что касается информативности - у меня такой стиль. Если переменная нужна в десятке-другом строчек кода, помещающихся на один экран, я называю их p, p1, p2. Своеобразный индикатор временности. Вычислил попридержал в памяти, обработал и забыл. Кстати, тоже с тех времён привычка, когда компы были медленными и памяти мало было. А переменная с именем не более 6 символов позволяла в одной ячейке АвтоЛиспа хранить и имя переменной и её значение. А память "на всё и про всё" в килобайтах измерялась. :-)
__________________
Счастливо, Алексей! Последний раз редактировалось ===AAA===, 10.04.2025 в 14:53. |
|||
![]() |
|
||||
Регистрация: 10.04.2025
Сообщений: 5
|
Цитата:
потом считываем в переменную в вашем коде в dcl_res и вот если уже dcl_res у нас 1 , то выполняем программу tr_1 , это и есть уже оператор if видимо в нем я и косячу, в принципе сейчас написал новое диалоговое окно просто с кнопками , и разобрался как нажимая на кнопку изображать рисунок, теперь возвращаюсь к списку и начинаю думать о нем., в этой части кода я должен оставить все так-же если отмена то 0 , если ОК то 1, далее если у нас 1 , то необходимо опять сравнение, нужно вытащить из диалогового окна значение которое выбрал пользователь, преобразовать его в инт и уже его сравнивать - если 1 то tr_1 если 2 то tr_2 и тп., саму суть я полностью понимаю но откодировать не получается |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Цитата:
callback-функцию из принципа не пользуешь? ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.04.2025
Сообщений: 5
|
Дописал код , что бы можно было вызывать программку с раб поля автокада
Код:
зато сейчас все кнопки жмутся , автокад не висит замертво , нормально закрывает диалоговое окно после "ОК" "Отмена" и тп |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,377
|
Так либо выводить внутри основной функции, либо делать переменную глобальной.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.04.2025
Сообщений: 5
|
Её уже и туда и сюда не помогает., только через сложные танцы выходит
Код:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматизация очистки. Как убрать (можно ли?) диалоговое окно DCL из LSP? | nofedosov | LISP | 2 | 13.03.2023 09:56 |
Solidworks 2014. Как создать выпадающий список? | voverrr | SolidWorks | 1 | 18.02.2016 16:27 |
Как восстоновить диалоговое окно "Генератор валов" в AutoCad Mechanikal-е? | Армен Грачикович | Вертикальные решения на базе AutoCAD | 2 | 11.03.2013 13:49 |