|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
арифметические действия между двумя текстовыми элементами
Регистрация: 04.05.2006
Сообщений: 37
|
||
Просмотров: 16289
|
|
||||
инженер Регистрация: 27.04.2006
Ростов-на-Дону
Сообщений: 33
|
|
|||
![]() |
|
||||
Регистрация: 04.05.2006
Сообщений: 37
|
По поводу ссылки: Все что там выложенно не совсем подходит...
Мне бы вот отнимать ![]() ![]() Коллеги посмотрели на то как легко можно два текста прибавлять и выдвиннули свои условия ...[sm3302] т.е чтоб за одну команду можно было сделать несколько действий : расстояние умножить на уклон отнять предыдущую отметку .... :?: Напоминю, что все результаты этого вычисления должны на листе отображаться как текст и далее участвовать в следующих действиях... Еще раз спасибо ! |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Дело за малым.
Надо написать членораздельное ТЗ, максимально подробное, с примерами того, что складывается или вычитается и что получается в результате. Описать то, какие вопосы хотелось бы получать от AutoCAD и в какой форме удобнее было бы на них отвечать и т.д. и т.п. Тогда может кто и поможет... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,594
|
> Pastor: Отлично! Полностью поддерживаю!
P.S. Сейчас выяснится, что стандартного калькулятора хватит за глаза ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер по автоматизации (строительство) Регистрация: 05.05.2006
Люберцы
Сообщений: 241
|
RЯков
Извольте ![]() Про внедрение было здесь (в том числе), заодно может и сами предлагаемые вещи пригодятся http://dwg.ru/dnl/1929 (в комментариях) http://dwg.ru/dnl/1931 А еще, в последнее время, мне понравилось запускать макросы через Lisp-команды. Тем более, что с подводными камнями, вроде, разобрались. Об этом здесь: http://dwg.ru/forum/viewtopic.php?t=11677, совсем свеженькая тема. Ежели чего не так - пишите, всегда рад помочь. ![]() [ATTACH]1171001265.rar[/ATTACH] |
|||
![]() |
|
||||
Регистрация: 04.05.2006
Сообщений: 37
|
Не знаю куда более подробно и членораздельно хмм :shock:
И как тут может справиться калькулятор??: Вернее с этим конечно сейчас и справляеться калькулятор, и хорошо когда "намлук"( чтоб текст скопировать и в текст вставить ), а то "некоторым" удобнее под рукой машинку иметь следовательно опечатки и ошибки...[sm1711 ] А предлагается действительно калькулятор, который работает с текстовыми элементами ... Еще раз попытаюсь объяснить :[sm2504] Давлю на кнопочку-выберите число-выбираю, ставлю знак,-выберите число-выбираю,ставлю знак-ит.д. выбираю,ставлю знак, энтер,-укажите точку вставки-указываю все счастливы Спасибо! |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Рискну-ка я выложить свой вариант решения этой задачи. Это одна из первых моих серьезных программ (изучаю ЛИСП не так уж давно), но работать должен в AutoCADe от 2000 до 2007. Если гуру ЛИСПа найдут время посмотреть код и прокомментировать (ну да, побить за непрофессионализм), буду рад.
Нужно загрузить прогу в КАД, запуск командой TextCalc. [ATTACH]1171006212.rar[/ATTACH] Забыл сказать, что выполняются только простые действия: +, -, * и /. Для вывода результата в текстовый объект необходимо наличае уже готового текста. Можно изменить существующий текст, либо создать новый (в этом случае прога просит указать текст-образец). |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
>> RЯков
Извини, что не ответил сразу. Не всегда нахожусь на своем рабочем месте (да и обед пропускать нельзя ![]() Цитата:
Сейчас перечитал 5-й пост - "расстояние умножить на уклон отнять предыдущую отметку...". У программы есть такая особенность: если первым в тексте стоит не цифра, а любой другой символ (хоть пробел или "+"), число будет записано как ноль. Как-то не подумал, что будут складывать высотные отметки (там ведь "+" или "-" перед числом) и сделал по-простому. А насчет объема кода - это да-а, сам удивился когда дописал. Впрочем, если убрать комментарии и проверки ошибок, можно уменьшить на 2/3. Но не стоит, не стоит. |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
Так ведь если отключить динамический ввод, все запросы выводятся в комстроку, соотв и ответы набираются с клавиатуры. У меня вообще динамич ввод всегда отключен, так и не привык к строке запроса возле курсора (поке еще этот курсор найдешь на экране). Зато комстрока высотой в 4 строчки - это считаю полезнее.
|
|||
![]() |
|
||||
Регистрация: 04.05.2006
Сообщений: 37
|
Ну это не суть..
Вчера и сегодня выполняю свою работу, за одно тестирую твой калькулятор ... сам конечнно такой сделать не смогу... но ты просил критики- получай ( тока без обид я тока для пользы дела) 1) Алгоритм: команда, выбор текста или числа ... палец тянется нажать на знак- нажимаем (зачем подтверждение энтер?) 2)Следом открываеться диалоговое окно по умолчанию <выход> хотя еслиб по умолчанию стояло число ,а ELSE текст ,а ELSE "укажите число- это не число" тогда КПД выросло бы на 30% 3)И далее не диалог, а IF энтер то результат изменить(ждет щелчка мышки по тексту), ELSER создает текст и уже тогда спрашивает укажите пример текста (т.е. один щелчек исправление два щелчка результат) а ВООБЩЕ вчера правда за два часа на два раза(вылетал блок питания) работы выполнил которую мог бы делать наверное пол дня, но ошибок бы там было ... е мое А ща попробую отключить, как ты говоришь, динамический ввод.. Хороших тебе выходных! еще раз спасибо! |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 307
|
... а техзадание все расширялось и усложнялось...
![]() Критику воспринял, алгоритм приведен интересный, возможно реализую такой вариант для продвинутых пользователей (без запроса ввода действия и числа с клавы). Теперь буду отвечать на критику, то есть оправдываться. 1. Выше я уже говорил, что не такой уж продвинутый программист, ковыряние с КАДом и программирование - это скорее хобби, помимо основной работы. 2. Зачем подтверждение энтер? Ну такова уж логика работы с КАДом. После набора команды, числа или еще чего в ответ на запрос - обязательно нажать Enter или Space. Тогда комп поймет, что ввод закончен и перйдет к обработке введенного значения (хотя что я объясняю, если ты работаешь в КАДе, то знать такое обязан). 3. Программа создавалась для юзеров, поэтому использовал наиболее простые функции, жесткое задание последовательности выполнения, постоянные проверки вводимых данных и подробные запросы с подсказками. Пока ни одна "обезьяна с гранатой" не смогла навернуть эту прогу. 4. Вначале прога была гораздо проще: выбирается действие, затем пользователь указывает тексты-числа с которыми это действие производится, и без лишних запросов. Показал у себя на работе продвинутым автокадчикам - "Нормально. А сделай так, чтобы знак действия менять в любой момент; и число с клавиатуры вводить; и вывод не только в комстроку, но и текст на чертеже менять/создавать новый; и чтобы количество цифр после запятой можно задавать было". Ну вот и результат. Вот и объем :shock: . 5. Алгоритм выполнения так и остался простым: выбираем текст с цифрой, автоматически запрашивается ввод действия; далее можно щелкать подряд на нужных текстах, а программа их все, скажем, просуммирует. Добавились только обвесы в виде опций. Надеюсь, это прояснит, почему прога именно такая. Хотя не уверен, что стоило так расписывать, да ладно, пускай будет. |
|||
![]() |