Code:
procedure TForm_Main.Generator;
var
stellen, max, i, j, k : Integer;
pos : Array of Integer;
s : String;
begin
stellen := 2;
max:= 3;
SetLength(pos, stellen);
k := StrToInt(FloatToStr(power(max, stellen)));
for i:= 0 To stellen-1 do
pos[i]:=1;
for i:= 1 to k do begin
s:='';
Inc(pos[0]);
for j:=0 To stellen -1 do
if pos[j]=max+1 then begin
pos[j]:=1;
if high(pos) < pos[j+1] then Inc(pos[j+1]);
end;
for j:=0 To stellen-1 do
s:=s+IntToStr(pos[j]);
Memo_Output.Lines.Add(s);
end;
end;
Ich hab nun eine Abfrage hinzugefügt, allerdings sind nun alle "doppelzahlen" (22,33) immer 11 :/