![]() |
Schleifenproblem / Logikproblem?
Liebe Leute,
ich habe ein kleines logisches/Schleifenproblem, bei dem ich einfach nicht weiter komme: Ich habe eine stringliste, die ich nach bestimmten String-Folgen absuchen will. Die Stringabfolge muss dabei immer in der richtigen Reihenfolge sein: zum Bleistift:
Code:
Was ich schon hinbekommen habe, ist eine Schleife, die aber lediglich prüft, ob - z.B. bei der Abfolge "2-3-4" die "3" und die "4" in der Umgebung (hier:) von +2 Stellen steht:
Liste:
1 2 3 4 5 ... 1 2 4 5 2 ... 1 4 3 2 5 ... Suche nach Abfolge: "2-3-4" Liefere die Listenposition, an der die "2" steht - und danach in der richtigen Reihenfolge: 2-4 kommen Das sollte insbesondere auch klappen, wenn die Anzahl der zu suchenden Abfolge unbekannt (also n) ist. - Suche alle Positionen von "2" und speichere sie in einer gesonderten Liste. - Prüfe dann alle Funde von "2" danach, ob rechts davon "3" und "4" kommen. Aber wie schaffe ich es, dass die Reihenfolge von "3" und "4" (3-4) korrekt berücksichtigt wird?!? Ich stehe irgendwie auf dem Schlauch.. :wall: Wäre dankbar für jeden Hinweis. Viele Grüße aus dem Südwesten, frieder |
AW: Schleifenproblem / Logikproblem?
Was mir spontan einfällt:
Code:
-Suche nach der 2
--Teste die nächste Stelle, wenn falsch abbrechen --wenn richtig: eine Stelle weiter gehen und den vorherigen Schritt wiederholen |
AW: Schleifenproblem / Logikproblem?
Könnte man nicht einfach Pos() auf Stringlist.Text anwenden? Zumindest, solange alle Strings nur 1 Zeichen enthalten, sollte das doch das richtige Ergebnis bringen, oder?
|
AW: Schleifenproblem / Logikproblem?
Oh mann, ich stand echt aufm Schlauch. Im Grunde müsste es so reichen:
Kotextstrings: n Prüfstrings: n
Delphi-Quellcode:
Ich hab um 10 Ecken rum gedacht.. Danke!
for i:= positionslistederAusgangsstrings - 1 downto 0 do
for ii:=0 to n do if Kotextstrings[ii] <> prüfstrings[i] then positionslistederAusgangsstrings.löscheItem(i); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 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 by Thomas Breitkreuz