Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) erro ao fazer o sistema avisar datas importantes


flavioavilela

Pergunta

boa tarde a todos...

no meu sistema eu fiz o ele mesmo avisar algumas datas lançadas, por exemplo, a data de pagamento de uma conta... se tiver uma conta vencendo hoje, ele avisa na tela com uma mensagem.... mas agora, eu queria fazer ele avisar 1, 2, 3 dias antes da conta vencer.... alguém da uma luz???

obs.: estou fazendo um locate na tabela de contas a pagar e verificando se tem alguma conta vencendo hoje...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá companheiro.

Faz o seu sistema varrer as datas de vencimento e, a cada registro, você soma a data de vencimento com o número de dias do prazo que você escolher. Se for maior ou igual a data atual emite o aviso.

Por exemplo: Se você quer saber com 3 dias de antecedência, a cada registro, você soma 3 a data de vencimento. Se o resultado for maior ou igual a data atual emite o aviso.

Espero ter te ajudado.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

acho que a questão não é nem varrer toda a tabela, pois, se ele achou uma ocorrencia se quser de uma data igual a de hoje, já emite a mensagem, por isso uso o locate...

tipo, dessa forma que você disse ficaria meio assim: a conta vence dia 1... hoje é 28... eu mandei avisar com 3 dias de antecedencia...

28 + 3 = 31

ai amanha é 1 e já é o dia de pagar a conta... ou seja, ele avisou só um dia... eu queria tipo, hoje é 28, o sistema avisar que faltam 3 dias pra vencer a conta... amanha é 29, faltam 2, amanha é 30, faltam 1 e por ai vai, saca????

Link para o comentário
Compartilhar em outros sites

  • 0
Por exemplo: Se você quer saber com 3 dias de antecedência, a cada registro, você soma 3 a data de vencimento. Se o resultado for maior ou igual a data atual emite o aviso.
Neste caso é o contrário, a data atual voce soma 3. Se o resultado for menor ou igual a data atual emite o aviso.

exemplo simples para voce melhorar

procedure TForm1.Button1Click(Sender: TObject);

var DataAt, DataVc : TDate;

begin

DataAt := now;

DataVc := DataAt + 3;

if (dayofweek(DataVc))= 1 then

showmessage('Esta data cai num domingo')

else if (dayofweek(DataVc))= 7 then

showmessage('Esta data cai num sábado');

if DataAt < DataVc then

showmessage('Vencimento em ' + datetostr(DataVc));

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

tipo, não sei se estamos falando a mesma lingua rsrsrs...

vou pegar o exemplo das contas a pagar... aqui tem contas vencendo hoje, amanha, daqui um mes e por ai vai...

se eu pegar e colocar, por exemplo, a data de hoje e verificar com a data de hoje + dias de aviso, não vou estar verificando com a data do vencimento... que é o que eu quero...

eu fiz esse mesmo esquema ai com a data do vencimento... verifiquei a data de vencimento + 3 com a data de hoje... mas, obviamente, sempre havera contas com datas maiores com a de hoje, ai não da certo... já fiz vários esquemas aqui, até usando um select com uma query, mas tb não deu certo...

Link para o comentário
Compartilhar em outros sites

  • 0
... eu queria tipo, hoje é 28, o sistema avisar que faltam 3 dias pra vencer a conta... amanha é 29, faltam 2, amanha é 30, faltam 1 e por ai vai, saca????

Nesse caso então você subtrai a data de vencimento com a data atual, se o resultado for menor ou igual a 3, então mostra a mensagem que faltam (DataHoje - DataVencimento) dias.

Caso o resultado da subtração seja 0 a conta vence hoje, se for negativo então a conta já venceu.

Eu coloquei errado no meu primeiro post.

O correto é: soma 3 a data de hoje, se o resultado for maior ou igual a data de vencimento, então emite o aviso.

Abraço.

Editado por RonaldoRG
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...