史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   如何做一個 適用於多語系之軟體 -1(VB) (http://forum.slime.com.tw/thread151804.html)

mini 2005-06-20 03:02 PM

如何做一個 適用於多語系之軟體 -1(VB)
 
剛開版先貼一個很簡單的

Public Function UniCodeStrChange(ByRef ChangeStr)
UniCodeStrChange = StrConv(StrConv(ChangeStr, vbFromUnicode), vbUnicode)
End Function

使用上很簡單
UniCodeStrChange("繁簡英 皆適用哦^^")

作用: 使程式在 各種windows語系平台上 文字 皆能顯示正確,作用類似C++的 _T 巨集

限制: 原則上最好還是在 windows NT 以上(2000、XP、2003...)

缺點: 在簡體windows下也是顯示 "繁簡英 皆適用哦^^",而非 "繁简英 皆适用哦^^" (可以了解吧 ^^)

講解: 拆開來看就是
先 vbFromUnicode :將字串由 Unicode 轉換為系統預設的字元碼對應頁
再 vbUnicode :利用系統預設的字元碼對應頁將字串轉換為 Unicode。
繞了一圈 Unicode->ANSI->Unicode

VB對其內之文字會自動轉換成 雙位元字碼(Unicode) 於內部處理
但 VB不是一個 Unicode軟體
所以編譯後又會變回 該語系下之ANSI字碼
因此在 簡體windows下 運行 正體windows之軟體 會變成 亂碼

但經過上述轉換
會強制使用 字元碼對應頁 所以達到所得效果
(正確觀念不達要領還請見諒,因為個人都是自學的^^||)


所有時間均為台北時間。現在的時間是 08:51 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1