contagem regressiva

Delphi

22/09/2005

Olá, alguém sabe como posso fazer contagem regressiva de uma data, por exemplo tenho uma data gravada numa tabela, e preciso que quando faltam 5 dias para chegar a data, o sistema me avise, alguém tem idéia?


Daia

Daia

Curtidas 0

Respostas

Facc

Facc

22/09/2005

Olá, alguém sabe como posso fazer contagem regressiva de uma data, por exemplo tenho uma data gravada numa tabela, e preciso que quando faltam 5 dias para chegar a data, o sistema me avise, alguém tem idéia?


Creio que se vc fizer assim
if Data_do_Banco - Data_Hoje = 5 then
  ShowMessage(´Faltam 5 dias´)


Eu não testei


GOSTEI 0
Rjun

Rjun

22/09/2005

Esse aviso precisa ser exibido quando você abre a aplicação? Você pode pegar a data do banco de dados e subtrair da data atual.

if (DataBanco - Date) <= 5 then
  ShowMessage(´Aviso´);



GOSTEI 0
Daia

Daia

22/09/2005

if (dteData.Text - Work1.FieldByName(´dtProgManut´).AsString) <=5 then showmessage
(´Fazer manutenção´);

Fiz assim, mas dá o seguinte erro:
Operator not applicable to this operand type
Alguém??


GOSTEI 0
Rjun

Rjun

22/09/2005

Você esta tentando subtrair strings. Faça com datas mesmo. Utilize Date para pegar a data atual. O campo dtProgManut deve ser do tipo date. Pelo jeito ele é desse tipo.

if (Date - Work1.FieldByName(´dtProgManut´).Value) <=5 then   
  ShowMessage(´Fazer manutenção´); 



GOSTEI 0
Daia

Daia

22/09/2005

Consegui, obrigada...
Mais uma pergunta: se eu entrar no sistema amanhã ele vai me dizer que ao invés de cinco dias, faltam quatro??? Ou preciso mudar meu código??


GOSTEI 0
Rjun

Rjun

22/09/2005

No seu código você não exibe o tempo que falta. Mas basta você colocar no seu código.

var
  prazo: integer;
begin
  prazo := Date - Work1.FieldByName(´dtProgManut´).Value

  if (prazo <= 5) then
    ShowMessage(´Falta(m) ´ + IntToStr(Prazo) + ´ dia(s) para manutenção.´);



GOSTEI 0
Daia

Daia

22/09/2005

muito obrigada!!! Funcionou!!!!!


GOSTEI 0
POSTAR