![]() |
Re: Suchen und Löschen von Text in Memos
Zitat:
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:
[/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 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) |
Re: Suchen und Löschen von Text in Memos
Zitat:
Jetzt funktioniert das Programm nahezu perfekt. |
Re: Suchen und Löschen von Text in Memos
Die Blacklist hat inzwischen fast 20000 Zeilen.
Wenn ich die Zeilen sortiere, kann ich den Vorgang dann beschleunigen ? |
Re: Suchen und Löschen von Text in Memos
Ja, denn die StringList hat für eine sortierte Liste eine besserer Suchmethode, welche durchschnittlich mit nur Log2(SL.Count div 2) Vergleichen einen String in der Liste finden kann.
Wärend es, bei einer unsortierten Liste, durchschnittlich (SL.Count div 2) Vergleiche nötig sind, da im Extrem alle Strings/Zeilen geprüft werden müssen. |
Re: Suchen und Löschen von Text in Memos
Was muss ich tun damit er den für die sortierten Listen optimierten Suchalgorithmus benutzt? Irgendeine Variable setzen?
Oder macht er das automatisch? |
Re: Suchen und Löschen von Text in Memos
Das geht automatisch.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz