WriteFile関数を使用してChr$(129)を送信するには?

解決


エドベリ  2006-12-20 13:54:32  No: 97463

今回初めて、WriteFile関数を使用してシリアル通信を行おうと考えているのですが、16進の81をChr$(129)として送信したところオンラインモニターで00で送信されてしまいます。何か、どなたか良い方法をご存知内でしょうか?OSはWin2003で
開発言語はVB6.0です。よろしくお願い致します。


魔界の仮面弁士  2006-12-20 14:22:05  No: 97464

> 16進の81をChr$(129)として送信したところ
わざわざ文字列化せず、バイナリのまま送信すれば良いのでは。


エドベリ  2006-12-20 14:37:56  No: 97465

説明がもれていたのですが、通信の仕様上、16進でのデータ送信になる為、キャラクタでのデータ送信をせざるを得ないのです。または、WriteFile関数でのバイトデータ送信の仕方が分かればよいのですが。。。
いろいろやってはみているのですが。。。


魔界の仮面弁士  2006-12-20 16:03:16  No: 97466

> WriteFile関数でのバイトデータ送信の仕方が
第 2 引数に、バイト配列の先頭要素を参照渡しするか、もしくは、
その要素のアドレスを値渡しすれば良いかと思います。

それとも、それは既に試したが期待動作しなかった…という事でしょうか?


エドベリ  2006-12-20 16:58:06  No: 97467

>魔界の仮面弁士  様

度々の回答ありがとうございます。
バイト配列渡しがうまく出来ずに苦戦中です。
データセットももう一度見直しをしてみます。


エドベリ  2006-12-20 18:12:02  No: 97468

>魔界の仮面弁士  様
いろいろご回答ありがとうございました。
どうにかバイト配列でのデータ渡しでうまくいきました。

ありがとうございました。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加