|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
Поиск в этой теме |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Насчет соблюдения правил VVA прав. Надо придерживаться стандарта Автокада.
Если пользователь введет "русскую" опцию при английской раскладке (вместо "Ч" - "X"), то получит сообщение об ошибке и повторное приглашение. А уж дело программиста обработать эту ситуацию. Если у пользователя туго с клавиатурным вводом, он должен иметь возможность выбрать из контекстного меню. А уж дело программиста предусмотреть, чтобы контекстное меню автоматически дополнялось нужными опциями. Предусматривать все варианты неправильной раскладки, да еще и ошибок при написании ("Чило", "Xicla") и т.п. не следует. Иначе программа никогда не будет написана. А вот Выход лучше делать всегда (за исключением некоторых ситуаций) в качестве действия по умолчанию "Укажите текст или [Число/Функция/Результат]< Выход>: " |
|||
|
||||
промышл проектант Регистрация: 26.05.2005
Изовсехщелей
Сообщений: 323
|
В тему топика просьба - давно хотел найти но пока не нашел код реализующий следующий набор действий:
есть спецификация - .............................|......Кол.......|..Масса..| .............................|...ТР1.|.ТР2..|.............| Двутавр...................158......259......236 т.е. есть ряды столбцов с массой и количеством надо в итоге получить общий все каждого изделия ТР1 и ТР2. путем выделения рамкой всего столца ТР1 - кол-во др рамкой всего столбца масса - в итоге имеем 2 массива которые надо перемножить и сложить. НО часть данных может содержать не число а "-" т.е. скажем уголок есть в тр1 а в тр2 его нет - следовательно стоит прочерк. вот такая просьба |
|||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Вот что значит неточно поставить вопрос! Исправляюсь:
(princ "\n Выберите текст для изменения: ") (setq changeobj (entget (ssname (ssget "_:S" '((0 . "*TEXT"))) 0)) textlayer (cdr (assoc 8 changeobj))) Можно ли избавиться от запроса “Select objects: ” именно в функции ssget ? >> Лентяй. Я конечно осознаю, что у ActiveX больше возможностей, но только еще начинаю разбираться в этих функциях (спасибо Н.Н. Полещуку и соавторам, их книги дошли (ощущение что действительно пешком) и до нашего города), хотя функции vla-get-lock не нашел ни в F1 ни в книгах. Как я понял, используется обычная vla-get- к которой добавляется нужное свойство? Может есть у Вас ссылки на документы в сети или форумы где это объясняется подробнее? Благодарю за помощь, буду использовать. >> VVA и ShaggyDoc. По поводу русских и английских опций команд. Строчка (initget "Число Функция Результат Выход X A H D _X A H D X A H D") появилась именно из-за того, что пользователь может забыть или не знать (не будете спорить, что такое возможно?) какая раскладка включена. И что бы не беспокоить его сообщениями типа “у вас не та раскладка, переключитесь!” дана возможность ввода на английском, хотя пользователь об этом и не подозревает (короче это и есть “проверка” на ошибочный ввод) С другой стороны, у меня почти весь acad.pgp дополнен русскими вариантами альясов “line” - “L” - “Д” и т.п., так что я посчитал этот вариант полезным. Цитата:
У меня на компе его раскрыть не получается, думаю из-за настройки открытия папок и документов по одному клику и скрывающейся панели Windows. В связи с этим два вопроса: 1. Как в функции entsel сделать опции доступными сразу (в getkword’e список опций дается уже раскрытый)? 2. В какой сист. переменной пишется включен или отключен динамический ввод? Цитата:
Попробую приложить файл программы, гляньте у кого время есть. [ATTACH]1160657385.rar[/ATTACH] Надо же, получилось (ну новичек я еще в сети ). С нетерпением жду ответов и готов к конструктивной критике. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
Код:
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Если у вас выход по опции, то непонятно, глядя на командную строку, к чему же приведет пустой ввод (в текст программы я не заглядываю). Возможно, в конкретном случае, выход нужен именно по опции, но тогда в командной строке должно быть отображено(в <Что будет при пустом вводе>), что же именно произойдет по умолчанию. Скорее всего это должна быть одна из популярных опций. Хотя самая популярная - как раз Выход. И совсем не надо запрашивать дополнительное подтверждение выхода. Такая "мания величия" программ ("как, неужели Вы хотите меня покинуть") очень мешает в реальной работе. |
|||
|
||||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Цитата:
Цитата:
Цитата:
Обрати внимание, что ((null oneobj) стоит выше ((listp oneobj) в cond, т.к. nil тоже список. Код:
Цитата:
http://www.menziengineering.ch/Downloads/Download.htm http://www.arcada.com.ua/forum/viewf...c4e108effc725f Там много всего вкусного Последний раз редактировалось VVA, 19.09.2015 в 22:51. |
|||||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
>> ShaggyDoc.
Цитата:
Цитата:
(entsel "\n Укажите текст или [ Число / Функция / Результат / Выход]: ") по нажатию ENTER или SPACE программа ничего не делает, просто будет повторен запрос. Цитата:
- если проводились вычисления и есть результат – появится дополнительный запрос (getkword "\n Вы хотите выйти без сохранения результата вычислений? [Да / Нет] <Нет> :") ; - если нет результата, либо он только что выведен на лист – выход без вопросов. Мне кажется, так будет правильнее. В принципе, можно и не смотреть текст проги (лучше не смотрите, а то мне некуда помидоры складировать), достаточно запустить и погонять несколько раз. Наши “тетки” сразу поняли, что от них требуется в запросах. >> ShaggyDoc и VVA. Вот правда так и не решил: выносить опцию выхода на пустой ввод или нет "\n Укажите текст или [ Число / Функция / Результат ] <Выход>: "? Если выносить, то придется ставить анализ ERRNO, как рекомендует VVA. Спасибо за ссылки, сижу изучаю :shock: . Чувствую себя мартышкой, изобретающей велосипед. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
|
|||
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Ладно, критику осознал. Поставлю "Выход" на пустой ввод.
А как вы поступаете в таком случае, когда пустой ввод возможен но по нему ничего делаться не должно? Можно конечно обрабатывать ERRNO (учесть не только Enter), но все равно ведь будет повторена строка запроса. Придется выдать пользователю сообщение "Недопустимый ввод", а то и расписать сообщения по каждой из ошибок. Ох-хо-хох. Был у меня такой опыт: составил програмку для подсчета длин объектов - заняла 25 строк с комментариями, поставил в нее обработку ошибок и Escape - в результате 111 строк. Вот и стал задумываться: когда это нужно, а когда - нет. Кажись мы отклонились от темы, но надеюсь это простительно? |
|||
|
||||
инженер-проектировщик слаботочных систем Регистрация: 01.07.2006
Сообщений: 16
|
может кто-нить поможет и мне с программкой? суть её в том, что бы в определённом порядке блоки расставлять. Если у знатоков программирования есть время и желание стучите icq 190103321. Заранее благодарна
|
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Отключайте сразу АСЬКУ, а то комп от перегрузки сломается.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Спробуй, уже давно я его не проверял.
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
инженер-проектировщик слаботочных систем Регистрация: 01.07.2006
Сообщений: 16
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
water, я все понимаю, но телепат аппликайшн я снес вместе со старой машиной. Какая была задача - такое и было решение. Блоки "в определенном порядке", да еще и внутри помещений и ADT не расставляет. И потом, что значит "в определенном порядке"? Кто и как определяет этот порядок?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Код:
|
|||