プロが教える店舗&オフィスのセキュリティ対策術

AnsiReplaceTextで文字列置換しているのですが、
ある改行なしの文章を置換している最中に、
勝手に改行が入りこみます。
切れる場所も決まっていて、
まず1024バイト目で切れ、
次は短く20-50バイトあたりで切れ、
また1024バイト目、次は短く…と繰り返します。
Tmemoに読み込ませた1行を取得して、
置換して戻すという作業ですが、
Tmemoに無改行の限界なんてあるのでしょうか?
ないと思うのですが、改行が入りこむ理由がわかりません。
どなたか教えていただけないでしょうか。
もしくはここをチェックして、というようなアドバイスでも
いただけないでしょうか?

A 回答 (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;

リッチエディットにしてみるとか。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
やはり勝手に折り返されるんですね。
ほぼ問題なくできあがっていたところに
ふってわいたので、改変しないでなんとかならない
ものかと悪あがきしていました(苦笑
TStringListで直したほうが早そうです。
ありがとうございました。

お礼日時:2004/03/07 18:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!