テキストを保存すると強制的に改行コードが0D0A(#13#10)となる
テキストファイルの改行コードを0A(#10)で保存したい場合にTStringListで保存すると改行コードが0D0A(#13#10)になってしまいます。今回はその回避方法をご紹介します。なお、動作確認はDelphi5となっております。
文字列をファイルへ保存する
procedure TForm1.Button1Click(Sender: TObject); var str :string; StringList :TStringList; begin str := 'abcde' + #10 + '12345'; // 改行コードは#10とする StringList := TStringList.Create; try StringList.Text := str; StringList.SaveToFile('C:\TStringList.dat'); finally StringList.Free; end; end;
結果をバイナリエディタで確認すると改行コードがCRLF(0D0A)となります。

回避方法
TMemoryStreamを使用すると改行コードがLF(#10)で保存できます。
procedure TForm1.Button2Click(Sender: TObject); var str :string; MemoryStream :TMemoryStream; begin str := 'abcde' + #10 + '12345'; // 改行コードは#10とする MemoryStream := TMemoryStream.Create; try MemoryStream.WriteBuffer(pchar(str)^,Length(str)); MemoryStream.SaveToFile('C:\TMemoryStream.dat'); finally MemoryStream.Free; end; end;
結果をバイナリエディタで確認すると改行コードがLF(0A)となります。

この記事はこれにて完了です。
スポンサーリンク
関連記事
公開日:2015年03月19日
記事NO:00558
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte