Hola como estan? :D
necesito que me ayuden, yo quiero pasar de byte a long por ejemplo yo tengo este numero 48 en byte y se que este 94545712 es ese byte pasado a long alguien me podria explicar como hago para pasar el byte que quiera a long?
Te pondría el código pero tengo el visual basic en el pc de torre y estoy en el portátil, de todas formas te dejo un enlace que no solo hay ejemplos de funciónes con lo que quieres sinó viceversa y muchas más:
http://www.bigresource.com/VB-Help-converting-long-to-byte-array-and-byte-array-to-long-GwlkH2pMTT.html
Espero que te sirva de inspiración ;)
Gracias por el link pude pasar de long a byte con este codigo
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal _
Length As Long)
Public Function LongToByteArray(ByVal lng As Long) As Byte()
Dim ByteArray(0 To 2) As Byte
CopyMemory ByteArray(2), ByVal VarPtr(lng), Len(lng)
LongToByteArray = ByteArray
End Function
Private Sub Command1_Click()
Dim bytArr() As Byte
Dim iCtr As Integer
bytArr = LongToByteArray(94148488)
For iCtr = 0 To UBound(bytArr)
Text1.Text = bytArr(iCtr)
Next
End Sub
pero no logro pasar de byte a long >:(
Hola me parece que tu funcion esta mal, un long = 4 bytes por lo tanto tienes que redimencionar el array a (0 to 3)
asi es como creo que iria
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Function LongToByteArray(ByVal lng As Long) As Byte()
Dim ByteArray(3) As Byte
CopyMemory ByteArray(0), lng, LenB(lng)
LongToByteArray = ByteArray
End Function
Public Function ByteArrayToLong(ByteArray() As Byte) As Long
CopyMemory ByteArrayToLong, ByteArray(0), LenB(ByteArrayToLong)
End Function
Private Sub Command1_Click()
Dim bytArr() As Byte
bytArr = LongToByteArray(94545712)
MsgBox ByteArrayToLong(bytArr)
End Sub
Saludos.