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

Utf8Encode的疑問

答題得分者是:christie
chingyue
一般會員


發表:2
回覆:4
積分:1
註冊:2011-09-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-01-07 11:30:09 IP:111.253.xxx.xxx 訂閱
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines[0] := #$EF#$BB#$BF ' ' Utf8Encode('我是誰') ;
Memo1.Lines.SaveToFile('123.txt');
end;
-------------------------------------------------------------------------------------------
我寫了以上的程式,打開123.txt後,只有看到" 我是","誰"字不見了
但如果我去掉' '(三個空白),顯示出來則是"我是誰"
因為我的檔案有必要保留前面那3個空白,請問各位大大,問題出在哪呢?
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-01-11 17:17:16 IP:60.249.xxx.xxx 未訂閱
  Memo1.Lines.Add(Utf8Encode('   我是誰'));

可以嗎?
------
What do we live for if not to make life less difficult for each other?
chingyue
一般會員


發表:2
回覆:4
積分:1
註冊:2011-09-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-01-12 13:38:20 IP:114.38.xxx.xxx 訂閱
如你所見,加這段"#$EF#$BB#$BF"是為了儲存為UTF-8的格式,這個並不能省。
而且我的資料要在第一行,使用您提供的程式,會落在第二行,無法寫入在第一行。
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-01-12 14:42:35 IP:59.120.xxx.xxx 未訂閱
那改用
Memo1.Lines.Text := Memo1.Lines.Text ......
可以嗎@@?
chingyue
一般會員


發表:2
回覆:4
積分:1
註冊:2011-09-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-01-12 15:28:10 IP:114.33.xxx.xxx 訂閱
您的意思是如下嗎?
Memo1.Lines.Text := Memo1.Lines.Text #$EF#$BB#$BF Utf8Encode(' 我是誰');

剛剛試了一下,邏輯好像有誤,打開txt檔,雖然是UTF8格式,但都是空白沒資料。

chingyue
一般會員


發表:2
回覆:4
積分:1
註冊:2011-09-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-01-15 23:14:48 IP:111.253.xxx.xxx 訂閱
Memo1.Lines.Add(Utf8Encode(' 我是誰'));
是對的
關鍵在於我必須把Memo的原始資料清掉
所以就是變成
-------------------------------------------------------
Memo1.clear;
Memo1.Lines.Add(
Utf8Encode(' 我是誰'));
-------------------------------------------------------
系統時間:2024-03-29 21:22:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!