Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.306 Beiträge
 
Delphi 12 Athens
 
#14

AW: Mehrdimensionales dynamisches Array, Element löschen

  Alt 17. Feb 2011, 11:01
Delphi-Quellcode:
type
  TIntArray = array of Integer;
  PIntArr = ^TIntArray;
  TIntArrayArray = array of PIntArr;
  
  procedure DeleteArrayElement(var AArray: TIntArrayArray; const AIndex: Integer);
  begin
    Dispose(AArray[AIndex]);
    Move(AArray[AIndex + 1], AArray[AIndex], SizeOf(AArray[0]) * (Length(AArray) - AIndex - 1));
    FillChar(AArray[High(AArray)], SizeOf(AArray[0]), 0);
    SetLength(AArray, Length(AArray) - 1);
  end;
FillChar/ZeroMemory nicht vergessen, da sonst das letzte Feld doppelt vorkommt, dann von SetLength freigegeben würde und somit das vorletzte (nun letzte) Feld auf nicht mehr existierende Daten zeigen könnte.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat