Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: 2 Integerwerte in einem Integerwert reversibel speichern

  Alt 10. Aug 2007, 17:12
ein normaler Integer ist 32bit(4 Byte) groß. Wenn du 2 darin 2 Integer speichern willst dürfen diese jeweils nur 2 Byte groß sein sonst gibts ein Problem.
Funktionieren würde es mit move (speicher direkt kopieren) oder mit Bytes shiften oder durch definieren eines neuen Types oder....
Delphi-Quellcode:
type
  TInteger = packed record
    case Bool of
      True : (NormalInt: Integer);
      False : (Part1: SmallInt;
               Part2: SmallInt;);
  end;


var
  Variable: TInteger;
begin
  Varialbe.Part1 := Zahl1;
  Variable.Part2 := Zahl2;
  Variable.NormalInt := Variable.NormalInt xor Zahl3;
end;
Die Variante von fJeins ist natürlich um einiges kürzer
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat