1.软件准备
Ø VB6.0简体版
Ø VB6.0繁体版
Ø convertZ
Ø 自写转换工具RegularExpressTest.exe
或其它支持正则表达式转换的工具
2.convertZ篇
2.1 打开
2.2 将工程文件分为两个文件夹pre1,pre2
Vb6的工程文件中:
l 需要转换内容和文件标题的有*.frm,*.bas,*.cls,*.vbp,*vbw五种,放在pre1
l 只需要转换文件标题的有*.frx,放在pre2
第3.5步选择目的文件夹,示例新建了converZ文件夹
在转换时要在第5步根据情况确认
转换档案名称和转换档案内容
在第7步确认unicode简到繁
3.RegularExpressTest.exe篇
由于简体版程序用到字体使用的是GBK编码,转换成繁体后使用big5编码。所以label类型的控件字体会自动由“宋体”转换到“細明體”或“新細明體”。而字体的字符集却还是134,
“細明體”或“新細明體”的字符集应该是136。
完成这个修改可以有以下2个方法
1.将第2步转换完成的转换结果converZ文件夹工程内容放到vb6.0繁体版中运行。然后,给工程中的每个label控件修改字体,重新编译。
2.使用真有正则表达功能的工具。本文采用自己编写的软件RegularExpressTest.exe
(需要.net framework4.5)
RegularExpressTest.exe只转换相应的.frm文件即可。
注意:RegularExpressTest.exe工具只转换匹配到的文件,工程中部分.frm文件由于不使用“細明體”或“新細明體”,所以不会被转换。即输出目录中不会输出所有.frm文件,请读者自行合并。
查找中就输入的正则表达式:
(\bBeginProperty Font.*?\n.*?細明體.*?\n.*?\n.*?Charset.*?)=.*?\d*?.\d*?(\r\n)
替换中就输入:
$1 = 136 $2
点击批处理,就会将文件夹里的文件全部替换。
最后合并工程文件,使用vb6.0繁体版测试一下吧。^_^
注意:使用vb6.0繁体版时,注意区域语言设置成中国--*
本人使用了虚拟机,在虚拟机中装了一个操作系统,语言直接设置成中国--*
相关工具下载地址:http://download.csdn.net/detail/yongan1006/9858653