Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#8

AW: Datentype Array of Byte und Cardinal

  Alt 4. Apr 2011, 18:00
Danke, werde ich machen!

Hatte jetzt versucht mit Swap zu arbeiten - dass gefällt mir aber nicht.
Es sollte halt automatisch gehen um Fehler vorzubeugen.

Fertig und geht:
Delphi-Quellcode:
  TCardinalRec = record
    private
      function GetCardinal : Cardinal;
      procedure SetCardinal(const Value : Cardinal);
    public
      _Byte : packed Array[0..3] of Byte;
      Property _Cardinal : Cardinal read GetCardinal write SetCardinal;
  end;

function TCardinalRec.GetCardinal : Cardinal;
begin
  Result :=
    (_Byte[0] Shl 24) or
    (_Byte[1] Shl 16) or
    (_Byte[2] Shl 8) or
    _Byte[3];
end;

procedure TCardinalRec.SetCardinal(const Value : Cardinal);
begin
  _Byte[0] := Value shr 24;
  _Byte[1] := Value shr 16;
  _Byte[2] := Value shr 8;
  _Byte[3] := Value and $FF;
end;
Delphi 2010, Update 4 & 5

Geändert von schwa226 ( 4. Apr 2011 um 18:10 Uhr)
  Mit Zitat antworten Zitat