請問該如何讀取unicode文字檔 |
答題得分者是:ANDY8C
|
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
請問該如何讀取unicode文字檔到Memo元件(已經查詢過站內資料)
但是參考 http://delphi.ktop.com.tw/board.php?cid=30&fid=76&tid=34740 我不懂的是: (1)先利用 TMemoryStream 把 Unicode 文字檔載入記憶體 (2)再利用 Win32 API WideCharToMultiByte 把 Unicode 轉換成 ANSI (2) 該如何使用 我目前的程式碼 [code delphi] procedure TForm1.Button3Click(Sender: TObject); var g:TMemoryStream; begin g:=TMemoryStream.Create ; g.LoadFromFile('新文字文件.txt') ; //新文字文件內文字為Unicode編碼 memo3.Text := WideCharToMultiByte(g) ; g.Free end;[/code] 我應該如何去使用它 我是剛學Delphi的新手,使用的版本是Delphi 7 請教各位大大 編輯記錄
dietk 重新編輯於 2011-07-23 07:35:50, 註解 無‧
|
max5020
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
|
max5020
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
|
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
|
ANDY8C
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
delphi 7 的元件,有些無法顯示 Unicode 的字元 您的問題,我個人淺見 1. UNicode中文 轉 Big5中文 ,不知是否有全部的對應字元 例如 : Unicode 字,国堃煊钟.....等,Big5 的字元集中,也許沒有此字,轉成功後,也無法顯示 ==>> 以上問題,好像可用另一套字集補齊 (本站有討論過) 3. memo 的元件,中文僅接受 Big5 的字, UniCode 的字有些會無法顯示 反正舊版的 delphi ,遇到 UniCode 就一堆問題,...... 花錢解決方法(不談浪費的工時) 小錢 .... 買 TNT 元件(針對 unicode 部份) 大錢 ..... 更新 delphi 到 XE 以上版本 但是,提醒您,花了以上的錢,不代表一切順利 因為用字串的計算函示,全部都重寫 舊 DELPHI 的 string 是 ANSI 的 string 新 DELPHI 的 string 是 Wide 的 string (unicode 的意思) 所以,舊程式不改寫,直接用 新版 delphi Compiler 後,都OK; 但RUN 後結果完全錯誤 所以有人說,把舊程式的 string 改為 ANSIstring 的宣告,看視簡單,改到手軟..... 很好奇 為何新版 delphi 的 string ....不沿用 舊版的 ansi 規格 , 而是強迫升級為 wide String ? 若 新版 DELPHI 另創一個變數宣告 , Wstring .....專給 Unicode 使用的規格,不是很好嗎 ? 老外可能無 單/雙 byte 問題, 中文國家就很累了. ===================引 用 dietk 文 章=================== 不好意思,不知得我是看不懂您的意思,還是我打不夠清楚。 目前我是希望把以Unicode編碼存檔的文字檔轉成 Ansi 的 Big5 編碼,讀進memo元件。 上面方式都已Delphi-7的程式碼完成。 '中文'(Ansi 的 Big5 編碼)
------
--------------------------------------- 偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩. |
dietk
一般會員 ![]() ![]() 發表:2 回覆:6 積分:1 註冊:2011-07-23 發送簡訊給我 |
|
Victor4022
中階會員 ![]() ![]() ![]() 發表:0 回覆:76 積分:90 註冊:2011-02-20 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
如果你只是要想要unicode字集, 而且是在xp操作的話(Delphi7以下), 可以搜尋關鍵字"補完計劃",
這套是免費的工具, 安裝後可以補足unicode數千個字集, 包含上面所提到的各種字"堃", 同時印表 也沒有問題, 你可以不用改任何程式碼, 因為它是幫你在windows中創建unicode字出來, 所以與 程式沒有任何關係, 但要注意, 這套字並不是unicode, 還是屬於big-5, 但如果是 vista或server系統就沒轍了 ===================引 用 dietk 文 章=================== 謝謝以上大大替我解謎 我大概會去更新成 XE吧
編輯記錄
P.D. 重新編輯於 2011-08-15 10:54:44, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |