Hi,
unabhängig vom Sinn und Zweck der Übung:
Delphi-Quellcode:
procedure PermuteCase (s: string; L: TStrings);
var
SL : TStringList;
chars : array [Boolean] of string;
i, j : Integer;
begin
SL := TStringList.Create;
SL.Sorted := True;
SL.Duplicates := dupIgnore;
SL.CaseSensitive := True;
chars[False] := AnsiLowerCase(s);
chars[True] := AnsiUpperCase(s);
for i := 0 to Pred(1 shl Length(s)) do
begin
for j := 1 to Length(s) do
s[j] := chars[Odd(i shr Pred(j))][j];
SL.Add(s);
end;
L.Assign(SL);
SL.Free;
end;
Gruß Hawkeye