投稿日 | : 2005/03/24(Thu) 00:02 |
投稿者 | : kuro3 |
Eメール | : |
URL | : |
タイトル | : 「解決済み」リッチテキストボックスを用いたターミナル パートU |
★2005/03/26追記★
皆様のご支援の結果、問題解決できました。本当にありがとうございます。
(おかげさまで、最低必要条件を満たすコードはついさっき完成しました。)
いつか、逆に自分が支援できるように精進させていだきます。
★2005/03/26追記はここまで★
kuro3といいます。
多くの方の返信、本当にありがとうございます。
また、夜しか返信できておらず申し訳ございません。仕事の都合で・・・。
スレッドが長くなりましたので、パート2を作成させていただきました。
実は、リッチテキストボックスを使用しまして、
ターミナル関係のアプリを作り初めているのですが、障害にあたってしまいました。
できましたら知恵をお貸しいただけないでしょうか。
1)やりたいこと
リッチテキストボックスの文字列が、501行以上になったら、
下から500行を残して文字列を削除すること。
2)いま問題となっていること。
・処理が遅すぎる。
受信文字が、すごい勢いで増えており文字列削除のスピードが
間に合わなくなってしまいました。
・画面がちらつく
3)具体的処理内容
0.タイマー処理にて受信した文字をリッチテキストボックスに追記
(seltextにて行っております。)
@.こちらのHPにて紹介されております行数取得の手法にて、
リッチテキストボックス全体の行数を削除
A.(全体の行数-500行)にて削る必要のある行数をチェック
B.リッチテキストボックスの先頭から、削る必要がある分だけ、
instrを用い改行コードの位置を検索
C.Bで検索した改行コードの位置をもとにRightコマンドで、
500行分の文字列を作成
D.Cで作った文字列をリッチテキストボックスに貼り付け
処理がおそいのは、3−B,Dあたりでもたついていると考えているのですが、
画面がちらつくほうはなにがなにやらと言った状況です・・・。
また、下記が本ターミナルの基本思想となっております。
テキスト表示系
・文字単位でのコピーを行うこと。
(3行目の5文字目から、6行目の3文字目など)
・文字を色分けできること。
・文字は、半角/全角混じりです。
ターミナルとして、絶対やりたいこと。
・500行程度のログをちらつきなしで、表示したい。
(目視したい)
・多少ちらついても、1万行オーバーのログをとりたい。
・ログは上から下にながし、
受信文字の最終行を、一番したに表示すること。
送受信環境(参考です)
・受信文字列は、半角のみ。
・送信文字列は、全角あり。(使用頻度小)
・送信文字の改行コード間の文字数は、
0〜無制限(実際は、0〜100文字程度です。)
・受信文字は、1秒で400行程度更新されております。
もっと、あがる可能性はありますが・・・。
OSなど
・win2k pro + vb6
アドバイスいただけましたら幸いです。