Thema: Delphi Array-Element löschen

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Array-Element löschen

  Alt 13. Jun 2005, 09:13
Wenn Du Move verwendest, geht es noch schneller und ist weniger Code = weniger anfällig:
Delphi-Quellcode:
procedure TFeldliste.DeleteField(Index: Integer);
var i,l : integer;
begin
  L := length(FListe);
  if index < L-1 Then
    move (fListe[Index + 1], fListe [Index], SizeOf (Fliste[0])* (L - Index - 1));
  setlength(Fliste, length(fliste)-1);
End;
Aber ehrlich, ich verstehe nicht, was hier viele 'Experten' gegen eine TList haben. Das ist doch schnell genug und macht das alles schon. Ich kenne nicht allzuviele Anwendungen, die so zeitkritisch sind, das man sich ein TExtremelyFastList bauen müsste.

Wenn ich die vorgefertigten Klassen von Delphi nehme, habe ich doch ein paar Sorgen weniger, weil das schonmal funktioniert... Und wenn ich Performanceprobleme bekomme, dann nehme ich mir einen Profiler. Der zeigt mir die Bottlenecks. Wenn TList der Bösewicht ist, wird ausgetauscht. Aber nur dann...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat