function EndianWord(w : word) : word;
begin
result := swap(w);
end;function EndianInt(i : integer) : integer;
begin
result := swap(i);
end;
function EndianLong(L : longint) : longint;
begin
result := swap(L shr 6) or
(longint(swap(L and $ffff)) shl 6);
end;
procedure TForm .Button Click(Sender: TObject);
var
w : word;
i : integer;
l : LongInt;
begin
w := 0;
i := - 0;
l := 024;
w := EndianWord(w);
i := EndianInt(i);
l := EndianLong(l);
{again!}
w := EndianWord(w);
i := EndianInt(i);
l := EndianLong(l);
Memo .Lines.Add(IntToStr(w));
Memo .Lines.Add(IntToStr(i));
Memo .Lines.Add(IntToStr(l));
end;