我要将DELPHI源程序中的所有GB中文转换成为BIG5,怎么办???(200分)

  • 主题发起人 主题发起人 morphia2000
  • 开始时间 开始时间
M

morphia2000

Unregistered / Unconfirmed
GUEST, unregistred user!
我的老板要求我将我们公司自己制作的系统转换成为BIG5码,
如果用手工来转是非常不现实的事情,因为代码量已经有三十
多万行了,现在,PAS文件可以使用工具来转换,但是DFM文件
却不知道如何去转。使用DELPHI 6自带的CONVERT.EXE转换成
TXT文件后,所有的GB中文字符都变成了#23#42#22这种形式,
天哪,如果是这样的话,我可就会死不瞑目了,帮帮我……
 
最简单的方式就是把源码剪切到Foxmail中,转成BIG5再剪切回来!
 
pas文件用工具转,dfm文件以文本文件的方式保存,然后用工具一样可以转的。
 
很简单啊!鼠标右健点击你的form,选view as text
DFM就变成文本了,用工具转好以后再View as form 就OK了
 
可是,我现在需要的成批的转换,我是不是可以用什么工具把DFM成批的转换成为
TXT文件呢?
 
写一个程序吧!找一个把GB转成BIG5码的吧。
 
到网上找找看 很多的
 
http://bj2.onlinedown.net/ty_china.htm找个小的程序。
在delphi中把form存成文本文件。用程序转换
 
最好的法子还是自己来写一个程序帮忙处理最好.30多万行,好吓人呢?是一个系统系统还是
许多个系统?
 
是一个系统的程序。我已经决定自己做程序来转换该死的#20520这样的字符串了,5555……

[:(][:(][:(][:(]
 
我以前就做过一个了啊?
放在http://delphi.mychangshu.com上,可以把#20520这样的转成中文
我觉得还有一个办法,你别用D6的CONVERT,用D5带的就没事了。
或者用D6的转完之后再用我写的那个工具转一下,再用GB2BIG5转一下就OK了。
 
TO xianjun:
; 你的工具我下了,并且已经使用了,但是有很多的错误出现,不知道是为什么?

类似于:
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/CalculateFormUnit.dfm”时发生错误:“Invalid string constant on line 259”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/ContactBrowseFormUnit.dfm”时发生错误:“Invalid string constant on line 681”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/CustFormUnit.dfm”时发生错误:“Invalid string constant on line 640”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/DeductTaxFormUnit.dfm”时发生错误:“Invalid string constant on line 351”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/EnCalendarFormUnit.dfm”时发生错误:“Invalid string constant on line 424”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/PiecePayFormUnit.dfm”时发生错误:“Invalid string constant on line 3556”
处理文件“D:/DATA/My Programs/public - big5/WING - 099/wing_erp/PrePayCountFormUnit.dfm”时发生错误:“Invalid string constant on line 3066”

??
 
居然这么多错误? 只有一个可能,就是不支持BIG5码。 不过没道理啊[:(]
有源码的,你可以跟踪调试一下。
对了,为什么不用D5的CONVERT工具来转呢?
不知道原来你这系统是用什么开发的? 如果我估计没错的话,应该是D5或以下版本开
发的吧?而且所有的DFM文件都是二进制的。如果真是这样的话你就可以用D5的CONVERT工具
把二进制的DFM转为文本格式,再用BIG5->GB的工具转换就OK了。
 
或者你看看那些转换失败后的文件是些什么内容(以.bad.dfm结尾),可能你先用内码转换
工具把它转换一下再在Delphi中打开就能打开的了!
因为我试了一下,BIG5码也可以转的,相信你那边也有一批DFM是已转换成功了的吧?
 
我已经用过D5的CONVERT转换了,但是转出来的内容还是#23454这样的,在D6中所有的DFM文件
都是文本的,可是却都是这个样子的……
[:(!]
 
那么奇怪! 这样吧,你挑几个不能转的DFM文件发给我,我看看是什么原因。
xianjun@163.net
 
已经发了,请收,谢谢
 
顺便,我想问一下#20250如何转成中文字?[^]
 
问题解决了, 是我的程序有BUG。
我再传到原来的地方吧。
你看看还有没有别的DFM文件会转换不了的。

至于如何转为中文其实也很简单,你看看我的源代码吧
用的就是D6的东东,不过我修改了一下。[:D]
 
感谢lyywy以及xianjun,依靠他们的帮助,我已经搞定
[:)]
 
后退
顶部