明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6219|回复: 27

输入任意汉字,执行声母命令 (明镜亦非台)

    [复制链接]
发表于 2011-9-18 01:10:45 | 显示全部楼层 |阅读模式
本帖最后由 yanshengjiang 于 2011-9-18 02:23 编辑

                            为庆祝论坛发言不乱码,所以搞个搞耍的程序出来耍一盘

;;本程序引用了燕川布衣的智能命令
;;感谢明总提出的汉字机器码的算法(貌似是叫机器码)
;;整理by  明镜亦非台   (yanshengjiang)
;;暂时只支持单个字母,比如输入"测绘"。只执行“测”的”c“命令。

eg:输入 “额 饿 呃 俄 恶“等以字母E为声母的汉字,执行删除命令 e
      输入 ”才 测 错 吃 次 从"等以字母为为声母的汉字,执行复制命令c


(vl-load-com)
(or *doc* (setq *doc* (vla-get-ActiveDocument (vlax-get-acad-object))))
(or *chinese-text* (setq *chinese-text* (vlr-editor-reactor nil '((:vlr-unknownCommand . chinese-text)))))
(defun chinese-text(a b)
  (setvar "osmode" 0)
  (setvar "cmdecho" 0)
  (setq c (strcase  (car b)))
(setq asc (+ (* (ascii c) 1000) (ascii (substr c 2 1))));得到汉字机器码(貌似是)
(cond  ;cond
((<= 176161 asc 176196)(setq sendcommand-text  "_.TRIM "));A啊
((<= 178193 asc 180237)(setq sendcommand-text  "_.copy "));C  才
((<= 182234 asc 183161)(setq sendcommand-text  "_.erase "));E 额
((<= 183162 asc 184192)(setq sendcommand-text  "_.fuzhi " ));F发
((<= 184193 asc 185253)(setq sendcommand-text  "_.DRAWGCD " ));G个
((<= 185254 asc 187246)(setq sendcommand-text  "_.huan "));H好
((<= 187247 asc 191165)(setq sendcommand-text  "_.POLYJOIN " ));J就
((<= 191166 asc 192171)(setq sendcommand-text  "_.DRAWDK " ));K看
((<= 191166 asc 196194)(setq sendcommand-text  "_.move "));M 门
((<= 196195 asc 197181)(setq sendcommand-text  "_.PLIND "));N你
((<= 198218 asc 200186)(setq sendcommand-text  "_.EXTEND "));Q去
((<= 200187 asc 200245)(setq sendcommand-text  "_.offset "));R人
((<= 200246 asc 203249)(setq sendcommand-text  "_.putp "));S是
((<= 203250 asc 205217)(setq sendcommand-text  "_.TEXT "));T 他
((<= 205218 asc 206243)(setq sendcommand-text  "_.DRAWWQ " ));W我
((<= 206244 asc 209184)(setq sendcommand-text  "_.DJF3 0 " ));X想
((<= 209185 asc 212208)(setq sendcommand-text  "_.POLYINS " ));Y有
((<= 212209 asc)       (setq sendcommand-text  "_.zoom e "));Z 中
((>= 176161 asc)       (setq sendcommand-text nil));如果不是汉字  就
)   ;cond
  (if (/= sendcommand-text nil)
(vla-sendcommand *doc* sendcommand-text)
    )
  (setq sendcommand-text nil)
(princ)
  )

评分

参与人数 2明经币 +2 金钱 +12 收起 理由
gbhsu + 1 很给力!
caoyin + 1 + 12 支持一下!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-1-11 21:31:32 | 显示全部楼层
((<= 178193 asc 180237)(setq sendcommand-text  "_.copy "));C  才

求以下汉字是什么码:以  同  的  搂  上  主  有  要  经  比  末 屯   峭  双  权  大  孤  炎
这些字的机器码是什么。
或者能不能给一下汉字机器码的工具。
多谢多谢。
发表于 2019-1-24 19:46:08 | 显示全部楼层
yanshengjiang 发表于 2019-1-23 14:38
命令: (ascii "以")
210

不是这样的格式吗:
((<= 178193 asc 180237)(setq sendcommand-text  "_.copy "));C  才


你那个以,210,怎么写成上面这样的178193,这是6个数字呀。
发表于 2019-1-14 20:55:18 | 显示全部楼层
yanshengjiang 发表于 2019-1-14 17:10
这个我没有也不会。你用lisp你们的ascii函数试试

那你这些汉字的机器码是哪里来的?
 楼主| 发表于 2011-9-18 01:11:40 | 显示全部楼层
大半夜的 沙发是我的哇 嘿嘿
 楼主| 发表于 2011-9-18 02:04:44 | 显示全部楼层
修该的时候主要没每个命令后面有个空格哦!!貌似是必须的   吼吼

(setq sendcommand-text  "_.copy ")
                                             空格  
发表于 2011-9-18 04:50:19 | 显示全部楼层
明静看起来进步不小哦,支持一下
发表于 2011-9-18 05:32:03 | 显示全部楼层
支持一下……
发表于 2011-9-18 09:46:31 | 显示全部楼层
明镜,呵呵
严重支持一下
以后多发贴哦!
发表于 2011-9-18 10:36:08 | 显示全部楼层
有才了,呵呵,支持
 楼主| 发表于 2011-9-18 14:09:47 | 显示全部楼层
caoyin 发表于 2011-9-18 04:50
明静看起来进步不小哦,支持一下

感谢c版的表扬。我会努力的。。
发表于 2011-9-18 22:03:22 | 显示全部楼层
这个很好!
发表于 2011-12-3 20:14:22 | 显示全部楼层
L的 汉字区位码是多少?m的这个区位码 有错 191166 应该不对
   ((<= 191166 asc 196194)(setq sendcommand-text  "_.move "));M 门
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 02:33 , Processed in 0.179429 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表