Einzelnen Beitrag anzeigen

snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#20

Re: Integers, Strings, booleans in BinärDaten converertieren

  Alt 14. Jan 2008, 22:12
Zitat:
SizeOf() liefert dir aber nur den Speicherplatz der die Variable belegt = maximaler Wertebereich.
Du könntest überladene Funktionen nehmen
ja das würde mir ja reichen aber...

Delphi-Quellcode:
function InttoBin(X : integer):TBinaryObject;
begin
SetLength(Result, SizeOf(X));
Move(X, result[0], sizeof(X));
end;
wenn ich diese function mit dieser routine hier aufrufe....

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var int : byte;
bin : TBinaryObject;
begin
int:=244;
bin:=inttobin(int);
end;
dann hab ich als sizeof(X) immer 4, weil das byte voher in einen integer32 umgewandelt wird. Dabei gehen 3 bytes lehr aus. Obwohl der programmer ja eigendelich int schon als byte deklariert hat.

Der programmer nimmt also an, dass int maximal 255 groß wird. Warum also immer 4 Bytes verwenden.

gruß snow

PS:// das mag so klingen als ob ich bei programmen bytes zählen würde. Zwar macht es bei Gbyte-Festplatten nix aus ob jetz 4 oder 1 Byte benutz wird, aber wie heisst es so schön: Die Menge machts. Oder : Wer den Pennig/Cent nicht ehrt dem ist auch die D-mark/Euro nix wert.
  Mit Zitat antworten Zitat