Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
Delphi 2010 Professional
|
AW: Zeichenketten nach Maske generieren
23. Feb 2011, 20:49
Herzlich Willkommen in der Delphi-PRAXiS, jan17!
Mit der Idee, eine Rekursion einzusetzen, bist du schon einmal auf dem richtigen Weg.
Ich würde zunächst mit SetLength einen Ausgabestring in der Länge des Musters vorbereiten und dann die rekursive Routine zum ersten Mal aufrufen (Stufe 1). In der Routine wird das Zeichen des Musters für die aktuelle Rekursionstiefe betracthtet und eine zugehörige Menge von erlaubten Zeichen ermittelt (z.B. als TSysCharSet). Nun können nacheinnander alle Zeichen dieser Menge an die zur Rekursionstiefe gehörende Stelle des Ausgabestrings geschrieben werden. Nach jedem Schritt wird geprüft, ob bereits die letzte Rekursionstiefe erreicht wurde. Falls ja, wird der aktuelle Ausgabestring zur Lösungsmenge hinzugefügt, anderenfalls die Routine erneut aufgerufen, um die nächste Rekursionstiefe zu erreichen (Stufe n+1).
Ich hoffe, diese Beschreibung war nicht zu kompliziert. Die notwendigen Statements hast du ja zum Teil schon in deinem geposteten Quelltext verwendet. Vielleicht ist die Umsetzung ja nun gar nicht mehr so schwer.
Gruß Hawkeye
|