全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3278
推到 Plurk!
推到 Facebook!

ASCII 及 UNICODE 轉換器的 C++ Builder 源碼

 
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-14 19:50:24 IP:211.76.xxx.xxx 未訂閱

ASCII 及 UNICODE 轉換器的 C++ Builder 源碼

作者:黃權燊編寫於2002年10月5日, 中國香港特別行政區 資料來源:http://wongtaisin.uhome.net/index.htm
時常有網友查問 UNICODE 的問題, 而 ASCII 及 UNICODE 確是可用程式轉換.
日前, 我用 C++ Builder 寫了一個 ASCII 及 UNICODE 互換的小程式.
各位可以直接下載 convert.zip. 又或者自已編寫.
 convert.zip 原始下載:http://wongtaisin.uhome.net/other/convert.zip
             本站下載: http://delphi.ktop.com.tw/loadfile.php?TOPICID=14552635&CC=325465
以下是編寫的過程    1. 打開 C++ Builder, 新建一個專案. 加上三個物件 - 讀寫 ASCII 的 Edit1, 讀寫 UNICODE 16進制數碼的 Edit2, 及開始工作的 Button1.    2. 雙按 Button1, 以下是 Button1Click 的源碼. 請留意 // 是註譯句
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
wchar_t szWchar[255], w_text2[255];
char text1[255], text2[255], text3[5], text4[5];
int a,b,c,d,e;
int wa,wb,wc;    StrPCopy(text1,Edit1->Text);
b=strlen(text1);
// 如果 Edit1 有內容
if(b>0){
// 計算中英文及數字的個數
c=0; d=0;
for(a=0;aText=text2;
 }}
// 如果 Edit1 沒有內容, 就讀入 Edit2  
else{
StrPCopy(text1,Edit2->Text);
b=strlen(text1);
// 把16進制數碼轉換成十進制數碼, 及計算字數
wc=0; e=0;
for(a=0;a47&&c<58) wb=c-48;
  else wb=16;
  if(wb<16){
    text4[wc++]=wb;
    if(wc==4){
        // 轉換成數值, 高位元在後, 低位元在前
        wa=text4[0]*16 + text4[1] + text4[2]*16*16*16 + text4[3]*16*16;
        // widechar 有如整數
        w_text2[e++]=wa;
        wc=0;
        }}
    } 
// 轉換成 ASCII 字串  
WideCharToMultiByte(CP_ACP,0,w_text2,-1,text1,254,0,0);
  b=strlen(text1);
  c=0; d=0;
  // 讀取中英文及數字的個數
  for(a=0;aText=text1;
}
//---------------------------------------------------------------------------
黃權燊編寫於2002年10月5日, 中國香港特別行政區
/*生活是一種藝術,用心生活才能享受生活*/
系統時間:2024-04-28 13:39:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!