Hawkeye, ich weiss nicht, was ich sagen soll.
Als ich diese Frage gestellt habe, hätte ich niemals gedacht, dass ich es jemals selber schaffe.
Aber deine Beschreibung war so genial einfach, dass ich es gleich beim ersten Versuch geschafft habe.
Delphi-Quellcode:
procedure a1(const mask:string);
var s:string;
procedure a2(n:byte);
var c,c1,c2:char;
begin
if n >= length(mask)+1 then
listbox1.Items.add(s)
else
begin
case mask[n] of
'l':
begin
c1:='a';
c2:='z';
end;
'u':
begin
c1:='A';
c2:='Z';
end;
'd':
begin
c1:='0';
c2:='9';
end;
end;
for c := c1 to c2 do
begin
s[n]:=c;
a2(n+1);
end;
end;
end;
begin
setlength(s,length(mask));
a2(1);
end;
Wie man sieht, ist noch lange nicht perfekt und es fehlt noch einiges, aber den Rest kriege ich auch noch hin.
Jedenfalls vielen Dank, dass du geantwortet hast!