快速业务通道

让TRichEdit支持BIG5内码

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   unsigned long i,address;//把BIG5码转换为GB码
   unsigned char ch1,ch2;
   char *x;
   x=RichEdit1->Lines->GetText();
   i=0;
   while(x[i]!=''\0'')
   {
     ch1=x[i];
     if(ch1>=0xa1)
     {
       ch2=x[i+1];
       if(ch2>=0x40&&ch2<=0x7e)
       {
         address=ch1*314+ch2*2-33010;
         x[i]=tab[address];
         x[i+1]=tab[address+1];
       }
       if(ch2>=0xa1&&ch2<=0xfe)
       {
         address=ch1*314+ch2*2-33078;
         x[i]=tab[address];
         x[i+1]=tab[address+1];
       }
       i+=2;
     }
     else
     i++;
   }
   RichEdit1->Lines->Text=x;
   RichEdit1->SetFocus();
   RichEdit1->SelStart = 0;
}

编译并执行它,首先你会看到RichEdit1中的BIG5码文件显示为乱码。按一下Button1,这时,你就会看到RichEdit1中的乱码变成了正常的汉字。好了,现在你自己编的软件也可以支持BIG5码了,是不是感觉更专业一些。GB->BIG5的转换方法也是类似的,有兴趣的朋友可以给我来信。最后,祝大家龙年愉快。本程序在WIN97,BCB3.0下编译通过。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号