Página 1 de 1

Refresh em Dbedit.

Enviado: 27 Nov 2008 16:44
por Ademir
Boa tarde amigos:

Tenho uma função de usuário para tratar as teclas digitados no Dbedit. Ela verifica as teclas de exceção quando modo=4 e executa a rotina que preciso para cada tecla. O problema é que como o sistema funciona em rede, preciso manter o arquivo atualizado em todas as estações. Já consegui, por exemplo, atualizar configurando o F10 para dar um refresh manual e funciona dessa forma:

Código: Selecionar todos

func myfunc(modo)
if modo=1
   mens(´Inicio do arquivo.´)
endif
if modo=2
   mens(´Fim do arquivo´)
endif
if modo=4
   if lastkey()=-9
      return 2
   endif
   if lastkey()=-1 // pesquisar por codigo
      return 0
   endif
   ...
   ...
   ...
endif
return 1
As rotinas no meu programa são executadas fora da função do usuário. O função reconhece a tecla pressionada, abandona a dbedit(), executa a rotina e retorna a dbedit o que força o refresh na estação onde é executada:

Código: Selecionar todos

do while .t.
   dbedit(li,ci,lf,cf,´myfunc´,,,,)
   if lastkey()=-1
       .....
    endif
enddo
O que preciso é de um refresh automático (por tempo / a cada n segundos). Fazendo manualmente, funciona, como no exemplo do F10.

Espero que tenham entendido meu problema.

Grato

Ademir.

Re: Refresh em Dbedit.

Enviado: 27 Nov 2008 18:09
por Ademir
Em tempo.... O F10 não está funcionando retornando 2... funciona retornando 0, pois como ele abandona o dbedit e não é uma função tratada como rotina válida, ele retorna a dbedit atualizando-a.

Re: Refresh em Dbedit.

Enviado: 27 Nov 2008 22:29
por gvc
O DBEdit não foi projetado para funcionar como vc esta querendo.

Para atender sua necessidade veja o Browse, ele permite colocar tempo para refazer a tela. Só para constar, o DBEdit é baseado nele.