como interromper um Do While teclando Esc

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

como interromper um Do While teclando Esc

Mensagem por porter »

ola pessoal, gostaria de saber como faço para interromper um Do While, na rotina abaixo, é feito um processamento e mostrando o contador na function MostraMsg, mas dessa forma nao esta dando certo.

Código: Selecionar todos

DO WHILE OrdWildSeek(cBusca,iif(nPas_= 0,.F.,.t.) ) .and. while MostraMsg()
      registro[nPas_] := RECNO()
ENDDO

Func MostraMsg()
   if inkey() = 27
      return .f.
   endif
   @ 24,00 SAY padc("Procurando Registro => " + LTrim( Str( Recn() ) + " <Esc Interrompe >" ),80)
   return .t.
obrigado.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

como interromper um Do While teclando Esc

Mensagem por Jairo Maia »

Olá Porter,

Altere a primeira linha que está assim:

Código: Selecionar todos

DO WHILE OrdWildSeek(cBusca,iif(nPas_= 0,.F.,.t.) ) .and. while MostraMsg()
Para essa forma:

Código: Selecionar todos

DO WHILE OrdWildSeek(cBusca,iif(nPas_= 0,.F.,.t.) ) .and. MostraMsg()
Ou seja, remova o While que precede MostraMsg(). Acho que é isso.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

como interromper um Do While teclando Esc

Mensagem por porter »

obrigado Jairo, agora deu certo.
Responder