ホーム >プログラム >Delphi 6 ローテクTips

クラスメモ・TStringList

TStringListの覚書。

SaveToFile

TStringListのSaveToFileで文字列をファイルに保存するとファイルの最後に必ず改行コードが入ります。

procedure TForm1.Button2Click(Sender: TObject);
var
  l_List : TStrings;
begin
  l_List := TStringList.Create;
  try
    l_List.Add('あいうえお');
    l_List.SaveToFile('test1.txt');
  finally
    l_List.Free;
  end;
end;

ファイルの終わりに0D0A(改行コード)が入ります。

ちなみにTStringListだけでなくTListBoxやTComboBoxのItemsプロパティやTMemoTRichEditのLinesプロパティでSaveToFileを行っても同様にファイルの最後に改行コードが入ります。

procedure TForm1.Button2Click(Sender: TObject);
begin
  ListBox1.Items.Add('あいうえお');
  ListBox1.Items.SaveToFile('test2.txt');
end;

TStringList(やItems、LinesなどのTStrings)は複数行のテキストを扱うクラスなのでこれで困ることはあまりないとは思いますが、例えばTMemoやTRichEditなどで最後の行に改行を入れない状態で保存すると最後の行に改行コードが入ります。
メモ帳などでは最後の行に改行を入れずに保存した場合はファイルの最後に改行コードは入りません。


2011-12-02: