- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:delphiにて●文字列置換で勝手に改行)
delphi文字列置換で勝手に改行?
このQ&Aのポイント
- AnsiReplaceTextを使用して文字列置換している際に、勝手に改行が入ってしまいます。Tmemoに読み込ませた1行の文章を取得して置換しているのですが、改行が入る理由がわかりません。Tmemoには無改行の限界はあるのでしょうか?質問文章の内容は、delphiの文字列置換で勝手に改行が入る問題に関してです。
- Delphiの文字列置換において、AnsiReplaceTextを使用している際に勝手に改行が入ってしまいます。例えば、特定の改行なしの文章を置換している最中に、勝手に改行が入る現象が発生します。Tmemoに読み込ませた1行の文章を取得して置換している作業において、Tmemoに無改行の限界があるのか疑問です。なぜ改行が入ってしまうのか、原因を知りたいです。
- Delphiで文字列置換を行っている際に、AnsiReplaceTextを使用していますが、特定の改行なしの文章を置換すると、勝手に改行が入ってしまいます。具体的には、1024バイト目で一度改行が入り、次は短い20-50バイトで改行が入るというパターンが繰り返されます。Tmemoに読み込ませた1行の文章を取得している作業ですが、無改行の限界があるのか疑問です。なぜ改行が入るのか、教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
メモ帳って、「右端で折り返す」になってなくても、1行の桁があまりに長いと勝手に折り返しませんでしたっけ? その TMemo の表示はどうなってますか? たぶん同じだと思いますが、EM_GETLINE を送ったらどーでしょうか? SendMessage(Memo1.Handle, EM_GETLINE, ...); Text プロパティからすべてを取り出し、行ごとの処理を施してから、Text にすべてを戻してはダメなのでしょうか? with TStringList.Create do try Text := Memo1.Text; // ... Memo1.Text := Text; finally Free; end; リッチエディットにしてみるとか。
お礼
回答ありがとうございました。 やはり勝手に折り返されるんですね。 ほぼ問題なくできあがっていたところに ふってわいたので、改変しないでなんとかならない ものかと悪あがきしていました(苦笑 TStringListで直したほうが早そうです。 ありがとうございました。