喫茶XRAYトップページ

[▲前のスレッド]

[8148] TextFile でユニコード返信 削除
2014/10/28 (火) 15:25:23 Mr.XRAY
TextFile (オブジェクト) でコードページを指定してテキストを保存する場合,
文字列の型だけてはなく,明示的に指定する必要があるようです.
例えば次のコードは,UTF-8 で保存します.

AssignFile にコードページが指定できるのは,Delphi XE2 以降のようです.
まっ,TextFile は使用しない方がいいと思いますが.

動作確認は,Windows 7 U64(SP1) + Delphi XE5 Pro です.

procedure TForm1.Button1Click(Sender: TObject);
var
  StrText : string;
  OutFile : TextFile;
begin
  //ファイルはUTF-8とする
  AssignFile(OutFile, 'TEST_1.TXT', CP_UTF8);
  Rewrite(OutFile);

  //UTF-8 BOMを追加
  Write(OutFile, #$FEFF);

  StrText := 'Hello world!';
  //ファイルへ書込み
  Writeln(OutFile, StrText);

  CloseFile(OutFile);
end;


参考リンク
[System.AssignFile - RAD Studio API Documentation]
http://docwiki.embarcadero.com/Libraries/XE6/ja/System.AssignFile


[8149] Re:TextFile でユニコード返信 削除
2014/10/29 (水) 12:18:37 Mr.XRAY
逆に,ユニコードなテキストを Readln で読み込んでも,
変換しないと文字化けします.

http://mrxray.on.coocan.jp/Delphi/plSamples/883_CodePageTextFile.htm#fig23


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82