CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

问题没解决,再问:如何在delphi下如何将一简体字符串转换为繁体!高手帮忙!

楼主huojiangui(活见鬼)2003-09-03 15:51:35 在 Delphi / VCL组件开发及应用 提问

√问题没解决,再问:如何在delphi下如何将一简体字符串转换为繁体!高手帮忙!( 问题点数:0、回复次数:9Top

1 楼lxl(是我,不是风)回复于 2003-09-03 16:13:41 得分 0

如果不用现成控件的话,就用简繁对照查表法Top

2 楼DelphiBird(爱你等于爱自己)回复于 2003-09-03 16:15:21 得分 0

直接的转换那就是内码转换了,但是转过去意思未必通  
  Top

3 楼skyworld_xm(skyworld)回复于 2003-09-06 15:35:01 得分 0

我自己写了个函数。可以实现。  
  :)Top

4 楼skyworld_xm(skyworld)回复于 2003-09-06 15:35:59 得分 0

多给点分我就贴出来!!  
  :)  
  Top

5 楼zjqyb(风清扬*任它溺水三千,我只取一瓢饮*)回复于 2003-09-06 16:00:52 得分 0

function   GbToBig5(CCh:   string):   string;  
   
  var  
   
  GB,   Big:   TStrings;  
   
  P:   integer;  
   
  Offset:   integer;  
   
  ExeDir:   string;  
   
  Len:   integer;  
   
  C:   string;  
   
  begin  
   
  P   :=   1;  
   
  ExeDir   :=   ExtractFilePath(ParamStr(0));  
   
  GB   :=   TStringList.Create;  
   
  GB.LoadFromFile(ExeDir   +   '\u31616简体.txt');  
   
  Big   :=   TStringList.Create;  
   
  Big.LoadFromFile(ExeDir   +   '\u32321繁体.txt');  
   
  SetLength(C,   2);  
   
  Len   :=   Length(CCh);  
   
  SetLength(Result,   Len);  
   
  try  
   
  while   P   <=   Len   do  
   
  begin  
   
  case   ByteType(CCh,   P)   of  
   
  mbSingleByte:   Result[P]   :=   CCh[P];  
   
  mbLeadByte:   begin  
   
  C[1]   :=   CCh[P];  
   
  C[2]   :=   CCh[P   +   1];  
   
  Offset   :=   AnsiPos(C,   Gb.Text);  
   
  if   Offset<>0   then  
   
  begin  
   
  Result[P]   :=   Big.Text[Offset];  
   
  Result[P   +   1]   :=   Big.Text[Offset   +   1];  
   
  end  
   
  else  
   
  begin  
   
  Result[P]   :=   CCh[P];  
   
  Result[P   +   1]   :=   CCh[P   +   1];  
   
  end;  
   
  Inc(P);  
   
  end;  
   
  end;  
   
  Inc(P);  
   
  end;  
   
  finally  
   
  GB.Free;  
   
  Big.Free;  
   
  end;  
   
  end;  
   
  Top

6 楼csdnAAA(redfox)回复于 2003-10-16 11:33:41 得分 0

晕倒,给个完整可以直接用的东东好不好,代码表也发个链接哦,谢谢拉Top

7 楼skyworld_xm(skyworld)回复于 2003-11-01 11:16:03 得分 0

