私はにかなり多くのテキストが含まれているTMemoを持っています,80M(約400K行)。Delphi - 大きなTMemoでテキストを検索
TMemoはWordWrap = FALSEで設定されています。はありません。は2行で囲まれたテキストを検索します。
私はテキストを最初から見つけて、次に見つけることが必要です。
私は、テキストを見つけるためにはTEditを、TMemoにはテキストを見つけるためにTButtonを配置します。
私はPos()を行単位でチェックすることを考えていましたが、それは遅くなります。 そして、現在のカーソル位置のTMemo.Lines [index]を決定する方法がわかりません。
誰でも解決策を考え出すことができますか?
おかげで
UPDATE:
私はここから解決策を見つけた: Search thru a memo in Delphi?
検索テキスト()関数が速く、動作し、非常に高速。 数秒で、一番下の文字列を検索できます。
リッチエディットコントロールを使用している場合は、['EM_FINDTEXT'](http://msdn.microsoft.com/en-us/library/windows/desktop/bb788009.aspx)を使用することができます。これは[ 'FindText'](http://docwiki.embarcadero.com/Libraries/en/Vcl.ComCtrls.TCustomRichEdit.FindText)メソッドを呼び出します。 –
'TMemo.Lines.Text'プロパティで' Pos'関数を使う方が速いはずです。おそらくラップされた部分文字列も見つけることができますが、それは問題ではないと思います。 – kludg
SOの類似した質問:[del-a-search-thru-a-memo-in-delphi](http://stackoverflow.com/questions/4232709/search-thru-a-memo-in-delphi)私はそれが速いのかどうかわかりませんが、答えはインデックスの位置の解決策を持っています。 –