劳驾大家看看,关于简体TO繁体的问题 |
尚未結案
|
jackalan
初階會員 發表:20 回覆:88 積分:36 註冊:2003-11-08 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
jackalan
初階會員 發表:20 回覆:88 積分:36 註冊:2003-11-08 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
jackalan: anpino版大有介紹的cvcode元件(是Delphi元件),本園地可下載! 裡面有2個function可用: AnsiString GBtoBIG5(AnsiString value); AnsiString BIG5toGB(AnsiString value); (GB=簡體 BIG5=繁體) value 是要轉的字串,回傳轉換後的字串。 注意BIG5toGB回傳的字串需要在簡體環境的OS才能正確顯示喔。 // 以下範例為我於繁體系統開發程式。 int SystemID; int UserID; void __fastcall TForm1::FormShow(TObject *Sender) { SystemID = GetSystemDefaultLangID(); // 1028 繁體 2052 簡體 UserID = GetUserDefaultLangID(); // 我都是使用UserID判斷 if (UserID == 2052) { this->Font->Name="宋體"; this->Caption=CvCode1->BIG5toGB("自動備份程式"); DRLabel1->Caption=CvCode1->BIG5toGB("自動備份程式"); N5->Caption=CvCode1->BIG5toGB("參數設定"); N4->Caption=CvCode1->BIG5toGB("立即備份"); N3->Caption=CvCode1->BIG5toGB("關於本程式"); N1->Caption=CvCode1->BIG5toGB("結束"); TrayIcon1->Hint=CvCode1->BIG5toGB("自動備份"); } } 對不起!我不會Delphi但這真的很方便,又可於繁簡系統自動切換。 請參考!Andy Chang
------
Andy Chang |
jackalan
初階會員 發表:20 回覆:88 積分:36 註冊:2003-11-08 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: andychang1690兄谢谢,请问我这样用后窗体的字符集要怎么改?繁体系统下字体有没有特殊要求。 SystemID = GetSystemDefaultLangID(); // 1028 繁體 2052 簡體 UserID = GetUserDefaultLangID(); // 我都是使用UserID判斷 您取了两个值,那是判断哪个值相对来说准确些。 ======================= 无情剑客多情剑jackalan:不好意思說明不佳,引用GetSystemDefaultLangID(); 或 GetUserDefaultLangID();皆會傳回值詳見Bloand Help, GetSystemDefaultLangID內定語系! GetUserDefaultLangID使用者自定語系!例我加裝泰文並引用之。 傳回值若是1028表示使用者是繁體系統,若是2052表示使用者是簡體系統。 我的系統是繁體所以我的介面Caption及Text皆是繁體中文,所以 我前篇說明是若我的程式於簡體中文執行的話SystemID或UserID會 得到2052的值!所以 if (UserID == 2052) { // 簡體中文系統 this->Font->Name=BIG5toGB(""宋體"); this->Caption=CvCode1->BIG5toGB("自動備份程式"); Label1->Caption=CvCode1->BIG5toGB("自動備份程式"); N5->Caption=CvCode1->BIG5toGB("參數設定"); N4->Caption=CvCode1->BIG5toGB("立即備份"); N3->Caption=CvCode1->BIG5toGB("關於本程式"); N1->Caption=CvCode1->BIG5toGB("結束"); TrayIcon1->Hint=CvCode1->BIG5toGB("自動備份"); } 你的系統是簡體所以你用簡體開發於繁體中文你的程式UserID會等於1028 所以你的用法要跟我相反 if (UserID == 1028) { // 繁體中文系統 this->Font->Name=GBtoBIG5("細明體"); this->Caption=CvCode1->GBtoBIG5("自動備份程式"); // 假設藍字部分為簡體字 } 請參考!Andy Chang 發表人 - andychang1690 於 2004/09/16 23:44:20
------
Andy Chang |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
jackalan
初階會員 發表:20 回覆:88 積分:36 註冊:2003-11-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |