Thema: Delphi Array zusammenhängen

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Array zusammenhängen

  Alt 24. Nov 2006, 16:55
Zitat von shmia:
Du könntest die Daten effektiver (=schneller) mit der Move Prozedure bewegen.
Aber Achtung: wäre das Array von Typ: array of string; wäre dies verboten.
Deine Prozedure könnte so aussehen (ungetestet!!!):
Delphi-Quellcode:
procedure AppendArray(var aArray: TIntegerArray; aValues: TIntegerArray);
var
  TmpLen : integer;
  lp : byte;
begin
  TmpLen := Length(aArray);
  SetLength(aArray,TmpLen+Length(aValues));
  Move(aValues[0], aArray[TmpLen], Length(aValues)*sizeof(Integer));
end;
Bei Verwendung von Move muss man höchste Vorsicht walten lassen, damit kein Speicher "zerschossen" wird.
PS: ich habe den Namen der Procedure geändert; ist so deutlich sprechender
CopyMemory ruft doch auch nur Move auf. Damit hat man nur das zusätzliche Stack schaufeln wenn man anstelle von Move Copy Memory verwendet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat