デフォルトの CRLF の代わりに UNIX 行末 (LF) を使用して TStringList の行を保存する方法がわかりません。
stringList.Text プロパティで StringReplace() を使用しようとしましたが、成功しませんでした:-(
デフォルトの CRLF の代わりに UNIX 行末 (LF) を使用して TStringList の行を保存する方法がわかりません。
stringList.Text プロパティで StringReplace() を使用しようとしましたが、成功しませんでした:-(
StringList.Text は毎回テキストを生成するプロパティです。したがって、変更したテキストを文字列リストに戻すと、変更が取り消されます。テキストを再度取得すると、stringlist はデフォルトの改行文字を使用して新しい文字列を作成します。
LineBreak
この文字は、stringlistのプロパティを設定することによって影響を受ける可能性があります。のデフォルト値LineBreak
はsLineBreak
定数で、#13#10
Windows #10
、Linux、または#13
Mac のいずれかになります。
それ以外の場合は、StringList.Text を文字列変数に保存すると、 を使用StringReplace
してその文字列を変更できますAdjustLineBreaks
。
もう 1 つの可能性は、Jedi Code Library ( http://jcl.sf.net ) を使用して、文字列リストのバージョンで分割/結合機能を使用することです。
var so : TJclStringList; // PODO style, requires finally-free-end
si : iJclStringList; // ref-counted interface for method chaining (aka Fluent API style)
s : String;
...
s := so.Join(^J);
s := si.Join(^J);