Código Delphi
[-]function CreaCadenaRecursiva(Cadena, Resultado : string; Posicion, Longitud, MaxLongitud : integer) : string;
var
f : TextFile;
s : string;
begin
if (Longitud > MaxLongitud) then
exit;
if (Posicion = Longitud) then
CreaCadenaRecursiva(Cadena, Resultado,1,Longitud+1, MaxLongitud);
else
begin
Resultado := Resultado + Cadena[Posicion];
AssignFile(f,'palabras.txt');
Append(f);
writeln(f,Resultado);
CloseFile(f);
CreaCadenaRecursiva(Cadena, Resultado,Posicion+1,Longitud, MaxLongitud);
end;
end;
Deberás llamar a esta función así:
Código Delphi
[-]function CreaCadenaRecursiva('abc', r ,1 ,1 , 5)
No la he probado, por lo que puede que contenga errores.