Fórum Timer em Delphi que executa de tempo em tempo #524257

27/06/2015

0

Gostaria de saber , Queria saber como programo um Timer que executa código a cada 50 segundos ou outro intervalo
Rodrigo Martins

Rodrigo Martins

Responder

Post mais votado

29/06/2015

configura a propriedade interval do timer... para cada segundo multiplique por 1000 (mil)... e programe o evento onTimer

Dorivan Sousa

Dorivan Sousa
Responder

Gostei + 2

Mais Posts

30/06/2015

Rodrigo Oliveira

Martins, pode dar um retorno para o nosso amigo Dorivan?
Responder

Gostei + 1

02/07/2015

Rodrigo Martins

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!
Responder

Gostei + 0

02/07/2015

Dorivan Sousa

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.

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;
Responder

Gostei + 1

03/07/2015

Rodrigo Oliveira

Valeu pelo retorno, pode colocar a solução?
Responder

Gostei + 0

03/07/2015

Rodrigo Martins

Ok , obrigado estou fazendo no interbase, irei testar aqui !
Responder

Gostei + 0

24/02/2019

Robson Morais

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.

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;
Responder

Gostei + 0

25/02/2019

Hélio Devmedia

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...

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar