快速业务通道

C++ Builder控件版

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
      FOutputText=new char[Num*3/4+1];
        DecodeXxe();
        break;
         }
}
}
//---------------------------------------------------------------------------
//GB鷹廬算葎Big5鷹
void __fastcall TGbBig::GbToBig5(void)
{
  unsigned char gx,gy,bx,by;
  unsigned int xx,yy,i=0;
  while((gx=*FInputText++)!=''\0'')
  {
   if(gx>=161)
   {
    gy=*FInputText++;
    xx=(gx-161)*190;
    yy=(gy-161)*2;
    bx=*(FontLib+xx+yy);
    by=*(FontLib+xx+yy+1);
    if(gy<161) {bx=gx;by=gy;}
    *(FOutputText+i)=bx;
    i++;
    *(FOutputText+i)=by;
    i++;
   }
   else {*(FOutputText+i)=gx;i++;}
  }
  *(FOutputText+i)=''\0'';
  FOutput=(AnsiString)FOutputText;
}
//---------------------------------------------------------------------------
//Big5鷹廬算葎GB鷹
void __fastcall TGbBig::Big5ToGb(void)
{
  unsigned char gx,gy,bx,by;
  unsigned int xx,yy,i=0;
  while((bx=*FInputText++)!=''\0'')
  {
   if(bx>=161)
   {
    by=*FInputText++;
    xx=(bx-161)*316;
    if(by<=126) yy=(by-64)*2;
    else yy=(by-98)*2;
    gx=*(FontLib+xx+yy);
    gy=*(FontLib+xx+yy+1);
    if(by<64) {gx=bx;gy=by;}
    *(FOutputText+i)=gx;
    i++;
    *(FOutputText+i)=gy;
    i++;
   }
   else {*(FOutputText+i)=bx;i++;}
  }
  *(FOutputText+i)=''\0'';
  FOutput=(AnsiString)FOutputText;
}
//---------------------------------------------------------------------------
//喘HZ序佩園鷹
void __fastcall TGbBig::EncodeHZ(void)
{
  unsigned int x=0,i=0;
  unsigned char hz;
  while((hz=*FInputText++)!=''\0'')
  {
   if(hz>=161)
   {
    if(!x)
    {
     *(FOutputText+i)=''~'';
     i++;
     *(FOutputText+i)=''{'';
     i++;
     x=1;
    }
    else x=1;
    *(FOutputText+i)=(char)(hz-128);
    i++;
   }
   else
   {
    if(x)
    {
     *(FOutputText+i)=''~'';
     i++;
     *(FOutputText+i)=''}'';
     i++;
     x=0;
    }
    else x=0;
    *(FOutputText+i)=hz;
    i++;
   }
  }
  if(x)
  {
   *(FOutputText+i)=''~'';
   i++;
   *(FOutputText+i)=''}'';
   i++;
   x=0;
  }
  *(FOutputText+i)=''\0'';
  FOutput=(AnsiString)FOutputText;
}
//---------------------------------------------------------------------------
//斤HZ序佩盾鷹
void __fastcall TGbBig::DecodeHZ(void)
{
  unsigned i=0;
  unsigned char hz;
  while((hz=*FInputText++)!=''\0'')
  {
   loop2:
   if(hz==126)
    if((hz=*FInputText++)!=''\0'')
     if(hz==123)
      while((hz=*FInputText++)!=''\0'')
      {
       loop3:
       if(hz==126)
       {
        if((hz=*FInputText++)!=''\0'')
         if(hz==125) goto loop;
         else {*(FOutputText+i)=(char)254;i++;goto loop3;}
       }
       else {*(FOutputText+i)=(char)(hz+128);i++;}
      }
     else {*(FOutputText+i)=''~'';i++;goto loop2;}
    else {*(FOut

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号