|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2019/2/3 16:30:03 |
标题: |
需要把几个DELPHI程序中(PAS,DFM)的中文简体转为繁体,哪位有工具帮助一下? |
浏览:2986 |
|
加入我的收藏 |
楼主: |
谢先!
因为客户一定要繁体(有的一定要简体),Delphi 7以比较好处理,拷贝到WORD,简繁转换后再拷贝回来就可以了。现在在XE2中,这种方法不行了,只能借助于一些工具了。大家有没有好的方法给我学习一下?
祝大家新年快乐,阖家幸福!
----------------------------------------------
- |
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/2/3 17:12:40 |
1楼: |
Sisulizer + excel
----------------------------------------------
-
|
作者: |
vkow (vkow) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/2/3 17:35:21 |
2楼: |
你是程序员啊。
自己做个小工具不得了。还可以根据具体情况判断是否需要转换。 我现在Delphi基本就是用来干这些的,弄个小工具啥的。
提供个小函数: function GB2Big(GB: string): string; var Len: Integer; begin Len := Length(GB); SetLength(Result, Len); LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(GB), Len, PChar(Result), Len); end;
----------------------------------------------
-
|
作者: |
|
2019/2/3 19:10:18 |
3楼: |
Big2GB 能一并分享吗?繁体再转简体。谢谢。@vkow
----------------------------------------------
-
|
作者: |
|
2019/2/5 2:10:53 |
5楼: |
有个香港教授写了一个叫ConvertZ Version 8.02,作者:李志成,不错用,可以双向转换。
----------------------------------------------
-
|
作者: |
|
2019/2/10 8:41:31 |
6楼: |
多谢以上各位,虽然没有满意的。本想自己写一个,用一个个汉字对应的内码的转,但感觉太麻烦了,还是放弃了。
----------------------------------------------
-
|
作者: |
vkow (vkow) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/2/10 12:10:32 |
8楼: |
繁体转简体的 function Big2GB(Big: string): string; var Len: Integer; begin Len := Length(Big); SetLength(Result, Len); LCMapString(GetUserDefaultLCID, LCMAP_SIMPLIFIED_CHINESE, PChar(Big), Len, PChar(Result), Len); end;
---------- 其实吧,这么干行么? 简体字和繁体字转换简单,这都是 一 一对应的。
实际上,不是这么翻译的。好多简体、繁体的名词、术语都不是变个写法这么简单。
----------------------------------------------
-
|
作者: |
|
2019/2/11 9:49:03 |
9楼: |
8楼说的对,简体、繁体的名词、术语,说法是不一样的。光一个简-繁,没多大意思。 需要一个字典。
----------------------------------------------
-
|
作者: |
|
2019/2/11 10:26:51 |
10楼: |
若需转换可以推荐这套,连名词术语都会更改
----------------------------------------------
-
|
作者: |
|
2019/2/12 1:05:22 |
11楼: |
ConvertZ包含转换名词,术语。我一直都是输入繁体后再用它来转换成简体的。
----------------------------------------------
-
|
作者: |
|
2019/2/12 15:51:47 |
12楼: |
多谢各位回复。
我试过楼上推荐的ConvertZ,不知是不是我用错了,没有效果,它是不能转的,至少DFM不行。(我做的PAS的很少有汉字,即使有提示,也会被我单独用其它方法处理了,程序中没有)。 DFM中汉字都是内码,如“生产”二字就是#29983#20135,因此,要一个个字的转为内码。#29983#20135转为#29983#29986(生產)(“生”字好像不用转)
其实,我个人觉得,繁体字实在没必要,读写及交流都很麻烦。即使是词语,都用相对应的简体字一个个转的也没问题,“列印”用“打印”也没有什么理解难度。只是台湾人香港人(不及大陆一省人)的习惯及自尊心而已,放弃掉繁体字也没什么。
但有些人就是执拗,没办法。
----------------------------------------------
-
|
作者: |
|
2019/2/13 12:41:18 |
13楼: |
你可能用错方法了,DFM里的如果是简体的话,它的内码应该要选GBK或GB2312之类的,因为我对簡体也不太熟悉,繁体的话,就要选Big5。
不过繁体如果用大五码的话,都会遇上许功盖的问题,不懂简体的GB2312会不会有这样的问题。
----------------------------------------------
-
|
作者: |
|
2019/2/13 12:52:46 |
14楼: |
会用到GB2312或BIG5编码的软体,一般都是9X年代的原始码。如果是用NT核心的话,直接转成UTF8就没问题了。
----------------------------------------------
-
|
作者: |
|
2019/2/13 16:19:32 |
15楼: |
首先你的档案编码格式也要转换,否则祇转换文字编码格式不行。还有dfm内也有 "font.charset= "宣告,这也必需修改。
----------------------------------------------
-
|
作者: |
|
2019/2/13 23:54:45 |
16楼: |
也许,你说的是这个
此帖子包含附件:
大小:80.9K |
----------------------------------------------
-
|
|