您在本站的位置:主 页 >> 站长专区 >> 站长作品:《编写自己的内码转换程序》
《软件报》2001.3.19第11期23版】     编写自己的内码转换程序
    你想使自己编写的网络应用程序(比如邮件收发程序)具有处理不同内码汉字的能力吗?这种看起来十分高深的编程技术实现起来也许并不困难。对了,使用现成的内码转换 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

返回“站长专区”
Copyright(C) By ZhangQing 张庆 返回主页
站长邮箱:zhangking@263.net  Bp:029-95808 呼 822686