Zitat von
DeddyH:
Mal aus dem Kopf:
Delphi-Quellcode:
procedure SetLowByte(var sInt: SmallInt; const b: Byte);
begin
sInt := sInt or b;
end;
procedure SetHighByte(var sInt: SmallInt; const b: Byte);
begin
sInt := sInt or (b shl 8);
end;
Deine Funktionen haben ein Problem: was ist, wenn schon ein Wert <> 0 in dem jeweiligen Byte Anteil steht? Du fügst deine Bits mit oder hinzu - aber die schon bestehenden bleiben stehen. Somit erreichst du damit nicht sicher das, was gefordert war bzw. du eigentlich erreichen wolltest.