wypisanie slow z podanego wzorca

0

hej
potrzebna jest mi funkcja wypisujaca wszystkie mozliwe slowa z zadanego wzorca tj.
wzorzec moze zawierac znak '?', ktory oznacza dowolna litere

np. '?fa' -> afa, bfa, cfa, ..., zfa
'???' -> aaa, aab, ..., zzz itp

podejrzewam, ze bez rekurencji sie nie obedzie
czy moglby mi ktos pomoc?
thx za wszelkie podpowiedzi

0

Albo mam DejaVu albo widziałem już dziś taki post w dziale Newbie.

0
Procedure TForm1.Maska(Prefix,Sufix:String);
Var I:Integer;
    J:Byte;
Begin
  I:=Pos('?',Sufix);
  If I=0 Then Memo.Lines.Append(Prefix+Sufix)
  Else
  Begin
    Prefix:=Prefix+Copy(Sufix,1,I-1);
    Delete(Sufix,1,I);
    For J:=Ord('a') To Ord('z') Do
      Maska(Prefix+Chr(J),Sufix);
  End;
End;

Nie sądze, żeby to było najlepsze rowiązanie, ale jest ;-)

Wywołujesz procedurę Maska('',Edit.Text);
W Edit znajduje się maska, a w Memo będzie wyświetlony wynik.

0

A nie można w Delphi zastosować wyrażeń regularnych.
Byłoby to najlepsze rozwiązanie a z tego co pamiętam
to była taka możliwość.

0

Wielkie dzieki za podpowiedzi
Wlasnie o to mi chodzilo [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1