線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3328
推到 Plurk!
推到 Facebook!

中文字 <-----> Big5 互換範例

 
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-06 17:00:26 IP:61.218.xxx.xxx 未訂閱
發現『輸入法與字型程式設計討論區(Delphi)』最近有一些問題與此相關    電信碼轉big5碼  http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25009    請問各位有沒有把中文轉成注音英文首字的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26804    參考『將字碼轉換至文字』 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26356    故寫個範例,供各位參考,拋磚引玉一番    此範例主要有二個funtion    function txt2code(itxt: string): string;   //由中文字取得big5 碼(hex) function code2txt(icode: string): string;  //由big5 碼取得中文字 可接受整篇文章與中英文字串        橫線以下複製存檔,開一個form / button * 2 /memo * 3 即可執行 //-------------------------------------------------------- unit Unit1;    interface    uses     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,     Dialogs, StdCtrls;    type     TForm1 = class(TForm)         Button1: TButton;         Button2: TButton;         Memo1: TMemo;         Memo2: TMemo;         Memo3: TMemo;     procedure Button1Click(Sender: TObject);     procedure Button2Click(Sender: TObject);     procedure FormCreate(Sender: TObject);     private         { Private declarations }     public         { Public declarations }     end;    var     Form1: TForm1;    implementation    {$R *.dfm}    function code2txt(icode: string): string; //由big5 碼取得中文字 var     wordHi, wordLo,i: integer; begin     for i:=0 to length(icode)-1 do        if i mod 4=0 then         begin             //二種寫法皆可 //            wordLo := strtoint('$'+ icode[i+1]+icode[i+2]+icode[i+3]+icode[i+4]) and $FF;             wordLo := strtoint('$'+ icode[i+3]+icode[i+4]);             //取得低位元 //            wordHi := strtoint('$'+ icode[i+1]+icode[i+2]+icode[i+3]+icode[i+4]) shr 8;             wordHi := strtoint('$'+ icode[i+1]+icode[i+2]);             //取得高位元             result :=result+ char(wordHi) + char(wordLo);         end; end;    function txt2code(itxt: string): string; //由中文字取得big5 碼(hex) var     i: integer; begin     for i := 1 to length(itxt) do         result :=result+ inttoHex(ord(itxt[i]),2); end;    procedure TForm1.Button1Click(Sender: TObject);    begin     memo2.Text :='';     memo2.Text := txt2code(memo1.Text); end;    procedure TForm1.Button2Click(Sender: TObject); begin     memo3.Text :='';     memo3.Text :=code2txt(memo2.Text ); end;    procedure TForm1.FormCreate(Sender: TObject); begin     memo1.Text :='';     memo2.Text :='';     memo3.Text :=''; end;    end.        
1010
一般會員


發表:0
回覆:1
積分:0
註冊:2003-05-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-13 00:02:44 IP:218.102.xxx.xxx 未訂閱
大大呀!!可否有範例下載??拜託
系統時間:2024-04-27 12:49:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!