アプリ版:「スタンプのみでお礼する」機能のリリースについて

Visual Basic6.0を使用しています。
String型の値をLong型へ変換したいのですがどうやればよろしいでしょうか?
①→②のように変換したいです。

s は String型変数
l は Long型変数


s = "aaa"  'aaaは任意の値


l[0]=0x6161
l[1]=0x0061

A 回答 (2件)

こんばんは。



s = "aaa"  'aaaは任意の値
0x というのは、16進ですから、
Long 型の配列に格納するためには、一度、10進に戻さないといけません。

>l[1]=0x0061
このままでは入りません。0x0061 は、10進で97 です。
つまり、文字をコードに変換すればよいわけです。
0x0061 自体は、格納しようにも、16進ですから、Long型変数には格納できません。

Dim s As String
Dim buf
Dim ret
Dim i As Long, j As long
Dim l(9) As Long
 s = "aaa"
 For i = 1 To Len(s)
  a = Mid(s, i, 1)
  buf = AscW(a)
  l(j) = buf
  j = j + 1
 Next

後の問題は、逆に戻す時でしょうね。

For i = 0 To UBound(l)
 buf1 = buf1 & ChrW(l(i))
Next

私が、質問の内容から思いつくのは、このぐらいです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2015/12/03 13:38

データー型変換について調べる際のキーワードは「キャスト」です。


例えばVB6でのデーター型変換に関しては「vb6 キャスト」といったキーワードで探すといろいろな解説ページが見つかるはずです。
「vb6 キャスト string」とかだともう少し絞り込めるかもしれませんね。

参考まで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2015/12/03 13:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています