memo.linesに10000行のデータを読み込んで、x軸は適当にし、TChartにグラフ化する。
その後、memoの行の値を操作して、再度グラフ化したい。
この操作を以下のようにやったのですが、とても遅いです。
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
t:array of double;
begin
series1.clear;
for i :=0 to 10000 do
memo1.lines[i]:=floattostr(strtofloat(memo1.lines[i])+1);
begin
t[i]:=strtofloat(memo1.lines[1])*(i-2);
series1.addxy(t[i],strtofloat(memo1.lines[i]),'',clred);
end;
end;
memoのVisibleをFalseにしたけど解決されませんでした。
多分,じゃないかと思われる...
ヘルプで,あるいはネット上でBeginUpdateとMemo,Delphiの組合わせで検索
してみてください.
もし,これが有効であれば,どのくらい違うのかテストした結果例があります.
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_MemoReadSpeed.htm
ツイート | ![]() |