• 締切済み

16進数の変換

visualbasic6.0で加速度センサーから傾きを検出するプログラムを作りたいのですが、初心者のため手探りでやっている状態です。 センサーからの信号は16進数で4バイトずつ送られてきます。 これを10進数に直して、前の2バイトと後ろの2バイトを分けて表示したいのですが解かりません。以下が現段階のコードの1部です。 Private Sub MSComm1_OnComm() Dim bytBuf() As Byte Dim strDisp As String Dim lngCount As Long Select Case MSComm1.CommEvent Case comEvReceive If List1.ListCount = 0 Then MSComm1.InBufferCount = 0 End If Do bytBuf = MSComm1.Input strDisp = "" For lngCount = LBound(bytBuf) To UBound(bytBuf) strDisp = strDisp & Right("00" & Hex(bytBuf(lngCount)), 2) & " " Next List1.List(0) = List1.List(0) & strDisp Loop While MSComm1.InBufferCount <> 0 End Select End Sub

みんなの回答

  • colhan
  • ベストアンサー率31% (201/631)
回答No.2

必ず4バイト来るなら 右2文字と左2文字に分けるだけのような気がしますが。

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

16進数を10進数にしたいということかな? Dim x As String x = "FFFF" Debug.Print CLng("&H" & x)