Moin,
habe mich auch mal dran versucht...
Delphi-Quellcode:
procedure TForm.ButtonClick(Sender: TObject);
var KombiListe:TStringList;
begin
KombiListe:=TStringList.Create;
try
kombi(KombiListe, 'abc');
// KombiListe enthält nun die Elemente
finally
KombiListe.free;
end;
end;
procedure TForm.kombi(Liste:TStrings; variable:string; fest:string = '');
var i:integer;
begin
if length(variable) > 2 then begin
for i:=1 to length(variable) do begin
kombi(Liste,
copy(variable, 1, i-1) + copy(variable, i+1, length(variable)),
fest + variable[i]);
end;
end
else begin
if length(variable) > 0 then
Liste.Append(fest + variable);
if length(variable) > 1 then
Liste.Append(fest + variable[2]+variable[1]);
end;
end;
Aber vorsicht bei langen Worten, dass kann dauern.
Wobei lang hier schon eine Zeichenkette mit 8 Zeichen ist!
MfG
Thorsten