mjmb Posted March 6, 2013 Report Share Posted March 6, 2013 Boa tarde, Em um get criei a execução de um bloco utilizando bKeyDown. Toda tecla digitada dentro do get ele executa uma função dentro de um bloco. Só que dentro deste bloco executa uma função que utiliza oGet:cText, e justamente o retorno do buffer não vem com o último caracter digitado, o caracter que acionou o bkeydown. Existe uma maneira ou comando para que oGet:cText retorne atualizado juntamente com a última tecla precionada? Obrigado. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 6, 2013 Report Share Posted March 6, 2013 Mostre o codigo, fica + fácil. Quote Link to comment Share on other sites More sharing options...
mjmb Posted March 6, 2013 Author Report Share Posted March 6, 2013 REDEFINE GET oGet22 VAR vdesproduto ID 122 OF oFld:adialogs[ 2 ] PICTURE "@!" UPDATE oGet22:bKeydown := { || BrwProdutoAtualizar() } Static Func BrwProdutoAtualizar() SQLAbrir("produtos",2,,9999999999,,,"conproorc") Locate for conproorc->descricao >= oGet22:cText ///// O PROBLEMA É QUE O oGet22:cText NÃO RETORNA ATUALIZADO COM A ÚLTIMA TECLA QUE ACIONOU A FUNÇÃO... SEMPRE RETORNA FALTANDO O ÚLTIMO CARACTER. if conproorc->(Eof()) conproorc->(dbskip(-1)) Endif oBrw2:Refresh() Return nil Quote Link to comment Share on other sites More sharing options...
Theotokos Posted March 6, 2013 Report Share Posted March 6, 2013 Eu faço com ON CHANGE esta rotina... Tente Assim: REDEFINE GET oGet22 VAR vdesproduto ID 122 OF oFld:adialogs[ 2 ] PICTURE "@!" UPDATE ON CHANGE BrwProdutoAtualizar() Quote Link to comment Share on other sites More sharing options...
mjmb Posted March 6, 2013 Author Report Share Posted March 6, 2013 Obrigado gente, o ON CHANGE funcionou legal. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.