LOCAL csel := "SELECT ...", Conexao, nProvTar := 1, oRs
Conexao := Conectado( nProvTar )
Conexao:Open()
oRs := conexao:Execute( cSel )
DO WHILE .T.
novobrowseado( 5, 3, MaxRow() - 7, MaxCol() - 2, @oRs )
nKey := LastKey()
IF nKey == K_ENTER
arq := oRs:Fields( "nrtarefa" ):Value
ENDIF
oRs:Close()
IF nKey = K_ENTER
chmfunc("entersql",arq,"S")
ELSEIF nKey == K_ESC
@ maxrow()-1,1 prompt "Finalizar consulta"
@ maxrow()-1,24 prompt "Reabrir mesmo item"
@ maxrow()-1,46 prompt "Refazer mesma consulta"
@ maxrow()-1,70 prompt "Incluir sem prioridade"
@ maxrow()-1,94 prompt "Incluir solucionados"
@ maxrow()-1,116 prompt "Incluir sem prioridade e solucionados"
MENU to opret
DO CASE
CASE opret=0 .OR. opret=1
EXIT
CASE opret=2
chmfunc("entersql",arq,"S")
CASE opret=4
prmzero="N"
CASE opret=5
nsol="S"
CASE opret=6
prmzero="N"
nsol="T"
ENDCASE
EXIT
ENDIF
ENDDO
RETURN NIL
E fica assim o DO WHILE do tbrowse:
DO WHILE .T.
oTBrowse:forceStable()
oTBrowse:refreshCurrent()
nKey := Inkey(0)
oTBrowse:ApplyKey( nKey )
IF nKey == K_ESC .OR. nKey == K_ENTER
EXIT
ENDIF
ENDDO
o oTBrowse:ApplyKey( nKey ) é o que navega
Vai sair com ESC ou ENTER, é isso que tá no tbrowse.
E no primeiro fonte, trata somente o que interessa