************** 1000 分吐血寻求简繁转换代码. 补:填分搞错了,答了再加贴给剩余900分 ****************** (100分)

  • 主题发起人 liboy.com
  • 开始时间
function isGB(value: string): Boolean;<br>&nbsp;function isBIG5(value: string): Boolean;<br>这两个函数可以识别原来是简还是繁<br>再去转换<br>如果按你说的是简还是去转简就晕了
 
TO yczjs: <br><br>&gt;function isGB(value: string): Boolean;<br>&gt; function isBIG5(value: string): Boolean;<br>&gt;这两个函数可以识别原来是简还是繁<br>&gt;再去转换<br>&gt;如果按你说的是简还是去转简就晕了<br><br><br>我前面已经说过,这两个函数没有办法正确识别.<br>-------------------------------------------------------<br>procedure TFrmDemo.Btn_TestClick(Sender: TObject);<br>var sStr: String;<br>begin<br>&nbsp; &nbsp; sStr := cvcode.BIG5toGB( '中华人民共和国' );<br>&nbsp; &nbsp; ShowMessage( sStr );<br>end;<br><br>如果能够正确识别的话,它这个函数就应该不对上面的简体字符串进行任何处理,直接输出,<br><br>但实际上每个字符都还是进行了处理,结果输出乱码.你试一下就知道了.<br><br>-----------------------------------------------------------------------<br>我们的系统同时运行在国内和香港,为了保证数据的统一,数据库中的字符必须是简体,<br><br>所以在香港运行的系统,输入的数据,必须强制转换为简体,再保存到数据库中.<br><br>有些时候,这些繁体操作系统的操作员,输入了几个繁体字,又从网页上复制<br><br>几个简体字到输入框中,由于上面的代码不能有效的识别内码,不再处理简体,<br><br>所以就出问题了.<br><br>我可不想对操作员说,你们只能输入繁体字.
 
楼主说的不可能实现,或者很难,反正我是做不到。<br><br>这样的工作我做过,还写了Dll,可以用。<br>在Windows中,用的字符集是MS的,但是可以转换到UNICODE。在Windows的编码中是简体字的<br>编码和繁体字的编码是有重复的。顺便举个例子41900在繁体中是“ㄛ”,而在简中是“,”。<br>所以如果混合的话就会有麻烦。<br>另外,简体字和繁体字不是一一对应的。如注册,注水,繁體字是註冊,注水。所以简体字到<br>繁体字的时候,这样的字就不好处理了。<br><br>不知道其他富翁有什么好的看法。关注中。
 
简繁转换中的用词方法不同,像什么网络,在繁体中应该是网路,这就不管他了.<br>因为我们的系统用了一些硬件支持,这些硬件只能识别简体.所以要作转换.
 
function BIG5toGB(value: string): string;<br>var<br>&nbsp; leng, idx &nbsp; &nbsp; &nbsp;: integer;<br>&nbsp; tmpStr &nbsp; &nbsp; &nbsp; &nbsp; : string[2];<br>&nbsp; output &nbsp; &nbsp; &nbsp; &nbsp; : string;<br>&nbsp; offset &nbsp; &nbsp; &nbsp; &nbsp; : integer;<br>begin<br>// &nbsp;if isGB(value) then<br>// &nbsp;begin<br>// &nbsp; &nbsp;Result:=value;<br>// &nbsp; &nbsp;exit;<br>// &nbsp;end;<br>......<br>注//后的为加入判断的<br>反之.....<br>
 
to liboy.com<br>给你发个控件,试试吧,很老了,在d5,d6可能要修改。
 
to linsb<br>&nbsp; email: webmaster@zscity.com<br>&nbsp; 请用中文标题,最后加*号,我这里每天邮箱都几百封,怕误删除了.
 
Big5和GB码相互转换的源码 <br>http://61.132.118.185:8080/dispdocnew.php?t=&amp;id=3493
 
to liboy.com<br>已发,查收!没收到说一声再发。
 
簡體繁體轉換軟體(原始程式)<br>GB中文碼與BIG5中文碼互轉軟體<br>可以即時翻譯,整批文字檔翻譯,從Access資料庫中的Table欄位資料翻譯...<br>採用Delphi 5.0設計<br>歡迎修改使用但請勿去除delphi.ktop.com.tw,謝謝合作!<br>若有修正新版歡迎上傳回本站!<br>設計者:delphi.ktop.com.tw<br><br>http://delphi.ktop.com.tw/topic.asp?topic_id=232
 
to linsb:<br>&nbsp; &nbsp; 谢谢你的控件,但是效果跟cvcode一样,也不行.<br><br>例如下面的例子<br><br>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br>&nbsp; &nbsp; b := TBig2GB.Create( Application );<br>&nbsp; &nbsp; g := TGB2BIG.Create( Application );<br>end;<br><br>procedure TForm1.Button4Click(Sender: TObject);<br>var s: String;<br>begin<br>&nbsp; &nbsp; s := '中华人民共和国';<br>&nbsp; &nbsp; showMessage( s ); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //输出为简体,正确<br>&nbsp; &nbsp; s := b.BIG5toGB( s );<br>&nbsp; &nbsp; showMessage( s ); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //将简体再进行繁简转化,乱码,没有正确识别出内码<br>end;<br><br>--------------------------------------------------------------<br>请大家一起来解决这种问题.<br>
 
这个问题先放一放吧,如果有感兴趣的朋友,请QQ和我联系 86804<br>
 
to liboy.com<br>1.TBig2GB可以安装成功吗?我没有安装上,不知何因?<br>2.s := b.BIG5toGB( s );<br>&nbsp; &nbsp; showMessage( s ); &nbsp; <br>&nbsp; &nbsp;只有在繁体的系统下才能正常显示,否则会乱码。 &nbsp; &nbsp; &nbsp; &nbsp;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
772
import
I
I
回复
0
查看
677
import
I
顶部