|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
26.03.2019, 22:14 | #1 | |
Интерактивный ввод числа
Регистрация: 21.08.2017
Сообщений: 3
|
||
Просмотров: 2335
|
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Есть еще пару идей (велосипедностроительных).
Вот не понимаю, отчего было не сделать возможность для функции entsel воспринимать биты initget? Конечно, не все, а только логически оправданные, например, бит 128, который бы давал пользователю на запрос объекта в качестве альтернативы вводить любую строку, которую после нетрудно перевести в тот же REAL. Но нет - имеем то, что имеем. И по сему есть первая идея (которую, разумеется, не одобрят "программар-наци"): если область допустимых для ввода значений относительно невелика. допустим, от -1000 до +1000 и количество знаков после запятой также не превышает разумных величин (думаю, 1-2), то можно динамически (изящной подфункцией) или жестко ("в лоб") создавать строку для (initget), которая будет содержать все допустимые значения, ну и далее разные постобработки и проч. Вторая идея - тоже костыль. Запрашивать REAL, а в ответ на пустой ввод (правая кнопка или Enter) "щупать" под курсором ssget'ом с опцией "_C". Правда, тут пострадают те, кто привык правой кнопкой завершать команду. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
Насколько помню, DCL может только модальные окна создавать. На том же .Net можно сделать висящее на курсоре немодальное окно ввода и использовать стандартные механизмы выбора.
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
ветка то лиспа, по умолчанию только DCL и его так не повесишь на координаты указателя мыши...
----- добавлено через ~4 мин. ----- хотя проще сделать вложенные: сначала ввод, если отказался или пустое значение - переходить к выбору. Более стабильная и предсказуемая работа, имхо. ----- добавлено через ~28 мин. ----- Кстати так проще всего получается: Код:
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Сергей812, все равно не понял, зачем DCL? Вроде же не идет речи о диалогах? Не могу уловить мысли, где они даже тут могут сгодиться и быть полезными.
Мое предложение (первое) подразумевает использовать запрос на выбор объекта (entsel) с возможностью ввода числа, но в виде строки... Не, стоп. Проще в коде показать, наверное ) Код:
Так не только проще, но и правильней всего, по мнению - я уверен - многих хороших и уважаемых LISPоведов, но это дополнительный клик и такой подход идет вразрез с ТЗ от ТС. Такой вариант, полагаю, он и сам знает, но он ему не подходит. Как, скорее всего, и мой - разве что область допустимых значений невелика. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
Цитата:
когда ТС попробует (в случае удачной реализации) на реальной задаче свой вариант интерфейса... Скорость работы достигается за счет предсказуемости реакции интерфейса (т.е. когда уже почти на автомате совершаешь действия) - а не экономией кликов, имхо.. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Calculix 2.9 ругается на числа в экспоненциальном формате | hungry_Duck | Расчетные программы | 0 | 26.10.2016 15:30 |
Как отключить автозамену числа на дату в Excel? | Art1st | Прочее. Программное обеспечение | 10 | 31.07.2015 14:45 |
DYNMODE (Системная переменная динамический ввод) | sdv79 | Справочник команд | 0 | 10.06.2012 17:17 |
Приямок ("кессон") скважины водоснабжения. Гидроизоляция, ввод трубы. | Андрей О | Конструкции зданий и сооружений | 2 | 27.05.2011 23:52 |