タイトル : Re: Chr関数 VB2010でおかしい? 投稿日 : 2017/08/02(Wed) 16:20 投稿者 : 魔界の仮面弁士
&H66 は可読文字ですが、 &H00 や &H01 は非可読文字なので、 文字として目視確認できるものではないですよ。 > Chr(&H0) → " " (Nll?) > Chr(&H1) → " (ダブルコーテションが1個) NULL は文字列の終端として扱われるデータなので、 &H0 と &H1 の結果が逆になりそうなものですが、 それはさておき。 上記の結果は、どのようにして確認したものなのでしょうか。 ひとまず下記のコードで実行してみましたが、どちらも正常に &H0 や &H1 が格納されているように見えます。 [VB2010] Dim a As Char = Chr(&H66) Dim b As Char = Chr(&H0) Dim c As Char = Chr(&H1) Dim x As String = Hex(Asc(a)) Dim y As String = Hex(Asc(b)) Dim z As String = Hex(Asc(c)) [VBA] Dim a As String: a = Chr(&H66) Dim b As String: b = Chr(&H0) Dim c As String: c = Chr(&H1) Dim x As String: x = Hex(Asc(a)) Dim y As String: y = Hex(Asc(b)) Dim z As String: z = Hex(Asc(c)) > VB2010 でシリアル通信に使おうとしているのですが受付ません シリアル通信ということは、System.IO.Ports.SerialPort クラスですかね。 今回問題となっている処理は、どのようなコードなのでしょうか? > 尚 当然ですが2003 2010どちらもコードは同じ値です(&HFE → 254 &H66 → 253 等) 253 なら &HFD のはずですが…。 &HFE は 254 ですが、&H66 は 102 ですよね。 |