good evening everyone, I have a little misunderstanding problem with ByteConverter and AsyncStreams
I have for example 1 to 6 digits with a value of 1 to 999999 which gives in hexa
999999 -> F423F
99999 -> 1869F
9999 -> 270F
999 -> 3E7
99 -> 63
9 -> 9
I have to send this whole example with the value 999999
B4X:
Dim packet () As Byte = Array As Byte (0x5A, 0xA5, 0x06, 0x83, 0x00, 0x99, Hex0, Hex1, Hex2)
except that when I have the value 9 a decimal I end up with
B4X:
Dim packet () As Byte = Array As Byte (0x5A, 0xA5, 0x06, 0x83, 0x00, 0x99, Hex2)
so it's no longer good, he doesn't care
I said to myself I'm going to turn everything into a thong
B4X:
Dim origin As String = "000000"
Dim str As String = Value
Dim j As Int = str.Length
Final dim as string = origin.SubString2 (0.6-j) and value
Dim Hex0 As Int = final.SubString2 (0.2) '99
Dim Hex1 As Int = final.SubString2 (2,4) '99
Dim Hex2 As Int = final.SubString2 (4.6) '99
Dim packet () As Byte = Array As Byte (0x5A, 0xA5, 0x06, 0x83, 0x00, 0x99, Hex0, Hex1, Hex2)
but in this case my Hex0 = 63 Hex1 = 63 and Hex2 = 63 instead of Hex0 = 0F Hex1 = 42 and Hex2 = 3F
I'm going around in circles and I don't understand how to go about getting the right result and the cut I want
if a charitable man could put me on the right track. Hoping to have been clear in my explanations
Dim bc As ByteConverter
Dim bytes() As Byte = bc.IntsToBytes(Array As Int(999999))
'As long as we feed IntsToBytes only one integer, we will get back 4 bytes. Since, in this case, the largest integer will
'be 999999, we can skip bytes(0) and only use bytes(1), bytes(2), and bytes(3)
Dim packet () As Byte = Array As Byte (0x5A, 0xA5, 0x06, 0x83, 0x00, 0x99, bytes(1), bytes(2), bytes(3))
Dim bc As ByteConverter
Dim bytes() As Byte = bc.IntsToBytes(Array As Int(999999))
'As long as we feed IntsToBytes only one integer, we will get back 4 bytes. Since, in this case, the largest integer will
'be 999999, we can skip bytes(0) and only use bytes(1), bytes(2), and bytes(3)
Dim packet () As Byte = Array As Byte (0x5A, 0xA5, 0x06, 0x83, 0x00, 0x99, bytes(1), bytes(2), bytes(3))