參考資料 ----
本篇筆記的做法所儲存的文字檔,預設不含 BOM,若要為含 BOM 的文字檔,則需在一開始要寫入文字檔時,加入 BOM 記號。
- const
- sFilename = 'd:\要存放文字檔的目錄\uf8write.txt';
- var
- myfile: TextFile;
- ss: string;
- xx: integer;
- begin
- Screen.Cursor := crHourGlass;
- // 若文字檔不存在, 則新建文字檔
- if not FileExists(sFilename) then
- begin
- AssignFile(myfile, sFilename);
- ReWrite(myfile);
- CloseFile(myfile);
- end;
- AssignFile(myfile, sFilename);
- ReWrite(myfile);
- xx := 0;
- // 將 memo1 的內容逐列寫入文字檔
- while (xx<memo1.Lines.Count) do
- begin
- // 檔首寫 BOM
- if (xx=0) then
- begin
- ss := #$EF#$BB#$BF + AnsiToUTF8(memo1.Lines[xx]);
- end
- else
- begin
- ss := AnsiToUTF8(memo1.Lines[xx]);
- end;
- WriteLn(myfile, ss);
- xx := xx + 1;
- end;
- Flush(myfile);
- CloseFile(myfile);
- Screen.Cursor := crDefault;
- Showmessage('ok');
- end;
相關筆記 ----
沒有留言:
張貼留言