Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, BinData;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
bd: HCkBinData;
x: Integer;
littleEndian: Boolean;

begin
success := False;

bd := CkBinData_Create();

// 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
littleEndian := True;
success := CkBinData_AppendInt4(bd,x,littleEndian);

Memo1.Lines.Add(CkBinData__getEncoded(bd,'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
littleEndian := False;
CkBinData_AppendInt4(bd,x,littleEndian);

Memo1.Lines.Add(CkBinData__getEncoded(bd,'hex'));
// bd now contains: 15CD5B07075BCD15

// -------------------------------------------
// Now do the same thing with 16-bit integers
CkBinData_Clear(bd);

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

littleEndian := True;
CkBinData_AppendInt2(bd,x,littleEndian);

Memo1.Lines.Add(CkBinData__getEncoded(bd,'hex'));
// Output is: D204

littleEndian := False;
CkBinData_AppendInt2(bd,x,littleEndian);

Memo1.Lines.Add(CkBinData__getEncoded(bd,'hex'));
// Output is now: D20404D2

CkBinData_Dispose(bd);

end;