■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#21388-0MScommコントロールでのデータ受信の条件kura2001-06-18(月) 14:43
     #21394-0RE#21388:MScommコントロールでのデータ受信の条件ねこたろう2001-06-18(月) 15:50
#21388-0
MScommコントロールでのデータ受信の条件
こんにちは
いつも拝見して勉強しています。

現在MScommコントロールを使ってデータ受信を行っているのですが、受信まちを抜ける
条件の指定方法で悩んでいます。。

現在は下記のように216バイト受信したらループから抜けるようにしているのですが、
これを例えば、Chr(12)がきたらループを抜けるようにすることは可能でしょうか?
アドバイスお願いします。

Do
            DoEvents
Loop Until Form1.MSComm1.InBufferCount >= 216 
#21394-0
RE#21388:MScommコントロールでのデータ受信の条件
ループ中にInputで任意のバッファに受信データを取り込みましょう。
(テキスト受信ならString,バイナリならバイト配列)
あとは、テキストならInStr、バイト配列ならループで任意のデータをサーチし
任意データの有無を評価する条件式を、Loop節に指定すればよいでしょう。

#あたりまえですが、Total受信バッファも用意してその都度連結処理を行ってください。
#データ長が決まっている場合は、あらかじめ予測される最大のバッファを確保しておくとよいです。
#StringならMidステートメントで、バイト配列はRtlMoveMemoryで高速にバッファリングが行えます。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)