■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#11685-0データの受信についてアキ1999-12-15(水) 11:34
     #11691-0RE#11685:データの受信についてるーに1999-12-15(水) 12:28
     #11698-0RE#11691:データの受信についてアキ1999-12-15(水) 13:23
     #11704-0RE#11698:データの受信についてボーラード1999-12-15(水) 13:56
     #11723-0RE#11704:データの受信についてアキ1999-12-15(水) 15:57
     #11745-0RE#11723:データの受信についてボーラード1999-12-15(水) 17:59
#11685-0
データの受信について
コミュニケーションコントロールを使って通信を行っており、
16進数のデータをバイト型の変数にいれて送っているので
すが、受信側でそのデータを受信したときデータが81〜FFの
場合うまく受信できません。
何かいい方法はないでしょうか。
#11691-0
RE#11685:データの受信について
> コミュニケーションコントロールを使って通信を行っており、
> 16進数のデータをバイト型の変数にいれて送っているので
> すが、受信側でそのデータを受信したときデータが81〜FFの
> 場合うまく受信できません。
> 何かいい方法はないでしょうか。
> 

#いまVB4環境なのでヘルプ見れませんが
#バイナリ通信は VB5以上なので

InputMode かなんかって言うプロパティを
ComInputModeBinary にしてやってって
バイト型変数で取得してやればうまく行くはずです

ComInputModeText になっていないか
受信時に 文字型変数で取得していないか
確認してみてください
#11698-0
RE#11691:データの受信について
> InputMode かなんかって言うプロパティを
> ComInputModeBinary にしてやってって
> バイト型変数で取得してやればうまく行くはずです
> 
> ComInputModeText になっていないか
> 受信時に 文字型変数で取得していないか
> 確認してみてください

るーにさんレスありがとうございます。

文字型変数で受信していたのでそれをバイト型に変えたら
"型が一致しません"というエラーがでました。

このエラーの解決方法を教えてください。
お願いします。
#11704-0
RE#11698:データの受信について
> 文字型変数で受信していたのでそれをバイト型に変えたら
> "型が一致しません"というエラーがでました。
> このエラーの解決方法を教えてください。
> お願いします。

文字をバイトのコードにするなら、
myByte = CByte(Asc(String))

バイト単位で受信バッファから読み出すなら、
MsComm1.InputMode = 1
MsComm1.InputLen = 1
While MsComm1.InputCount > 0
  myByte = MsComm1.Input
Wend
(送受信pc共にバイナリモードにしておいてね)

うろ覚えなので、ちょっと自信がありませんが。。。。。
#11723-0
RE#11704:データの受信について
> バイト単位で受信バッファから読み出すなら、
> MsComm1.InputMode = 1
> MsComm1.InputLen = 1
> While MsComm1.InputCount > 0
>   myByte = MsComm1.Input
> Wend
> (送受信pc共にバイナリモードにしておいてね)
> 
> うろ覚えなので、ちょっと自信がありませんが。。。。。

ボーラードさんレスありがとうございます。

やってみたのですがうまくいきませんでした。
無理なんでしょうか?
#11745-0
RE#11723:データの受信について
> > バイト単位で受信バッファから読み出すなら、
> > (送受信pc共にバイナリモードにしておいてね)
> > うろ覚えなので、ちょっと自信がありませんが。。。。。
> ボーラードさんレスありがとうございます。
> やってみたのですがうまくいきませんでした。
> 無理なんでしょうか?

どう上手くいかないのか?
エラーメッセージ内容などが解らないと回答できないと思いませんか?
とりあえず、

Dim myVariant As Variant  '追加
Dim myByte() As Byte   '追加
 MsComm1.InputMode = 1
 MsComm1.InputLen = 1
 While MsComm1.InputCount > 0
       myVariant = MsComm1.Input   '修正
       myByte = myVariant          '追加
    Debug.Print myByte(0)       '追加
 Wend
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)