Entwickler-Ecke

Sonstiges (Delphi) - Memo untersuchen


Yannick89 - Mi 09.01.08 21:52
Titel: Memo untersuchen
Hallo,

ich habe ein Memo-Feld mit einer langen Liste

12345
12354
12452
12543
usw.
nun möchte ich aus diesem memo-feld eine zeile herraus suchen
die z.B 12453 heisst und diese dann löschen.


Delphi-Quelltext
1:
2:
3:
4:
5:
for i := Memo2.Lines.Count - 1 downto 0 do
  begin
    if Trim(Memo2.Lines[i]) = '12453' then
      Memo2.Lines.Delete(i);
    Memo2.Lines[i] := Trim(Memo2.Lines[i]);


Das funktioniert zum Glück auch.

Doch was muss ich machen wenn ich alle zeilen des memo-feldes löschen möchte,
die den zahlenabschnitt "134" in der reihenfolge beeinhalten.

BITTTTE um Hilfe
Danke Yannick :)

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt


Marc. - Mi 09.01.08 21:57

Hi!:welcome: im Forum. :)
Das Stichwort pos(); sollte Dir weiterhelfen. Ich denke die Parameter erklären sich von selbst. :P
Die Funktion gibt die Stelle des ersten gefundenen Zeichens deines Suchstrings aus Deinem Text zurück.
D.h. ist pos > 0 existiert der gesuchte String im Text. ;)

cu
Marc


Yannick89 - Mi 09.01.08 22:06

JA, auf pos bin auch schon gekommen. Habs dann aber nicht anwenden können. Kannst du oder jemand anderes
mir noch etwas genauer helfen.

thx fürs willkommen


Marc. - Mi 09.01.08 22:09

Nun ja, im prinzip musst Du nur eine Zeile ersetzen.

Delphi-Quelltext
1:
falls position(suchstring, string) > NULL dann lösche zeile                    

Warum rufst du die Trim-Funktion nicht einmal ganz am Anfang auf? ;)

cu


Calculon - Mi 09.01.08 22:10

Hier [http://www.delphibasics.co.uk/RTL.asp?Name=AnsiPos] mit Beispiel...


Yannick89 - Mi 09.01.08 22:25

vielen dank

thema erledigt