highflybir 发表于 2013-1-25 01:32:37

【飞鸟集】简繁转化(更新至2013.4.21)

本帖最后由 highflybir 于 2013-4-21 20:45 编辑

常用
可能已经有这样的程序了。但要收费或要注册的,所以我发表了lisp程序在此,希望他们能谅解。这个程序没有什么技巧而言。经过测试,速度应该还可以。
有什么建议或者纰漏之处,请大家指出。
核心代码:
;;;=============================================================
;;; 功能:简体字符串和繁体字符串互相转化                        
;;; 输入:字符串                                                
;;; 输出:被转化后的字符串                                    
;;;=============================================================
(defun Text:CharConvert (text IsRev / Index NewTxt Str From to)
(if IsRev
    (setq From TraditionalCharset
          To SimpleCharSet
    )
    (setq From SimpleCharSet
          To TraditionalCharset
    )
)
(setq NewTxt "")
(while (/= text "")
    (setq str (substr text 1 1))
    (if (> (ascii str) 128)
      (progn
      (setq str (substr text 1 2))
      (setq text (substr text 3))
      (if (setq index (VL-POSITION str From))
          (setq str (nth index To))
      )
      )
      (setq str (substr text 1 1)
            text (substr text 2)
      )
    )
    (setq newtxt (strcat newtxt str))
)
newtxt
)
程序源码在此:

程序已经稍做修改。另:若有人能帮忙提供 台湾或者香港的字体和相关样例图,则可辅助我完成内码转换及其测试。在此致谢。
=============================================
2013.1.32增加 DLL文件。


这个是对话框演示演示。
已经包含了32位和64位的版本,应该可以在CAD的各个版本上运行。
(defun c:zzz (/ dlg)
;;如果注册成功,以后就可以不需要这一句
(startapp "regsvr32 /i /s \"F:\\zqy\\C\\CharConverter\\Release\\CharConverter.dll\"")   
(setq dlg (vlax-create-object "CharConverter.Dialog"))
(if dlg
    (progn
      (vlax-invoke dlg 'doit)
      (vlax-release-object dlg)
    )
)
(princ)
)


在VBA里面可以这样用。
首先引用,然后就可以了。
Sub test()
    Dim a As DialogTest
    Set a = CreateObject("CharConverter.Dialog")
    With a
      .doit
    End With
End Sub


以后将会陆续添加其内容,并能对CAD操作。

======================================
2013.04.20更新:提供新的方法和函数,可以实现真正内码转化。

=============================================

2013.04.21更新:现在可以提供对含文字的CAD图元操作,包括:
单行,多行文字,引线,属性,标注,公差,表格,块及其嵌套块。
LISP源码发行了三个版本,GB,GBK,BIG5,简体,繁体,台湾繁体版本.


p-3-ianlcc 发表于 2021-10-24 15:35:20

謝謝版大的分享!
另外向版大請教一下
有辦法將「簡體的lsp、fas」轉成「繁體的lsp、fas」的方式嗎?
或是說在「繁體的autocad」載入簡體的lsp或fas時,不會因為亂碼的關係無法執行

流氓兔 发表于 2022-2-4 09:48:43

流氓兔 发表于 2022-2-2 19:26
参数类型错误: VLA-OBJECT nil,可以更新一下代码不

已经解决,问题了,注册一下就好了

p-3-ianlcc 发表于 2022-7-11 11:08:11

不论是用测试txt文本转换,或是运行test时提示错误: 参数类型错误: VLA-OBJECT nil
请问这是怎么回事?

lrd1861 发表于 2013-1-25 06:02:55

太强了

革天明 发表于 2013-1-25 07:17:45

版主知识丰富,乐于分享,我们有福气

gzxl 发表于 2013-1-25 07:25:38

楼上说的正确,高版是我们学习LISP的榜样与福气

smartstar 发表于 2013-1-25 07:50:41

高飞鸟已经飞到云端了。

cable2004 发表于 2013-1-25 08:04:44

仰视云端!

阿然 发表于 2013-1-25 08:24:16

鸟哥,还有啥是你不会的啊

xiagood 发表于 2013-1-25 08:54:29

不错,多谢了。

自贡黄明儒 发表于 2013-1-25 09:04:16

早就想有这样的程序就好了。多谢了

zwwen 发表于 2013-1-25 09:06:12

太好了,谢谢
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【飞鸟集】简繁转化(更新至2013.4.21)