Dificuldade com LOOP
Caros amigos, tenho um problema para resolver:
Eu tenho dois FOR rodando um dentro do outro, até ai tudo bem, o problema é que eu tenho que interromper o processamento do segundo FOR sem interromper o processamento do 1º, alguem teria uma sugestão?
Eu tenho dois FOR rodando um dentro do outro, até ai tudo bem, o problema é que eu tenho que interromper o processamento do segundo FOR sem interromper o processamento do 1º, alguem teria uma sugestão?
Henry Lima
Curtidas 0
Respostas
Sandrost
29/10/2003
Olá Henry, tente utilizar o comando ´break´, veja abaixo um exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
i, x: Integer;
begin
for i:=0 to 100 do begin
for x:=0 to 100 do begin
Label1.Caption:=trim(inttostr(i))+´/´+trim(inttostr(x));
Label1.Refresh;
if x=25 then
break;
end;
end;
end;
Quando o valor de x for igual a 25 será interrompido o for interno passando a execução para o for externo.
Espero ter ajudado.
Sandro S. :D
procedure TForm1.Button1Click(Sender: TObject);
var
i, x: Integer;
begin
for i:=0 to 100 do begin
for x:=0 to 100 do begin
Label1.Caption:=trim(inttostr(i))+´/´+trim(inttostr(x));
Label1.Refresh;
if x=25 then
break;
end;
end;
end;
Quando o valor de x for igual a 25 será interrompido o for interno passando a execução para o for externo.
Espero ter ajudado.
Sandro S. :D
GOSTEI 0
Beppe
29/10/2003
O Delphi não fornece uma saída prática para isto. :x Mas tem dois jeitos: usando goto, ou uma variável.
Usando goto:
Criando uma variável:
Ataliba
Usando goto:
label Loop1;
var
I, J: Integer;
begin
for I := 0 to 10 do
begin
...
for J := 0 to 10 do
begin
...
if { condição para acabar os dois loops } then
goto Loop1;
...
end;
...
end;
Loop1:
//
end;Criando uma variável:
var
I, J: Integer;
Terminou: Boolean;
begin
Terminou := False;
for I := 0 to 10 do
begin
...
for J := 0 to 10 do
begin
...
if { condição para acabar os dois loops } then
begin
Terminou := True;
Break;
end;
...
end;
if Terminou then Break;
...
end;
Loop1:
//
end;Ataliba
GOSTEI 0