Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#1

Dyn. Array Teilmenge schnell kopieren

  Alt 22. Apr 2011, 22:06
Hallo,

ich muss einen Abschnitt eines Dynamischen Arrays in ein zweites Array kopieren. (Hab' mich entschlossen, endlich mal MergeSort zu verstehen und umzusetzen... läuft inzwischen auch)

Symbolischer Codeausschnitt:
Delphi-Quellcode:
type
  TPointerArray = array of Pointer;
var
  Base, Part : TPointerArray;
  i, offset, count : Integer;
begin
  // alles initialisiert (SetLength etc.) und
  // offset/count berechnet

  for i := 0 to Count-1 do
    Part[i] := Base[offset + i];
Funktioniert auch, nur wollte ich es beschleunigen (mit Move).
Die For-Schleife ist wie folgt ersetzt:
  Move(Base[offset], Part[0], count); .
Mir füllt es aber das Part-Array mit lauter Nullen, statt mit den realen Werten.

Ich komme nicht drauf, was schief läuft.

Alternativ nehme ich auch einen anderen Vorschlag, wie ich die Kopieraktion in der For-Schleife beschleunigen kann.
  Mit Zitat antworten Zitat