
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
マイクロソフトのサンプルが、中途半端のようです。
(英語のページも同じ)先ず
Success = ReadFile(hSerialPort, Buffer, BytesWritten, BytesRead, IntPtr.Zero)は
Success = ReadFile(hSerialPort, Buffer, Buffer.Length, BytesRead, IntPtr.Zero)と修正してください。
>どの変数に格納されるのかが分かりません。
読んだデータはBufferに入り、読んだバイト数はBytesReadに入ります。
したがってBufferは予め十分なサイズをRedimしておく必要があります。
Bufferはバイト配列なので、文字列に変換するために次のようにします。(VB6用なので、VB.NET用に修正してください)
Dim myByte() as Byte '作業用バイト配列
Redim myByte( BytesRead-1 ) as Byte
For i = 0 to BytesRead-1
myByte(i) = Buffer(i)
Next i
Dim myString as String
myString = myByte '文字変数に代入
Dim myUnicode as String
myUnicode = Strconv( myString, vbUnicode ) '内部形式の文字コードに変換
MsgBox( myUnicode )
これでどうでしょうか?
この回答への補足
ReadFileの部分を修正して実行してみたのですが、Next iの次の部分以降で、Byte型をString型に変換するところで失敗してしまいます。この変換はどうすればクリアできるのでしょうか?Hex関数やOct関数なども使ってみましたが、4バイト分しか読み込まれていませんでした。
補足日時:2005/12/19 13:29No.1
- 回答日時:
マイクロソフトの
[HOWTO] Microsoft Visual Basic .NET を使用してシリアル ポートとパラレル ポートにアクセスする方法
を紹介します。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
早速のご回答ありがとうございました。
こちらを参考にしてプログラムを作成しましたが、実行結果を報告します。
1. LPT1のパラレルポートの部分は使わないので、該当部分のソースを削除した結果、シリアルポート(COM3)の読み込みテストは実行されましたが、書き込みテストは失敗しました。
2. シリアルポートの読み込みテストだけを実行するために書き込み部分のソースを削除した結果、強制再起動が発生しました。
3. Windows標準のハイパーターミナルで得られるテキストデータをこのソースを使って読み込みたいのですが、Success = ReadFile(hSerialPort, Buffer, BytesWritten, BytesRead, IntPtr.Zero)のどの変数に格納されるのかが分かりません。
以上について、追加してお尋ねいたしますのでよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の間接指定
-
COLUMN(1:1)の意味を教え...
-
basp21のアップロード
-
in_addrからchar型の文字列の変換
-
VB.NET 2つの配列を連動して並...
-
フォームを開くときに、コンボ...
-
VBAでダブルコーテーション入り...
-
VB6.0-整数と余りを求める
-
Variant型で宣言してるのにEmpt...
-
3bitアップダウンカウンタ(Up/...
-
テキストボックスの値を変数に...
-
変数にオフセットが付いている...
-
フリーランタイマーの時間差分...
-
Nullってどういう意味ですか?
-
[VBS]変数を定数に変換する方法...
-
VBA コンボボックスの値をスピ...
-
Accessコンボボックスにレコー...
-
Excel-vba 文字列と変数を...
-
デジタルカレンダーでTo Do 事...
-
エラーの意味は? Lvalue req...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
COLUMN(1:1)の意味を教え...
-
excelの、ある数式内の{}の意...
-
VBAのWorksheetFunctionの引数...
-
vbsでテキストファイル内の文字...
-
配列の値を置換するにはどうす...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
エクセル、この関数の意味は?
-
エクセルへのデータの貼付時に...
-
【エクセル】 関数による電子...
-
RichTextBoxの改行を認知してく...
-
VB6で配列を文字列に変換する方...
-
複数ディレクトリの監視(VB.NET...
-
in_addrからchar型の文字列の変換
-
配列の座標指定について。
-
MATLABで配列をファイルへ書き...
-
VB 配列の内容をファイルに書...
-
VBSで特定の文字列が含まれる場...
-
C#の問題です。 文字列型の配列...
-
copyRecordsetの数値16桁以上に...
おすすめ情報