B4J Question Byte array to text

atiaust

Active Member
Licensed User
Hi All,

I have a byte array data that I am sending from B4R to B4J.

When I convert part of the byte array to a float it gives the correct value in the logs.

When I try to convert the float to text to display on a label I get various symbols instead of the text.

Please see the label marked Ozone on attached image.

Any ideas ?
 

Attachments

atiaust

Active Member
Licensed User
B4X:
Sub astream_NewData (Buffer() As Byte)
    Log(BytesToString(Buffer, 0, Buffer.Length, "utf8"))
'    for testing
    Dim bc As ByteConverter
    bc.LittleEndian = True
    Dim a As String = bc.HexFromBytes(Buffer)
    Log("a = "&a&" len = "&Buffer.Length)
'   
    Dim s(4) As Byte
    bc.ArrayCopy(Buffer,6,s,0,4)
    Dim d() As Float = bc.FloatsFromBytes(s)
    Dim str As String = d(0)
    Dim dbl As Double = d(0)
    Log("d = "&d(0))
    Log("str = "&str)
    Log ("ppm = "& str.SubString2(0,5))
    Log ("dbl = "& NumberFormat(dbl,0,3))
    lblPPM.Text = str.SubString2(0,5)           - displays symbols instead of text
Thanks
 

Erel

Administrator
Staff member
Licensed User
Something is missing here. You are probably setting the label text in another place.
 

atiaust

Active Member
Licensed User
Thanks Erel,

I had copied a block of code from another app and there was a reference to the label.

Fixed.. Need to look closer
 
Top