Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#11

AW: Array mit Recordinhalten löschen

  Alt 2. Dez 2012, 22:22
Arrays sind schneller und wenn ich die Schmerzfrei-Lösch-Funktionalität nicht brauche, hänge ich mir keine Liste ans Bein. Warum auch?
Wie ich schon gesagt habe, viele Delphi Entwickler sind einfach blind gegenüber Techniken die sich in anderen Programmiersprachen schon längst durchgesetzt haben.
Delphi-Quellcode:
 // a.)
// löschen eines Elements in einem Array
var
  i, x : integer;
begin
  x := 4; // Element Position die gelöscht werden soll
  for i:= x+1 to High(MyArray) do
  begin
    MyArray[i-1] := MyArray[i];
  end;
  SetLength(MyArray, Length(MyArray)-1);
end;

// b.)
// und jetzt das Gleiche mit einer Liste
MyList.Delete(4);
Und jetzt stelle man sich vor, dass man 5 versch. Arrays bzw. Listen hat.
Welcher Lösung wäre zu bevorzugen 5 * a.) oder 5 * b.) ?
Den Code bei a.) habe einfach so hingeschrieben; es ist gut möglich
dass er Fehler hat.
(Es sind übrigens min. 2 Fehler enthalten - wer findet sie?)
Bei b.) ist es ausgeschlossen, dass ein Fehler enthalten ist.
  Mit Zitat antworten Zitat