请大家帮看看这个计算公式的代码怎么不能加载呀
目地:将剪切板内数值作0.5倍(一半)运算,并接着将运算结果写入剪切板。
感觉很简单的事,但是怎么都不成功。
第一种方法:
(defun C:x1()
(set-clip-string (* 0.5 (GET-CLIP-STRING)))
(princ "\n計算結果的1/2 存入剪切板")
(princ))
第二种方法:
(defun C:x2()
(setq st (GET-CLIP-STRING))
(setq sy(* 0.5 st))
(ZML-CLIP-SETSTRINGsy)
(princ "\n計算結果的1/2 存入剪切板")
(princ))
其中:set-clip-string 为写入剪切板函数
GET-CLIP-STRING为存储中的剪切板函数
除了以上两种方式外,我还试了很多种方法,都不行,看来好像这个路子走不通吗?
只能找大神指点一二了,我已经黔驴技穷啦。
先谢过了。
本帖最后由 xj6019 于 2020-7-30 15:46 编辑
xvjiex 发表于 2020-7-30 15:37
请将3个函数GET-CLIP-STRING,ZML-CLIP-SETSTRING,set-clip-string及套用的其他函数发来
前段时间从网上搜的代码,大家参考下。
;;;读写系统剪贴板 *
;;; *
;;;=================================================================*
;;;功能:读取系统剪贴板中字符串
(defun GET-CLIP-STRING (/ HTML RESULT)
(and (setq HTML (vlax-create-object "htmlfile"))
(setq RESULT (vlax-invoke
(vlax-get (vlax-get HTML 'PARENTWINDOW)
'CLIPBOARDDATA
)
'GETDATA
"Text"
)
)
(vlax-release-object HTML)
)
RESULT
)
;;;=================================================================*
;;;功能:向系统剪贴板写入文字 *
(defun SET-CLIP-STRING (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)
)
)
这是另外一个,写入剪切板的函数
(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)
)
)
xvjiex 发表于 2020-7-30 11:33
先要将剪切板内容转换为数值。
帮看一下哪里用的不对呀
(defun C:x2()
(setq st (vl-prin1-to-string '((GET-CLIP-STRING))))
(setq sy(rtos(* 0.5 st) 2 2))
(ZML-CLIP-SETSTRING sy)
(princ "\n計算結果的1/2 存入剪切板")
(princ)) pengfei2010 发表于 2020-7-29 13:11
用 rtos 函数 转换一下就行了
我弄的哪里不对吧,下面的代码还是不行呢
(defun C:x2()
(setq st(GET-CLIP-STRING))
(setq sy(rtos(* 0.5 st) 2 2))
(ZML-CLIP-SETSTRING sy)
(princ "\n計算結果的1/2 存入剪切板")
(princ)) 剪切板内容为字符串 转换为字符串吧。 用 rtos 函数 转换一下就行了 先要将剪切板内容转换为数值。 xvjiex 发表于 2020-7-30 11:33
先要将剪切板内容转换为数值。
怎么转呀,帮弄一下好吗,谢谢 (setq st (vl-prin1-to-string '((GET-CLIP-STRING)))st (atof st)) xvjiex 发表于 2020-7-30 12:14
(setq st (vl-prin1-to-string '((GET-CLIP-STRING)))st (atof st))
你好,代码的计算结果为0呢,请教一下,咋回事呀
页:
[1]
2