Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Suchen und Löschen von Text in Memos

  Alt 13. Apr 2010, 07:37
Zitat:
For y := 0 to filelist.Count Do
Das ist etwas, welches ständig erwähnt wird.

Wenn der Index (hier y) über eine For-Schleife durchgezählt wird,
dann Löschen immer rückwärts
und Einfügen immer vorwärts,
(beim bloßen Verändern des Inhalts der Einträge ist es egal)
denn durch diese Operationen verschieben sich die Indize der Einträge.

Oder man nutzt eine While-Schleife und paßt den Index an.


1 und 2 sollen mit gelöscht werden:
Code:
0 1 2 3 4     A

y
0 1 2 3 4

  y
0 2 3 4

    y
0 2 3 4       U

      y
0 2 3 4

        y
0 2 3 4 -     I

          y
0 2 3 4 -     X
[/code]
A = Ausgangsbelegung
U = die 2 wird übergangen, da sie vorgerutscht ist, aber y weiterzählte
I = Out of Index, da das Schleifenende sich nicht anpaßt und nun ein Eintrag fehlt
X = erst Recht Out of Index, da .Count=5, aber der höchte Index um Eines kleiner war (0-basierender Index)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat