如何在LISP程序中从粘贴板复制数据或复制数据到粘贴板
如何在LISP程序中从粘贴板复制数据或复制数据到粘贴板?我知道DOSLIB中有dos_clipboard可实现,但不知具体是怎么实现的。
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 yf__lx的微博 给你段代码参考,af复制到内存,aff粘贴
;向系统剪贴板写入文字内容 开始
(vl-load-com)
(defun ZML-CLIP-SETSTRING (STR / HTML RESULT)
(and (= (type STR) 'STR)
(setq HTML (vlax-create-object "htmlfile"))
(setq RESULT (vlax-invoke
(vlax-get (vlax-get HTML 'PARENTWINDOW)
'CLIPBOARDDATA
)
'SETDATA
"Text"
STR
)
)
(vlax-release-object HTML)
)
)
;;;=================================================================*
(defun c:tmbz()(c:af)(c:mini_index_name))
mini_index_name
;;函数测试
(defun c:af (/ txtss txtcon)
(setq txtss nil)
(while (= nil txtss)
(setq txtss (entsel "\n请点取需要复制到剪切板的文字:"))
(if (/= "TEXT" (cdr (assoc 0 (entget (car txtss)))))
(progn
(setq txtss nil)
(princ "\n没有点到文字,请重选。\n")
)
(princ "\n文字已复制到剪切板,可以直接粘贴了!")
)
)
(setq txtcon (cdr (assoc 1 (entget (car txtss)))))
(ZML-CLIP-SETSTRING txtcon)
(setq txtss nil)
(princ)
)
;;;
(defun c:aff (/ html)
(setq HTML (vlax-create-object "htmlfile"))
(vla-put-textstring (vlax-ename->vla-object (car (entsel "\n请点取需要粘贴到剪切板内容的文字:")))
(vlax-invoke (vlax-get (vlax-get HTML 'PARENTWINDOW)
'CLIPBOARDDATA
) 'GETDATA "Text"
)
)
(princ)
)
;向系统剪贴板写入文字内容 结束
dos_clipboard
返回或者设置Windows粘贴板文本字符串.
--------------------------------------------------------------------------------
语法
(dos_clipboard )
参数
string
一个需要设置到Windows粘贴板中的文本字符串.
返回值:
如果成功:该字符串.
如果错误:nil
范例
命令: (dos_clipboard "Hello World!")
"Hello World!"
命令: (dos_clipboard)
"Hello World!"
USER2128 发表于 2015-2-22 20:06 static/image/common/back.gif
dos_clipboard
返回或者设置Windows粘贴板文本字符串.
多谢你的答复,我也知道dos_clipboard如何使用,我的意思是如果不借助DOSLIB或其他第三方函数库,仅用LISP自身的函数编程得到该功能 Ref:
http://bbs.mjtd.com/thread-80317-1-1.html 多谢你的指教,我用clipboard搜索没有找到相关内容,看来下次要中英文都试试 加载XLRX_API:
XLRX-GetClipBoardText
功能:返回粘贴板中的文本
语法: (XLRX-GetClipBoardText)
参数:
无
返回值: 成功返回字符串 ,否则返回 nil
XLRX-SetClipBoardText
功能:设置粘贴板中的文本
语法: (XLRX-SetClipBoardText string)
参数:
string 字符串
返回值: 成功返回T ,否则返回 nil
功能:清空粘贴板
语法: (XLRX-SetClipBoardText)
参数:
无
返回值: 成功返回T ,否则返回 nil
页:
[1]