Delphi2009中TTreeview的SaveToFile少寫BOM |
|
slimshsieh
一般會員 發表:1 回覆:2 積分:0 註冊:2003-11-13 發送簡訊給我 |
無聊逛網看到大陸人寫的網誌說到 Delphi2009 中 TTreeview 的 SaveToFile 不支持中文
http://blog.sina.com.cn/s/blog_571df3c40100bvra.html#cmt_1012597 我不太相信, 所以就把原始碼翻出來查原因 使用 SaveToFile 時, 存檔的編碼本來就是 Unicode, 但是就是少寫 BOM 而已 所以若 TTreeview Items 內含中文, 可以用下面的方法來存檔 方法很簡單, 只是先寫 BOM, 接著將 TTreeview 使用 SavetoStream 到 FileStream 中 [code delphi] var FileStream :TFileStream; begin FileStream :=TFileStream.Create('F:\3.txt', fmCreate); FileStream.WriteBuffer(TEncoding.Unicode.GetPreamble[0], 2); TreeView1.SaveToStream(FileStream); FileStream.Free; end; [/code] 讀回內容只要用 LoadFromFile, 也就是原來的方式即可 [code delphi] TreeView1.Items.Clear; TreeView1.LoadFromFile('F:\3.txt'); [/code] 編輯記錄
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |