Memo.Lineの指定文字列を削除

解決


Delphi使い@初  2005-02-21 03:21:04  No: 13333  IP: [192.*.*.*]

こんにちは。
はじめまして。

早速ですが、当方、ソフトを作っていて、ぶち当たったところがあるので質問を。
Button1を押すと、文字列"Delphi"がMemo1に入る。(Memo1.Lines.Addで)
その文字列があったときはMemo1に入れない←[スレ有]

「Button2を押したとき、文字列"Delphi"があれば、
Memo1から文字列"Delphi"を削除する。」

↑質問はこの文字列削除の方法です。

Googleで検索してもよくわからず、質問をしました。
どなたか回答お願いします。

編集    削除
321  2005-02-21 04:25:48  No: 13334  IP: [192.*.*.*]

高速な方法は他にありますが、できれば良いなら
StringReplaceで目的の文字列を空白に置き換えてはいかがでしょうか?

編集    削除
Delphi使い@C2  2005-02-21 04:46:26  No: 13335  IP: [192.*.*.*]

>StringReplaceで目的の文字列を空白に置き換えてはいかがでしょうか?

空白の文字列に置き換えたのはいいんですが、
Button1を押したとき、無駄に改行が表示されます。
この改行を消す場合はどうすればよいのでしょうか。

編集    削除
321  2005-02-21 05:24:00  No: 13336  IP: [192.*.*.*]

うーん。
その文章からじゃどこを間違えて改行が入るのか分かりません。

procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
begin
str:=Memo1.Lines.Text;
str:=StringReplace(str,'Delphi','',[rfReplaceAll]);
Memo1.Lines.Text:=str;
end;

編集    削除
HOta  2005-02-21 05:27:22  No: 13337  IP: [192.*.*.*]

Memo1.Lines.Delete(Memo1.Lines.Indexof('Delphi'));
で削除します。

編集    削除
Delphi使い@C3  2005-02-21 06:08:59  No: 13338  IP: [192.*.*.*]

>Memo1.Lines.Delete(Memo1.Lines.Indexof('Delphi'));
あひゃ。できました。
ありがとうございます。

編集    削除