Hola: defino el siguiente procedimiento recursivo:
Código Delphi
[-]procedure Tform1.brute(n:integer; str:string);
var
ord:integer;
begin
if (n > 0)then
begin
for ord := 65 to 90 do
begin
brute(n-1, str+chr(ord));
end
end
else
begin
se ponga a true
asmCode(str);
if(final = true) then
begin
// Aquí es donde quiero salirme del todo
exit;
end
end;
end;
Este procedimiento (de forma más o menos afortunada) genera todas cadenas posible compuestas por letras mayúsculas de "n" caracteres. Es llamado desde pongamos por caso, el procedimiento X.
Llegado el momento quiero que cuando se den determindas circunstancias (cuando final sea true) no siga calculando combinaciones, es decir, deseo salirme del todo, no sólo del procedimiento actual, sino que vuelva al procedimiento X. Con exit (el ejemplo que muestro), no funciona ya que se sale del procedimiento brute, pero continúa calculando combinaciones.
Espero haberme explicado.
Gracias de antemano y un saludo.