kozmosovia 发表于 2024-5-20 16:56:47

p-3-ianlcc 发表于 2024-5-19 00:40
太棒了…这是福音
可以教一下怎么弄的吗?

(Defun VLDCL-UTFMSG (msg)
(cond        ((or (= (getvar "SysCodePage") "ANSI_936")
             (= (getvar "Locale") "CHS")
             (wcmatch (vlax-product-key) "*804")
       )
       (AQX:Base64Decode (car msg))
        )
        ((or (= (getvar "SysCodePage") "ANSI_950")
             (= (getvar "Locale") "CHT")
             (wcmatch (vlax-product-key) "*404")
       )
       (AQX:Base64Decode (cadr msg))
        )
        (t (caddr msg))
)
)
Sample:
(setq slb (getfiled (vldcl-UTFMSG
                      '("0aHU8bvDtcbGrL/izsS8/g0K"
                        "33iT8bvDn/TGrI7szsS8/g0K"
                        "Select a SLB file"
                     )
                  )
                  ""
                  "SLB"
                  8
          )
)

p-3-ianlcc 发表于 2024-5-20 17:37:53

kozmosovia 发表于 2024-5-20 16:56
(Defun VLDCL-UTFMSG (msg)
(cond        ((or (= (getvar "SysCodePage") "ANSI_936")
             (= (getvar "L ...

谢谢大师的分享!
里面有Sample,再来看看怎麽弄比较好
现在的主要问题是,有一些fas档是简体的
希望可以直接在繁体系统上使用

crtrccrt 发表于 2024-5-21 09:23:31

请教,如何激活下面两个函数,mjtd论坛的办法不能激活
pack-string->list
pack-list->string

kozmosovia 发表于 2024-5-21 09:26:55

crtrccrt 发表于 2024-5-21 09:23
请教,如何激活下面两个函数,mjtd论坛的办法不能激活
pack-string->list
pack-list->string

附件不是有fas吗?直接先加载那个fas或者编译时加在第一个就行。用激活的方法,还是要先加载或者临时写个tranf.fas出来,不如直接用附件的fas加载来得简单。

crtrccrt 发表于 2024-5-21 14:37:35

本帖最后由 crtrccrt 于 2024-5-21 14:49 编辑

pack-string->list
pack-list->string
这两个函数不是内部函数,大家不要激活了,也不可能激活,
这两个函数使用了其他内部函数,是自定义函数

kozmosovia 发表于 2024-7-31 12:42:20

推荐使用大海的UTF转换替代pack的转换,http://bbs.mjtd.com/thread-190579-1-1.html
毕竟UTF可以完美支持各种语言的,而且现在满世界都是UTF了。
相对而言,pack就算是古老的技术了。
页: 1 [2]
查看完整版本: 同一VLX同时运行在ANSI和UTF模式下