unit   j2f;  
   
  interface  
  uses  
          Windows,   Messages,   SysUtils,   Variants,   Classes;  
      function   jtof(s:string):string;  
  implementation  
  var  
      data:   array   [1..63486]   of   string;  
   
  function   isGB(value:   string):   Boolean;  
  begin  
      if   (length(value)>=2)   then  
      begin  
          if   (value[1]   <=   #161)   and   (value[1]   >=   #247)   then  
              Result   :=   false  
          else  
              if   (value[2]   <=   #161)   and   (value[2]   >=   #254)   then  
                  Result   :=   false  
              else  
                  Result   :=   true  
      end  
      else  
          Result   :=   true;  
  end;  
   
  function   jtof(s:string):string;  
  var  
      leng,   idx   ,i           :   integer;  
      tmpStr                   :   string[2];  
      Offset                   :   integer;  
      output                   :   string;  
    BufLen:   DWORD;  
      Buffer:   PChar;  
  begin  
          Result   :=   s;  
          BufLen:=255;   //内存长度  
          GetMem(Buffer,   BufLen);   //分配内存  
              GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,   LOCALE_SLANGUAGE,   Buffer,   BufLen);  
                if   pchar(Buffer)   <>   '中文(中国)'   then  
                  exit;  
      output   :=   '';  
      leng   :=   length(s);  
      idx   :=   1;  
      while   idx   <=   leng   do  
      begin  
          if   ord(s[idx])<   129   then  
          begin  
              output   :=   output   +   s[idx];  
              idx:=   idx+1;  
          end  
          else  
          begin  
              tmpStr   :=   s[idx]+   s[idx   +   1];  
              if   isGB(tmpStr)   then  
              begin  
                  if   ord(tmpstr[1])*256+ord(tmpstr[2])   >   63486   then  
                        output:=   output+tmpstr  
                  else  
                  begin  
                  if   data[ord(tmpstr[1])*256+ord(tmpstr[2])]   =   ''   then  
                      output:=   output+tmpstr  
                  else  
                      output:=   output+   data[ord(tmpstr[1])*256+ord(tmpstr[2])];  
                  end;  
                  idx:=idx+2;  
   
              end  
              else  
              idx:=idx+1;  
          end;  
      end;  
      Result   :=   output;  
   
  end;  
   
  initialization  
   
  data[45226]   :=   '藹';  
  data[45229]   :=   '礙';  
  data[45230]   :=   '愛';  
  data[45247]   :=   '翺';  
  data[45248]   :=   '襖';  
  data[45250]   :=   '奧';  
  data[45267]   :=   '壩';  
  data[45269]   :=   '罷';  
  data[45274]   :=   '擺';  
  data[45276]   :=   '敗';  
  data[45284]   :=   '頒';  
  data[45292]   :=   '辦';  
  data[45293]   :=   '絆';  
  data[45295]   :=   '幫';  
  data[45299]   :=   '綁';  
  data[45303]   :=   '鎊';  
  data[45305]   :=   '謗';  
  data[45310]   :=   '剝';  
  data[45477]   :=   '飽';  
  data[45478]   :=   '寶';  
  data[45480]   :=   '報';  
  data[45483]   :=   '鮑';  
  data[45490]   :=   '輩';  
  data[45492]   :=   '貝';  
  data[45493]   :=   '鋇';  
  data[45495]   :=   '狽';  
  data[45496]   :=   '備';  
  data[45497]   :=   '憊';  
  data[45505]   :=   '繃';  
  data[45514]   :=   '筆';  
  data[45519]   :=   '畢';  
  data[45520]   :=   '斃';  
  data[45522]   :=   '幣';  
  data[45525]   :=   '閉';  
  data[45535]   :=   '邊';  
  data[45536]   :=   '編';  
  data[45537]   :=   '貶';  
  data[45540]   :=   '變';  
  data[45543]   :=   '辯';  
  data[45544]   :=   '辮';  
  data[45546]   :=   '標';  
  data[45550]   :=   '鼈';  
  data[45552]   :=   '別';  
  data[45553]   :=   '癟';  
  data[45556]   :=   '瀕';  
  data[45557]   :=   '濱';Top

8 楼skyworld_xm(skyworld)回复于 2003-11-01 11:16:45 得分 0

data[45558]   :=   '賓';  
  data[45559]   :=   '擯';  
  data[45565]   :=   '餅';  
  data[45730]   :=   '並';  
  data[45734]   :=   '撥';  
  data[45735]   :=   '缽';  
  data[45740]   :=   '鉑';  
  data[45749]   :=   '駁';  
  data[45751]   :=   '蔔';  
  data[45753]   :=   '補';  
  data[45766]   :=   '財';  
  data[45769]   :=   '採';  
  data[45774]   :=   '參';  
  data[45775]   :=   '蠶';  
  data[45776]   :=   '殘';  
  data[45777]   :=   '慚';  
  data[45778]   :=   '慘';  
  data[45779]   :=   '燦';  
  data[45780]   :=   '蒼';  
  data[45781]   :=   '艙';  
  data[45782]   :=   '倉';  
  data[45783]   :=   '滄';  
  data[45790]   :=   '廁';  
  data[45792]   :=   '側';  
  data[45793]   :=   '冊';  
  data[45794]   :=   '測';  
  data[45795]   :=   '層';  
  data[45807]   :=   '詫';  
  data[45811]   :=   '攙';  
  data[45812]   :=   '摻';  
  data[45813]   :=   '蟬';  
  data[45814]   :=   '饞';  
  data[45815]   :=   '讒';  
  data[45816]   :=   '纏';  
  data[45817]   :=   '鏟';  
  data[45818]   :=   '産';  
  data[45819]   :=   '闡';  
  data[45820]   :=   '顫';  
  data[45985]   :=   '場';  
  data[45986]   :=   '嘗';  
  data[45988]   :=   '長';  
  data[45989]   :=   '償';  
  data[45990]   :=   '腸';  
  data[45991]   :=   '廠';  
  data[45993]   :=   '暢';  
  data[45998]   :=   '鈔';  
  data[46005]   :=   '車';  
  data[46009]   :=   '徹';  
  data[46014]   :=   '塵';  
  data[46017]   :=   '沈';  
  data[46018]   :=   '陳';  
  data[46020]   :=   '襯';  
  data[46021]   :=   '撐';  
  data[46022]   :=   '稱';  
  data[46029]   :=   '懲';  
  data[46031]   :=   '誠';  
  data[46034]   :=   '騁';  
  data[46037]   :=   '癡';  
  data[46041]   :=   '遲';  
  data[46043]   :=   '馳';  
  data[46044]   :=   '恥';  
  data[46045]   :=   '齒';  
  data[46051]   :=   '熾';  
  data[46053]   :=   '衝';  
  data[46054]   :=   '蟲';  
  data[46056]   :=   '寵';  
  data[46059]   :=   '疇';  
  data[46060]   :=   '躊';  
  data[46063]   :=   '籌';  
  data[46065]   :=   '綢';  
  data[46067]   :=   '醜';  
  data[46071]   :=   '櫥';  
  data[46072]   :=   '廚';  
  data[46074]   :=   '鋤';  
  data[46075]   :=   '雛';  
  data[46241]   :=   '礎';  
  data[46242]   :=   '儲';  
  data[46245]   :=   '觸';  
  data[46246]   :=   '處';  
  data[46251]   :=   '傳';  
  data[46255]   :=   '瘡';  
  data[46259]   :=   '闖';  
  data[46260]   :=   '創';  
  data[46264]   :=   '鎚';  
  data[46271]   :=   '純';  
  data[46274]   :=   '綽';  
  data[46279]   :=   '辭';  
  data[46282]   :=   '詞';  
  data[46285]   :=   '賜';  
  data[46287]   :=   '聰';  
  data[46288]   :=   '蔥';  
  data[46289]   :=   '囪';  
  data[46291]   :=   '從';  
  data[46292]   :=   '叢';  
  data[46293]   :=   '湊';  
  data[46298]   :=   '躥';  
  data[46300]   :=   '竄';  
  data[46317]   :=   '錯';  
  data[46319]   :=   '達';  
  data[46328]   :=   '帶';  
  data[46331]   :=   '貸';  
  data[46498]   :=   '躭';  
  data[46499]   :=   '擔';  
  data[46501]   :=   '單';  
  data[46502]   :=   '鄲';  
  data[46503]   :=   '撣';  
  data[46504]   :=   '膽';  
  data[46508]   :=   '憚';  
  data[46510]   :=   '誕';  
  data[46511]   :=   '彈';  
  data[46513]   :=   '當';  
  data[46514]   :=   '擋';  
  data[46515]   :=   '黨';  
  data[46516]   :=   '蕩';  
  data[46517]   :=   '檔';  
  data[46519]   :=   '搗';  
  data[46522]   :=   '島';  
  data[46523]   :=   '禱';  
  data[46524]   :=   '導';  
  data[46529]   :=   '盜';  
  data[46534]   :=   '燈';  
  data[46539]   :=   '鄧';  
  data[46544]   :=   '敵';  
  data[46547]   :=   '滌';  
  data[46557]   :=   '遞';  
  data[46558]   :=   '締';  
  data[46559]   :=   '顛';  
  data[46563]   :=   '點';  
  data[46566]   :=   '墊';  
  data[46567]   :=   '電';  
  data[46573]   :=   '澱';  
  data[46582]   :=   '釣';  
  data[46583]   :=   '調';  
  data[46588]   :=   '叠';  
  data[46589]   :=   '諜';  
  data[46590]   :=   '疊';  
  data[46756]   :=   '釘';  
  data[46757]   :=   '頂';  
  data[46759]   :=   '錠';  
  data[46761]   :=   '訂';  
  data[46762]   :=   '丟';Top

9 楼skyworld_xm(skyworld)回复于 2003-11-01 11:17:26 得分 0

data[46763]   :=   '東';  
  data[46767]   :=   '動';  
  data[46768]   :=   '棟';  
  data[46771]   :=   '凍';  
  data[46775]   :=   '鬥';  
  data[46783]   :=   '犢';  
  data[46784]   :=   '獨';  
  data[46785]   :=   '讀';  
  data[46788]   :=   '賭';  
  data[46790]   :=   '鍍';  
  data[46797]   :=   '鍛';  
  data[46799]   :=   '斷';  
  data[46800]   :=   '緞';  
  data[46802]   :=   '兌';  
  data[46803]   :=   '隊';  
  data[46804]   :=   '對';  
  data[46806]   :=   '噸';  
  data[46809]   :=   '頓';  
  data[46811]   :=   '鈍';  
  data[46817]   :=   '奪';  
  data[46825]   :=   '墮';  
  data[46828]   :=   '鵝';  
  data[46830]   :=   '額';  
  data[46831]   :=   '訛';  
  data[46833]   :=   '惡';  
  data[46838]   :=   '餓';  
  data[46841]   :=   '兒';  
  data[46843]   :=   '爾';  
  data[46844]   :=   '餌';  
  data[47009]   :=   '貳';  
  data[47010]   :=   '發';  
  data[47011]   :=   '罰';  
  data[47015]   :=   '閥';  
  data[47017]   :=   '琺';  
  data[47023]   :=   '礬';  
  data[47024]   :=   '釩';  
  data[47027]   :=   '煩';  
  data[47030]   :=   '範';  
  data[47031]   :=   '販';  
  data[47033]   :=   '飯';  
  data[47043]   :=   '訪';  
  data[47044]   :=   '紡';  
  data[47049]   :=   '飛';  
  data[47052]   :=   '誹';  
  data[47055]   :=   '廢';  
  data[47057]   :=   '費';  
  data[47063]   :=   '紛';  
  data[47064]   :=   '墳';  
  data[47068]   :=   '奮';  
  data[47071]   :=   '憤';  
  data[47072]   :=   '糞';  
  data[47073]   :=   '豐';  
  data[47075]   :=   '楓';  
  data[47078]   :=   '鋒';  
  data[47079]   :=   '風';  
  data[47080]   :=   '瘋';  
  data[47083]   :=   '馮';  
  data[47084]   :=   '縫';  
  data[47085]   :=   '諷';  
  data[47087]   :=   '鳳';  
  data[47092]   :=   '膚';  
  data[47096]   :=   '輻';  
  data[47271]   :=   '撫';  
  data[47272]   :=   '輔';  
  data[47283]   :=   '賦';  
  data[47284]   :=   '複';  
  data[47290]   :=   '負';  
  data[47292]   :=   '訃';  
  data[47294]   :=   '婦';  
  data[47295]   :=   '縛';  
  data[47299]   :=   '該';  
  data[47302]   :=   '鈣';  
  data[47303]   :=   '蓋';  
  data[47305]   :=   '幹';  
  data[47311]   :=   '趕';  
  data[47313]   :=   '稈';  
  data[47315]   :=   '贛';  
  data[47316]   :=   '岡';  
  data[47317]   :=   '剛';  
  data[47318]   :=   '鋼';  
  data[47321]   :=   '綱';  
  data[47322]   :=   '崗';  
  data[47326]   :=   '臯';  
  data[47332]   :=   '鎬';  
  data[47337]   :=   '擱';  
  data[47339]   :=   '鴿';  
  data[47347]   :=   '閣';  
  data[47349]   :=   '鉻';  
  data[47350]   :=   '個';  
  data[47352]   :=   '給';  
  data[47528]   :=   '龔';  
  data[47532]   :=   '宮';  
  data[47534]   :=   '鞏';  
  data[47537]   :=   '貢';  
  data[47539]   :=   '鈎';  
  data[47541]   :=   '溝';  
  data[47545]   :=   '構';  
  data[47546]   :=   '購';  
  data[47547]   :=   '夠';  
  data[47558]   :=   '蠱';  
  data[47560]   :=   '穀';  
  data[47563]   :=   '顧';  
  data[47568]   :=   '剮';  
  data[47570]   :=   '掛';  
  data[47576]   :=   '關';  
  data[47579]   :=   '觀';  
  data[47581]   :=   '館';  
  data[47583]   :=   '慣';  
  data[47585]   :=   '貫';  
  data[47587]   :=   '廣';  
  data[47590]   :=   '規';  
  data[47592]   :=   '矽';  
  data[47593]   :=   '歸';  
  data[47594]   :=   '龜';  
  data[47595]   :=   '閨';  
  data[47596]   :=   '軌';  
  data[47598]   :=   '詭';  
  data[47601]   :=   '櫃';  
  data[47603]   :=   '貴';  
  data[47604]   :=   '劊';  
  data[47605]   :=   '輥';  
  data[47606]   :=   '滾';  
  data[47608]   :=   '鍋';  
  data[47610]   :=   '國';  
  data[47613]   :=   '過';  
  data[47783]   :=   '駭';  
  data[47787]   :=   '韓';  
  data[47802]   :=   '漢';  
  data[47813]   :=   '號';  
  data[47826]   :=   '閡';  
  data[47831]   :=   '鶴';  
  data[47832]   :=   '賀';  
  data[47841]   :=   '橫';  
  data[47844]   :=   '轟';  
  data[47848]   :=   '鴻';  
  data[47852]   :=   '紅';  
  data[47859]   :=   '後';  
  data[47864]   :=   '壺';  
  data[48036]   :=   '護';  
  data[48038]   :=   '滬';  
  data[48039]   :=   '戶';  
  data[48041]   :=   '嘩';  
  data[48042]   :=   '華';  
  data[48045]   :=   '畫';  
  data[48046]   :=   '劃';  
  data[48048]   :=   '話';  
  data[48051]   :=   '懷';  
  data[48053]   :=   '壞';  
  data[48054]   :=   '歡';  
  data[48055]   :=   '環';  
  data[48057]   :=   '還';  
  data[48058]   :=   '緩';  
  data[48059]   :=   '換';  
  data[48061]   :=   '喚';  
  data[48062]   :=   '瘓';  
  data[48064]   :=   '煥';  
  data[48065]   :=   '渙';  
  data[48070]   :=   '黃';  
  data[48081]   :=   '謊';  
  data[48083]   :=   '揮';  
  data[48084]   :=   '輝';  
  data[48089]   :=   '毀';  
  data[48095]   :=   '賄';  
  data[48096]   :=   '穢';  
  data[48097]   :=   '會';  
  data[48098]   :=   '燴';  
  data[48099]   :=   '匯';  
  data[48100]   :=   '諱';  
  data[48101]   :=   '誨';  
  data[48102]   :=   '繪';  
  data[48103]   :=   '葷';  
  data[48107]   :=   '渾';  
  data[48111]   :=   '夥';  
  data[48113]   :=   '獲';  
  data[48117]   :=   '貨';  
  data[48118]   :=   '禍';  
  data[48119]   :=   '擊';  
  data[48122]   :=   '機';  
  data[48125]   :=   '積';  
  data[48290]   :=   '饑';  
  data[48293]   :=   '譏';  
  data[48294]   :=   '雞';  
  data[48296]   :=   '績';  
  data[48297]   :=   '緝';  
  data[48299]   :=   '極';  
  data[48301]   :=   '輯';  
  data[48310]   :=   '級';Top

相关问题

  • 如何将utf-8编码的简体中文字符串转化为繁体中文字符串?
  • C#程序如何把简体中文字符串转换为繁体
  • 如何在一个字符串中区分简体GB2312的汉字和繁体BIG5的汉字?
  • 有一个字符串是繁体字的能否转换成简体中文,如果行又该如何转换呢?另外如何查看某字符串“ABCD”是否包含“C”呢?
  • DELPHI字符串操作问题!
  • DELPHI中如何处理字符串
  • delphi 字符串问题(在线)//
  • 繁体 or 简体?
  • 在Delphi中如何从一条字符串中截取我要的字符串?青高手指教.
  • @请问测试字符串s1包含字符串s2的Delphi语句怎么写?急!

关键词

  • 转换
  • exedir
  • tmpstr
  • 繁体
  • idx
  • cch
  • buflen
  • ord
  • output
  • big

得分解答快速导航

  • 帖主:huojiangui

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo