Как содержимое одного текстового поля заменить содержимым другого за два клика мышкой.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как содержимое одного текстового поля заменить содержимым другого за два клика мышкой.

Как содержимое одного текстового поля заменить содержимым другого за два клика мышкой.

Ответ
Поиск в этой теме
Непрочитано 18.12.2011, 14:15 #1
Как содержимое одного текстового поля заменить содержимым другого за два клика мышкой.
Srgwell
 
Регистрация: 04.12.2011
Сообщений: 5

Т.е.
1. указать мышкой поле (источник)
2. enter подтверждение
3. указать мышкой поле (целевое)
4. enter подтверждение
Результат: содержимое перешло копированием без затрагивания форматирования.
Очень хочется узнать как это сделать. Пока своими знаниями этого я сделать не могу. Может кто скажет. Функция очень полезная. В инете ничего не нашел.
Просмотров: 3162
 
Непрочитано 18.12.2011, 18:18
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


А простое копирование объекта не подойдет?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.12.2011, 12:36
#3
ASLYS

Delineante
 
Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 396
<phrase 1=


держи, вроде недавно тема была
Вложения
Тип файла: lsp CPY_TXT1.LSP (2.7 Кб, 81 просмотров)
ASLYS вне форума  
 
Непрочитано 21.12.2011, 19:38
#4
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


Я вот такое нашёл

Код:
[Выделить все]
 (defun c:CFLD (/ ename_get t_str ID)
  ;;; Copy field
  (vl-load-com)
  (setq	ID (vla-get-objectid
	     (vlax-ename->vla-object
	       (car (nentsel "\nоткуда брать содержимое"))
	     )
	   )
  )
  (setq ename_get (entget (car (nentsel "\nкуда писать"))))
  (setq	t_str (strcat "%<\\AcObjProp Object(%<\\_ObjId "
		      (itoa ID)
		      ">%).TextString>%"
	      )
  )


  (setq ename_get (subst (cons 1 t_str)
			 (assoc 1 ename_get)
			 ename_get
		  )
  )
  (entmod ename_get)
  (entupd (cdr (assoc -1 ename_get)))
  (command "_updatefield" (cdr (assoc -1 ename_get)) "" "_regenall")
  (princ)
);defun
Для ускорения работы можно отключить регенерацию (удалить "_regenall" из кода) и регенерировать в самом конце.
Alexeipost вне форума  
 
Непрочитано 25.03.2013, 19:20
#5
Залётный


 
Регистрация: 15.04.2005
Сообщений: 243


Цитата:
Сообщение от ASLYS Посмотреть сообщение
держи, вроде недавно тема была
Может недавно, но я пользуюсь этим лиспом с ноября 2005 года. Пару недель назад обнаружилась проблема - multiline атрибуты. До этого ими не пользовался. Возможно ли исправить код, что бы и они стали работать?
--------------------------------

Приношу извинения за беспокойство.
Ответ найден:
http://www.caduser.ru/forum/index.ph...1894&PAGEN_1=2

Последний раз редактировалось Залётный, 25.03.2013 в 22:15.
Залётный вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как содержимое одного текстового поля заменить содержимым другого за два клика мышкой.