Sample code for 30+ languages & platforms
PowerBuilder

Append Big-Endian or Little-Endian Integers

Demonstrates how to append integers in big-endian or little-endian byte order to a BinData.

Note: This example requires Chilkat v9.5.0.77 or greater.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
long li_Success
oleobject loo_Bd
long x
long li_LittleEndian

li_Success = 0

loo_Bd = create oleobject
li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData")
if li_rc < 0 then
    destroy loo_Bd
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  The hex value of decimal 123456789 is 0x075BCD15
x = 123456789

//  Appending little-endian causes bytes to be
//  appended in the order 0x15, 0xCD, 0x5B, 0x07
li_LittleEndian = 1
li_Success = loo_Bd.AppendInt4(x,li_LittleEndian)

Write-Debug loo_Bd.GetEncoded("hex")
//  Output is: 15CD5B07

//  Now append the same integer in big-endian byte order.
//  Appending bit-endian causes bytes to be
//  appended in the order 0x07, 0x5B, 0xCD, 0x15
li_LittleEndian = 0
loo_Bd.AppendInt4(x,li_LittleEndian)

Write-Debug loo_Bd.GetEncoded("hex")
//  bd now contains: 15CD5B07075BCD15

//  -------------------------------------------
//  Now do the same thing with 16-bit integers
loo_Bd.Clear()

//  1234 decimal = 0x04D2 hex.
x = 1234

li_LittleEndian = 1
loo_Bd.AppendInt2(x,li_LittleEndian)

Write-Debug loo_Bd.GetEncoded("hex")
//  Output is: D204

li_LittleEndian = 0
loo_Bd.AppendInt2(x,li_LittleEndian)

Write-Debug loo_Bd.GetEncoded("hex")
//  Output is now: D20404D2


destroy loo_Bd