你想使自己编写的网络应用程序(比如邮件收发程序)具有处理不同内码汉字的能力吗?这种看起来十分高深的编程技术实现起来也许并不困难。对了,使用现成的内码转换 ActiveX 控件!站在巨人的肩膀上,世界在你眼里就变小了。
笔者日前从一软件开发光盘里得到一个 BIG5<=>GB 码转换的完全免费的控件,完美地实现了大5码与国标码的汉字转换,现介绍给大家。大家可以到我的网站“http://100000.home.sohu.com”的“下载专区”栏目去下载本控件,解压出来的控件文件名是 BIG2GB.OCX,大小为 70144 字节。
这个控件的使用非常简单,仅仅包含两条方法调用函数,分别完成 Big5 到 GB 和 GB 到 Big5 码的转换,它们是:
Big5 到 GB 码:GBStr = ObjectName.BigToGB(BigStr)
GB 到 Big5 码:BigStr = ObjectName.GBToBig(GBStr)
其中 ObjectName 为添加到窗体上的内码转换 ActiveX 控件的对象实例名(一般为 Big2GB1)。
由于这是一个用户控件,所以在使用前必须添加到部件控件列表中,才能被应用程序调用。方法是单击“工程/部件”,再按“浏览”按纽,找到 BIG2GB.OCX 文件,添加到部件列表中。然后在表单 Form1 上添加以下控件:
lblTopic 标签 caption="内码转换程序" 显示标题
lblInput 标签 caption="输入" 标示输入文本框
txtInput 文本框 text="" 用于输入待转换文本
lblInput 标签 caption="输出" 标示输出文本框
txtOutput 文本框 text="" 用于输出转换后的文本
Big2GB1 转换控件 --- (为隐含控件)
cmdGB2Big5 命令按纽 caption="GB2Big" GB 转换为 Big5
cmdBig2GB 命令按纽 caption="Big52GB" Big5 转换为 GB
cmdSave 命令按纽 caption="保 存" 保存转换结果
cmdExit 命令按纽 caption="结 束" 结束程序
本程序有关控件的事件函数如下:
Option Explicit
Private Sub cmdBig2GB_Click() 'Big5 转换为 GB
If Not Trim(txtInput.Text) = "" Then
txtOutput.Text = Big2GB1.BigToGB(txtInput)
End If
End Sub
Private Sub cmdGB2Big5_Click() 'GB 转换为 Big5
If Not Trim(txtInput.Text) = "" Then
txtOutput.Text = Big2GB1.GBToBig(txtInput)
End If
End Sub
Private Sub cmdSave_Click() '保存转换结果
If Not Trim(txtOutput.Text) = "" Then
Open "GBorBig.htm" For Output As #1
Print #1, "<Html><Head><title>内码转换</title></Head><Body>" & vbCrLf
Print #1, "<Table width=600><tr><td><p>" & vbCrLf
Print #1, txtOutput.Text
Print #1, "</p></td></tr></Table>" & vbCrLf
Print #1, "</Body></Html>"
Close #1
End If
End Sub
Private Sub cmdExit_Click() '结束程序
End
End Sub
运行本示例程序后,在输入框中输入一些GB(或 Big5)文本,按“GB2Big”(或“Big52GB”)按纽,就会在输出文本框中看到转换后的文本。在简体中文 Windows 下,Big5 码看起来是一些乱码,这时运行 Richwin 等支持多内码的汉字系统,就可以观察这些文字了。本程序运行后的一个转换示例如图。
按“保存”按纽,将转换结果自动输出到一个 Html 格式的文本文件中保存。
张庆 Email: zhangking@263.net 2001.1.8
|