Thema: Delphi FT_Out_Buffer

Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: FT_Out_Buffer

  Alt 27. Apr 2008, 17:55
Hallo Tassilo,

suchst Du vielleicht move?

Zitat von DelphiHilfe:
Copies bytes from a source to a destination.

Unit

System

Category

miscellaneous routines

procedure Move(const Source; var Dest; Count: Integer);

Description

Move copies Count bytes from Source to Dest. No range checking is performed. Move compensates for overlaps between the source and destination blocks.

Whenever possible, use SizeOf to determine the count.
Ein Beispiel ist in der DelphiHilfe zu finden.
[edit] habe auch mal ein kleines Beispiel gebastelt:

Delphi-Quellcode:
  recTest = packed record
    data1 : Byte;
    data2 : Word;
  end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  ArrayTest : Array[0..5] of byte;
  rec : recTest;
  i : byte;
begin
  for i:=0 to 5 do
    ArrayTest[i] := 0;

  rec.data1:=1;
  rec.data2:=65500;
  move(rec,ArrayTest[2],SizeOf(recTest));

  Memo1.Lines.Add('Rec Size '+IntToHex(sizeof(recTest),2));
  for i:=0 to 5 do
    Memo1.Lines.Add(IntToHex(ArrayTest[i],2));

end;
Einen Hinweis noch, wenn Dein Record kein packed record ist,
dann ergibt Sizeof(recordType) die Größe von 4 Byte
und nicht wie man eigentlich erwarten würde von 3 Byte.
[/edit]
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat