10-16-2007 12:59 AM
10-21-2007 08:43 AM
10-21-2007 06:34 PM
横槍で恐縮です。
>2. 処理速度を縮めたい。
>ループ内に2つのループを置き、25x4のセルの数値を一つ一つ真偽し結果をケースによって色変更しているため、処理速度が低下してしまうのは避けられないかと思われます。
なので、やらないで良い処理はさせないようにすると良いかと思います。
もし配列の変更がユーザが手で行うようなもので、(PCから見ると)たまに1つのセルしか変更されない場合は、常に全てのセルの色設定をするのではなく、たまに変わったセル1つだけ判定して変えれば良いわけで、例えば添付のように配列値をシフトレジスタに与え、1つ前の配列値と変わったところだけ判定して色設定すれば、変えた瞬間に1度だけ1セルのみ色設定されます。「表」のセルのプロパティ設定は、なぜか異常に時間がかかるので、色設定しなくてよい時はしないようにさせると良いでしょう。
添付のviでやってみると、「処理時間」に表示された値は常に0(msec)でした。(ただ、全てのセルで必ず色を書き換えるようにしても、処理時間は20msec程度でしたので、御投稿の333msecは、何か他に異常に時間を食う処理が並走しているのでしょうか・・・?)
なお、もし、配列の変更がプログラム的で、一度に沢山の値が頻繁に入れ替わるようだと、常に沢山のセルの色設定が必要になり、この方法は使えませんのであしからず・・(変えないでよいセルは何もしないので、多少は良いですが)
10-21-2007 08:33 PM
10-23-2007 10:05 PM
10-23-2007 10:05 PM