文字列Stringから整数Longへの変換について

解決


holly  2003-08-02 01:51:10  No: 107947

長整数(Long)4バイトの要素が最高で50件発生するものを(4バイト×50件とした)2000バイトの文字列(可変長)に格納する方法はありますか。更にその文字列のある部分4バイトを切り出し、長整数(Long)として扱う方法はありますか。そんなことする必要があるのか…といったツッコミはしないで下さい。よろしくお願いします。


とろ  2003-08-02 02:24:09  No: 107948

こんな感じでいかが?

Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
  (dst As Any, src As Any, ByVal num As Long)
Private Sub Command1_Click()
  Dim b() As Byte
  Dim l As Long
  Dim s As String
  Dim i As Integer
  
  l = 66
  
  Debug.Print "b(3)", "b(2)", "b(1)", "b(0)", "l", "s"
  
  Debug.Print "Long -> Byte() -> String"
  ReDim b(4)
  CopyMemory b(0), l, 4
  s = b()
  Debug.Print b(3), b(2), b(1), b(0), l, s
  
  Erase b()
  l = 0
  
  Debug.Print "String -> Byte() -> Long"
  b() = s
  CopyMemory l, b(0), 4
  Debug.Print b(3), b(2), b(1), b(0), l, s
End Sub


holly  2003-08-02 02:41:35  No: 107949

ありがとうございました。目からうろこ…って感じです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加