Timer em Delphi que executa de tempo em tempo
Gostaria de saber , Queria saber como programo um Timer que executa código a cada 50 segundos ou outro intervalo
Rodrigo Martins
Curtidas 1
Melhor post
Dorivan Sousa
29/06/2015
configura a propriedade interval do timer... para cada segundo multiplique por 1000 (mil)... e programe o evento onTimer
GOSTEI 2
Mais Respostas
Rodrigo Oliveira
27/06/2015
Martins, pode dar um retorno para o nosso amigo Dorivan?
GOSTEI 1
Rodrigo Martins
27/06/2015
Obrigado! , Deu certo, coloquei 50 segundos, eu atualizo uns dados do grid via rede! dai o timer me ajudou a da um refresh meio que na força bruta!
GOSTEI 0
Dorivan Sousa
27/06/2015
se tiver usando firebird ao inves de usar timer usa o EXCEPTION/POST EVENT... se vc usar time e ficar a todo momento consultando dados vai consumir muitos recursos...
com o exception do firebird vc dispara ele em uma trigger e toda vez que a tabela for modificada vc recebe um aviso na aplicacao e ai atualiza a tela.
pra capturar pode usar o IBEvents(interbase) ou o FDEventAlert (firedac) evento onalert
com o exception do firebird vc dispara ele em uma trigger e toda vez que a tabela for modificada vc recebe um aviso na aplicacao e ai atualiza a tela.
CREATE EXCEPTION MVTO_CAIXA_ALTERADA 'Movimentos do Caixa Alterado, Incluido ou Excluido';
SET TERM ^; CREATE TRIGGER MVTO_CAIXA_AIUD0 FOR MVTO_CAIXA ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0 AS begin POST_EVENT 'MVTO_CAIXA_ALTERADA'; end ^ COMMIT WORK ^ SET TERM ;^
pra capturar pode usar o IBEvents(interbase) ou o FDEventAlert (firedac) evento onalert
if AEventName='MVTO_LIBERADO' then
begin
aqui vc faz a chamada da sua consulta
end;
GOSTEI 1
Rodrigo Oliveira
27/06/2015
Valeu pelo retorno, pode colocar a solução?
GOSTEI 0
Rodrigo Martins
27/06/2015
Ok , obrigado estou fazendo no interbase, irei testar aqui !
GOSTEI 0
Robson Morais
27/06/2015
porque desse exception ?
CREATE EXCEPTION MVTO_CAIXA_ALTERADA 'Movimentos do Caixa Alterado, Incluido ou Excluido';
se tiver usando firebird ao inves de usar timer usa o EXCEPTION/POST EVENT... se vc usar time e ficar a todo momento consultando dados vai consumir muitos recursos...
com o exception do firebird vc dispara ele em uma trigger e toda vez que a tabela for modificada vc recebe um aviso na aplicacao e ai atualiza a tela.
pra capturar pode usar o IBEvents(interbase) ou o FDEventAlert (firedac) evento onalert
com o exception do firebird vc dispara ele em uma trigger e toda vez que a tabela for modificada vc recebe um aviso na aplicacao e ai atualiza a tela.
CREATE EXCEPTION MVTO_CAIXA_ALTERADA 'Movimentos do Caixa Alterado, Incluido ou Excluido';
SET TERM ^; CREATE TRIGGER MVTO_CAIXA_AIUD0 FOR MVTO_CAIXA ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0 AS begin POST_EVENT 'MVTO_CAIXA_ALTERADA'; end ^ COMMIT WORK ^ SET TERM ;^
pra capturar pode usar o IBEvents(interbase) ou o FDEventAlert (firedac) evento onalert
if AEventName='MVTO_LIBERADO' then
begin
aqui vc faz a chamada da sua consulta
end;
GOSTEI 0
Hélio Devmedia
27/06/2015
porque desse exception ?
CREATE EXCEPTION MVTO_CAIXA_ALTERADA 'Movimentos do Caixa Alterado, Incluido ou Excluido';
Na verdade não precisa.
A exception no Banco é uma forma de você armazenar uma string de aviso e disparar quando necessário. pode ser chamada dentro de uma procedure, trigger ou comandos plSQL.
Por exemplo, você pode criar uma exception chamado VALOR_NEGATIVO com uma descrição amigável ao usuário e colocar num campo da tabela de venda uma regra que se o valor for negativo ele dispara a exceção. Se alguem informar -1 ele não vai deixar gravar e vai apresentar a descrição amigável que você escreveu para o usuário.
Mas se você quiser disparar o POST_EVENT 'MVTO_CAIXA_ALTERADA' sem criar uma exception de mesmo nome, também dá certo...
GOSTEI 0