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.