掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Long型をULONG型に変換したい (ID:81873)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
…あ〜、もしかしてウルトラロングって文字列変数で実はUnsignedLong型じゃない…? で、&h88の文字コード(Chr$(&h88))がVBでは認識できないから困ってると。 …Chr(&h88)が存在して読み取れないのか、Chr(&h88)が存在すらしないのかをしらべてみた。 Sub test() Dim sbuf() As Byte Dim s1 As String Dim s2 As String 'chr$(&h88)はString型の中に存在できるか? Debug.Print "TEST1" 'Byte配列に&h88を入れてみる ReDim sbuf(1 To 1) sbuf(1) = &H88 'String型(1)に代入してみる(Chr$(&h88)は代入できるか?) s1 = sbuf sbuf = s1: debugOut sbuf 'String型(2)に代入してみる(Chr$(&h88)は生存できるか?) s2 = s1 sbuf = s2: debugOut sbuf Debug.Print "TEST2" 'String型にChr$(&h88)を入れてみる s1 = Chr$(&H88) 'Chr$(&h88)は生きているか? sbuf = s1: debugOut sbuf 'String型(2)に代入してみる(Chr$(&h88)は生存できるか?) s2 = s1 sbuf = s2: debugOut sbuf End Sub Sub debugOut(ByRef buf() As Byte) Dim va As Variant For Each va In buf Debug.Print Hex$(va); " "; Next Debug.Print End Sub イミディエイトウィンドウには TEST1 88 88 TEST2 0 0 0 0 と表示された。 つまりChr$関数は特定の文字コードを入れた場合はNullCharを返す。 Chr$関数では特定できない文字がある。 しかし、いったんString型に入ってしまうと、 String型の中身は影響を受けないことがわかった。 …まぁ、自己満足だけどね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.