掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MScommでデータを分割し、各テキストに表示するには? (ID:105643)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一連の文字列に区切りがありますか?たとえばCRが入っているとか? もしあるのなら,こんな感じでどうでしょう. Start: Do 'とりあえずループで一行分を受信 DoEvents 'おまじない If MSComm1.CommEvent = comEvReceive Then Buffer = MSComm1.Input Data = Data & Buffer '受信した文字列のかけらをどんどんつないでいく Loop Until InStr(Data, vbCR)<>0 '最終文字かどうかチェック '---ここにデータ処理を記述 GoTo Start 単純にするとこんな感じでは? 一行分をまとめて受信してから, 文字列を切り出して,各データを変数に格納 これはLeft関数や,Mid関数でできますね. で,これらの処理が終了したら, 再度Doに戻って,次の受信データを取得したらどうでしょう. それから,最終文字が無い場合は, Loop Until InStr(Data, vbCR)<>0 '最終文字かどうかチェック を文字数を数えるなどの方法でもいいんじゃないでしょうか. Loot Until Len(Data)>=10 '1データが10文字の場合 >= を = とすると,無限ループから脱出不能になるのでご注意を! DoEventsはおまじないです. これがないとループから脱出不可能になる可能性があります. おまじないとして入れておくように本に書いてありました. 頑張ってください!!
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.