Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

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

AW: Array mit Objekte | Element überschreiben

  Alt 23. Jan 2011, 16:40
Immer wieder der gleiche Fehler!
Delphi-Programmierer greifen viel zu oft zum Array anstatt eine Liste zu verwenden.
Aus einer Liste kann man völlig problemlos ein Element entfernen.
Bei einem Array entsteht dagegen ein Loch, dass durch eine Verschiebeoperation gefüllt werden muss.
Bei einer Liste kann man auch völlig problemlos zwischendrin ein Element einfügen.

Eine Liste ist eine höherwertige Datenstruktur, während ein Array eine primitive Datenstruktur ist.
Intern kann man eine Liste auf einem Array aufbauen; für den Verwender der Liste ist dies aber ohne Belang.

Damit sollte klar sein, dass man höherwertige Datenstrukturen benützen sollte.
Im konkreten Fall ist dies die Klasse TObjectList.

Ausserdem kann man auch die Klasse TStrings (bzw. alle Ableitungen von TStrings) benützen um Objekte zu speichern:
Delphi-Quellcode:
var
  kunde : CKunde;
begin
  kunde := CKunde.Create;
  kunde.display := 'Kunde'+inttostr(lb_auswahl.items.Count+1);
  lb_auswahl.items.AddObject(kunde.display, kunde);
end;
  Mit Zitat antworten Zitat