Ir para conteúdo

POWERED BY:

Arquivado

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

João Paulo Taraciuk

contagem de datas

Recommended Posts

Boa tarde a todos, estou trabalhando em uma agenda, onde coloquei uma função que faz a leitura do banco de dados de 5 em 5 minutos para verificar se tem algum compromisso nos próximos cinco minutos e mostra um form e um Beep, estou encontrando dificuldades na hora de fazer comparar a data do banco com a data atual, estou utilizando a seguinte função

 

function Tfrm_principal.lendobanco: Boolean;

var

dia : TDate;

begin

dia:=Date;

DM_agenda.ZQry_consulta.Active:=False;

DM_agenda.ZQry_consulta.SQL.Clear;

DM_agenda.ZQry_consulta.SQL.Add('select * from cadastro_eventos where data =:date');

DM_agenda.ZQry_consulta.ParamByName('date').Value:=dia;

DM_agenda.ZQry_consulta.Active:= True;

ShowMessage(IntToStr(DM_agenda.ZQry_consulta.RecordCount));

 

então, se eu coloco desta maneira, como está, não retorna valor nenhum, agora se eu coloco na linha

DM_agenda.ZQry_consulta.ParamByName('date').Value:=Edit1.text;

e insiro uma data desta maneira 2007/12/20 no edit, ele retorna exatamente o número de eventos cadastrados para esta data, aí eu pensei, se tivesse como mudar o formato da data que será recebida pela variável, por que ela é inserida em um MaskEdit, __/__/_____

E também gostaria de saber como faço uma função para subtrair da hora normal 5 minutos, tentei esta função mas não deu certo, retorna 01/12/188/99 , neste sistema, mas em um outro ela funciona perfeitamente, alguém saba me dizer por quê?

var

Hora : TTime;

Hora := IncMinute(Hora, 5);

Se alguém puder me ajudar eu agradeço, Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente mudar a sua função para algo como:

 

function Tfrm_principal.lendobanco: Boolean;
begin
DM_agenda.ZQry_consulta.Close;
DM_agenda.ZQry_consulta.SQL.Clear;
DM_agenda.ZQry_consulta.SQL.Add('select *');
DM_agenda.ZQry_consulta.SQL.Add('from cadastro_eventos');
DM_agenda.ZQry_consulta.SQL.Add('where data = ''' + FormatDateTime('yyyy/MM/dd',Date) + ''');
DM_agenda.ZQry_consulta.Open;
ShowMessage(IntToStr(DM_agenda.ZQry_consulta.RecordCount));
end;

 

A segunda questão, no seu caso não esta funcionando o IncMinuto visto que não atribui valor ao campo hora, pequeno exemplo de como poderia fazer:

 

ShowMessage(DateTimeToStr(IncMinute(now,5)));

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.