Fórum Para um loopins em um While #230179
05/05/2004
0
Senhores eu possuo o codigo abaixo:
[b:34d5adf678]procedure TFrmGrupos.GrupoA;
begin
DmBanco.TbAnoAnterior.First;
while not Dmbanco.TbAnoAnterior.Eof do
begin
mAnoAnterior:=ColunaAnoAnterior.AsString;
DmBanco.TBConfirmacao.First;
while not DmBanco.TbConfirmacao.eof do
Begin
mConfirmacao:=ColunaConfirmacao.AsString;
If (mAnoAnterior=mConfirmacao) then
Begin
if (modalidade.AsString=´OK´) or (modalidade.AsString=´Ok´) then
Begin
CabecaA.Caption:=mAnoAnterior;
mCidadeA:=mAnoAnterior;
End;
End;
DmBanco.TbConfirmacao.Next;
end;
DmBanco.TBAnoAnterior.Next;
end;
end;[/b:34d5adf678]
e gostaria que quando o fosse localizado o arquivo ele fizesse uma parada e me trouxesse o arquivo. O que esta acontecendo é que ele não para e me traz o último registro da tabela.
No aguardo e obrigado
Wagner Marrane
Wagnermarrane
Curtir tópico
+ 0Posts
05/05/2004
Paulo_amorim
Quando ele achar, ponha o comando [b:33b9b33eeb]break;[/b:33b9b33eeb]
Espero que ajude
Até+
Gostei + 0
05/05/2004
Marco Salles
procedure TForm1.Button1Click(Sender: TObject); begin DmBanco.TbAnoAnterior.First;//va para o primeiro while not Dmbanco.TbAnoAnterior.Eof do begin mAnoAnterior:=ColunaAnoAnterior.AsString; DmBanco.TBConfirmacao.First;//va para o primeiro while not DmBanco.TbConfirmacao.eof do Begin mConfirmacao:=ColunaConfirmacao.AsString; If (mAnoAnterior=mConfirmacao) then Begin if (modalidade.AsString=´OK´) or (modalidade.AsString=´Ok´) then Begin CabecaA.Caption:=mAnoAnterior; mCidadeA:=mAnoAnterior; Break;//**********Comando Break conforme Paulo sugeriu End; End; DmBanco.TbConfirmacao.Next; end; DmBanco.TBAnoAnterior.Next; end; end;
Gostei + 0
05/05/2004
Marco Salles
procedure TFrmGrupos.GrupoA; var parar:Boolean; //variavel que iremos usar como Flag begin parar:=False; DmBanco.TbAnoAnterior.First;//va para o primeiro while not Dmbanco.TbAnoAnterior.Eof do begin mAnoAnterior:=ColunaAnoAnterior.AsString; DmBanco.TBConfirmacao.First;//va para o primeiro while not DmBanco.TbConfirmacao.eof do Begin mConfirmacao:=ColunaConfirmacao.AsString; If (mAnoAnterior=mConfirmacao) then Begin if (modalidade.AsString=´OK´) or (modalidade.AsString=´Ok´) then Begin CabecaA.Caption:=mAnoAnterior; mCidadeA:=mAnoAnterior; Parar:=True; End; End; DmBanco.TbConfirmacao.Next; end; if parar Then DmBanco.TBAnoAnterior.Next else Break;//acho que e aqui que deve ser colocado end; end;
Gostei + 0
05/05/2004
Marco Salles
Código:
procedure TFrmGrupos.GrupoA; var parar:Boolean; //variavel que iremos usar como Flag begin parar:=False; DmBanco.TbAnoAnterior.First;//va para o primeiro while not Dmbanco.TbAnoAnterior.Eof do begin mAnoAnterior:=ColunaAnoAnterior.AsString; DmBanco.TBConfirmacao.First;//va para o primeiro while not DmBanco.TbConfirmacao.eof do Begin mConfirmacao:=ColunaConfirmacao.AsString; If (mAnoAnterior=mConfirmacao) then Begin if (modalidade.AsString=´OK´)or(modalidade.AsString=´Ok´) then Begin CabecaA.Caption:=mAnoAnterior; mCidadeA:=mAnoAnterior; Parar:=True; End; End; DmBanco.TbConfirmacao.Next; end; if not parar Then DmBanco.TBAnoAnterior.Next else Break;//acho que e aqui que deve ser colocado end; end;
Gostei + 0
05/05/2004
Paulo_amorim
[/quote:3cc6c369ce]
Olá
É verdade, não tinha percebido!
Entretanto, se o que aprocedure faz é só isso, então pode-se dar um [b:3cc6c369ce]Exit[/b:3cc6c369ce] e resolve o problema :)
Gostei + 0
05/05/2004
Wagnermarrane
Abraço
Wagner
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)