Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonardosombra

Programa rodar em intervalo de tempo

Recommended Posts

Olá,Estou precisando de desenvolver um programinha que vai ficar rodando no servidor num intervalo de tempo programado, a programação do intervalo vai ser feita em tempo de execução, no form vai ter os componentes necessários para que a pessoa diga o intervalo de tempo.Preciso saber como faço para fazer essa programação do intervalo de tempo, conheço um pouco de Delphi, mas isso ainda tá meio fora do meu alcance.Estou com o Delphi 2006 instalado, mas dicas em Delphi 7 também serão bem-vindas.Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tenho uma solução para você bem facil eu fiz um exemplo para você bem simples bastar fazer isso

 

1 - inclua uma label

2 - inclua um timer com name timer

 

Codigo

Incluca no form abaixo

VarTempo: integer = 120;

No caso eu programei para 2 minutos que é 120 segundos para você mudar é so mudar o valor que esta em 120 pelo valor que você quer

procedure TForm1.TimerTimer(Sender: TObject);begintimer.enabled:=true;tempo:= tempo - 1;label1.Caption:='Falta '  +(INTTOSTR(tempo))+ ' segundos' + ' para o programa ser fechado';if tempo = 0 thenbeginTimer.enabled:=false;close;tempo:=120;end;end;
Espero ter ajudado !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tenho uma solução para você bem facil eu fiz um exemplo para você bem simples bastar fazer isso

 

1 - inclua uma label

2 - inclua um timer com name timer

 

Codigo

Incluca no form abaixo

VarTempo: integer = 120;

No caso eu programei para 2 minutos que é 120 segundos para você mudar é so mudar o valor que esta em 120 pelo valor que você quer

procedure TForm1.TimerTimer(Sender: TObject);begintimer.enabled:=true;tempo:= tempo - 1;label1.Caption:='Falta '  +(INTTOSTR(tempo))+ ' segundos' + ' para o programa ser fechado';if tempo = 0 thenbeginTimer.enabled:=false;close;tempo:=120;end;end;
Espero ter ajudado !!

Ótima explicação a sua...

Mas acho que não se encaixa no que eu preciso, o programa vai ficar como se fosse um serviço no servidor, e de tempo em tempo ele executa, se eu programa para 10 minutos, a cada 10 minutos o programa executa e é fechado, até que se passe mais 10 minutos...

 

Na tela já coloquei um TSpinButton para a pessoa indicar o valor em minutos, faço a conversão dos milissegundos para minutos e a pessoa escolhe a qtd de minutos do intervalo

 

// Atribuindo o valor de 1 minuto para a variável minuto - 1 minuto = 60000 milissegundos	Minuto := 60000;	Intervalo := spTempo.Value;	//Atribuindo o intervalor escolhido pelo usuário ao Timer	Timer1.Interval := Intervalo * Minuto;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no caso você quer fechar a sua aplicação, e abrir novamente somente depois de 10 minutos ?

Acho que isso não dá certo, mas ela ficaria tipo stand-by, como se executando como ícone perto do relógio...Executar, fechar e depois abrir novamente acho que só configurando no windows, mas não é isso que quero.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se rodar como serviço do windows, nem precisa criar um item ao lado do relógio, no caso pode somente ter um arquivo que ele lê de quanto em quanto tempo deve de disparar...

A questão do ícone perto do relógio foi só para ilustrar, mas não precisa disso, só quero que ele fique sendo executado de tempo em tempo, nas tarefas agendadas do windows não consegui fazer isso, só se fosse uma vez por dia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas justamente, você pode usar o componente Timer para ele controlar isto, nele você diz que quer que o mesmo execute a cada 10 minutos, isto ele mesmo irá controlar... Sendo que mesmo assim pode criar como registro do windows...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas justamente, você pode usar o componente Timer para ele controlar isto, nele você diz que quer que o mesmo execute a cada 10 minutos, isto ele mesmo irá controlar... Sendo que mesmo assim pode criar como registro do windows...

Estou bem enferrujado no Delphi, mas vou ver o que consigo...Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque este codigo no ontimer do timer , a variavel iIntervalo crie ela publica no form e nao na função

 

procedure TF_PRINCIPAL.Timer1Timer(Sender: TObject);
Var sData1:String;
begin
  SB_BARRA.Panels[3].Text :=  sDataAtual; //DateToStr(Date);
  SB_BARRA.Panels[4].Text := TimeToStr(Time);
  Inc(iIntervalo);
  IF iIntervalo = 1800 Then // avaliar a cada 30 minutos
  Begin
      [ aqui você inseri o codigo que deve ser executadoa cada intervalo de tempo ]

        iIntervalo := 0; a cada intervalo q o codigo for executado a variavel deve ser reiniciada
     End;
  End;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jssistemas,

 

Como pode observar, o assunto do tópico é datado no ano de 2006. Por favor, observe as datas dos tópicos e a fim de evitar desentar tópicos desnecessariamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.