掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TRichEditに高速で追加していくには? (ID:2100)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> >処理されている内容を逐一表示する必要はありますか? > 必要あります。 たぶん誤解されていると思います。 たとえば、 ABC を足し、 DEF を足し、 GHI を足したいというときに、 処理的には、 ABCDEFGHI を足したことと同じですが、それを、 ABC を足して表示し直し、 DEF を足して表示し直し、 GHI を足して表示し直すと、時間がかかります。 この表示も必要かということです。 通常は、猛スピードで追加されていく文字列が描画されるだけです。 # 実際は、追加するだけではスクロールしないので、スクロールバーが小さくなるだけ 秒がしなければ、処理を終えた後に結果が表示されます。 たとえば、 for i:=1 to 1000 do begin RichEdit1.Lines.Add('ABCDEFGHIJKLMNOP'); end; とする場合と、 RichEdit1.Lines.BeginUpdate; for i := 1 to 1000 do begin RichEdit1.Lines.Add('ABCDEFGHIJKLMNOP'); end; RichEdit1.Lines.EndUpdate; とした場合、BeginUpdate,EndUpdateを使用した方が処理結果は早いです。 # 環境によりますが、前者が1683msec, 後者が1552msecでした どうしても表示させたいのであれば、高速にすることは無理と思います。 他の処理の中で高速化するしかありません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.