投稿日 | : 2005/03/25(Fri) 17:03 |
投稿者 | : kuro3 |
Eメール | : |
URL | : |
タイトル | : Re: 現在の条件では最速かも? |
アドバイスいただきましたとおり、まず試してみました。
結果、びっくりするくらい早くなりました。
ただ、一行づつでの削除では、まだ少々もたついておりましので、
500行を超えた分はまとめて、削除を行おうと思いまして、
下記部分を、
> N1 = SendMessage(.hwnd, EM_LINEINDEX, CLng(1), 0)
N1 = SendMessage(.hwnd, EM_LINEINDEX, CLng(現在の表示行数 - 500), 0) 'まずは500行
のように書き換えて試してみたのですが、このような変更の仕方でよいのでしょうか?
一応、結果を見てみると想定どうりに動いている感じなのですが・・・。
上記、変更の仕方が問題ないとすると、1万行程度では問題なくログがとれるようになりました。
また、APIの仕様をうまく調べることができなかったのですが、
提案していただいたコードの動きは、
@.行指定
A.指定行の最後までの文字数を選択
B.選択文字を、””と置き換え
と、いうステップで動いているという理解でよいのでしょうか?
> (1行の文字数が無制限のような行が受信されるなら否応無しに文字数で管理を
> せざるを得ないと思うのですが)
ご指摘を受けるまで、失念しておりました・・・。
確かに一行にメガオーダでデータ受信が発生すると洒落にならないコードにしてました。
行単位とは別に、文字数の管理も入れておこうとおこうと思います。