Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoBd
    Integer x
    Boolean iLittleEndian
    String sTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatBinData)) To hoBd
    If (Not(IsComObjectCreated(hoBd))) Begin
        Send CreateComObject of hoBd
    End

    // The hex value of decimal 123456789 is 0x075BCD15
    Move 123456789 To x

    // Appending little-endian causes bytes to be
    // appended in the order 0x15, 0xCD, 0x5B, 0x07
    Move True To iLittleEndian
    Get ComAppendInt4 Of hoBd x iLittleEndian To iSuccess

    Get ComGetEncoded Of hoBd "hex" To sTemp1
    Showln sTemp1
    // 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
    Move False To iLittleEndian
    Get ComAppendInt4 Of hoBd x iLittleEndian To iSuccess

    Get ComGetEncoded Of hoBd "hex" To sTemp1
    Showln sTemp1
    // bd now contains: 15CD5B07075BCD15

    // -------------------------------------------
    // Now do the same thing with 16-bit integers
    Get ComClear Of hoBd To iSuccess

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

    Move True To iLittleEndian
    Get ComAppendInt2 Of hoBd x iLittleEndian To iSuccess

    Get ComGetEncoded Of hoBd "hex" To sTemp1
    Showln sTemp1
    // Output is: D204

    Move False To iLittleEndian
    Get ComAppendInt2 Of hoBd x iLittleEndian To iSuccess

    Get ComGetEncoded Of hoBd "hex" To sTemp1
    Showln sTemp1
    // Output is now: D20404D2


End_Procedure