Como faço pra compara se uma HORA é maior que outra???
19/05/2003
0
estou tentando fazer uma comparação para saber se a minh hora atual está entre 2 valores gravados em um banco de dados ....
mas a minha condição nunca é verdade, não sei se estou usando o tipo errado de variavel ou outra coisa ...
o mesmo teste é o seguinte
var
hora:TDateTime;
begin
hora:=time;
DM_Rastreio.Q_Tabela.First;
if (hora>DM_Rastreio.Q_Tabelahora_ini.AsDateTime) and
(hora<DM_Rastreio.Q_Tabelahora_fim.AsDateTime) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;
a minha base de dados é MySQL os campos hora_ini e hora_fim são do tipo ´time´, estou usando DBExpress.
eu coloquei um Watch list e verifiquei que os campos ´DM_Rastreio.Q_Tabelahora_fim.AsDateTime´ estão sempre com valor 0 (Zero)
Com certeza o problema é esse. eu acho q deve ser por causa do AsDateTime. alguem sabe se tem um jeito de eu converter só para HORA?? sem o date...
Ou se acha q pode ser alguma outra coisa.
[]´s
mas a minha condição nunca é verdade, não sei se estou usando o tipo errado de variavel ou outra coisa ...
o mesmo teste é o seguinte
var
hora:TDateTime;
begin
hora:=time;
DM_Rastreio.Q_Tabela.First;
if (hora>DM_Rastreio.Q_Tabelahora_ini.AsDateTime) and
(hora<DM_Rastreio.Q_Tabelahora_fim.AsDateTime) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;
a minha base de dados é MySQL os campos hora_ini e hora_fim são do tipo ´time´, estou usando DBExpress.
eu coloquei um Watch list e verifiquei que os campos ´DM_Rastreio.Q_Tabelahora_fim.AsDateTime´ estão sempre com valor 0 (Zero)
Com certeza o problema é esse. eu acho q deve ser por causa do AsDateTime. alguem sabe se tem um jeito de eu converter só para HORA?? sem o date...
Ou se acha q pode ser alguma outra coisa.
[]´s
Sousa_thiago
Curtir tópico
+ 0
Responder
Posts
29/07/2003
Janete
var
hora:TTime;
begin
hora:=time; // se não func assim coloca Hora:=Now;
DM_Rastreio.Q_Tabela.First;
if (hora>DM_Rastreio.Q_Tabelahora_ini.AsTime) and
(hora<DM_Rastreio.Q_Tabelahora_fim.AsTime) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;
espero q d certo!
hora:TTime;
begin
hora:=time; // se não func assim coloca Hora:=Now;
DM_Rastreio.Q_Tabela.First;
if (hora>DM_Rastreio.Q_Tabelahora_ini.AsTime) and
(hora<DM_Rastreio.Q_Tabelahora_fim.AsTime) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;
espero q d certo!
Responder
29/07/2003
Rômulo Barros
Tenta o seguinte:
[color=red:ae2da9589a]var
hora,hora_ini,hora_fin:TTime;
begin
hora:=time;
hora_ini := DM_Rastreio.Q_TabelaHora_INI.AsTime;
hora_fin := DM_Rastreio.Q_TabelaHora_fim.AsTime;
DM_Rastreio.Q_Tabela.First;
if (hora>hora_ini) and
(hora<hora_fin) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;[/color:ae2da9589a]
[color=red:ae2da9589a]var
hora,hora_ini,hora_fin:TTime;
begin
hora:=time;
hora_ini := DM_Rastreio.Q_TabelaHora_INI.AsTime;
hora_fin := DM_Rastreio.Q_TabelaHora_fim.AsTime;
DM_Rastreio.Q_Tabela.First;
if (hora>hora_ini) and
(hora<hora_fin) then
result:= Transforma(DM_Rastreio.Q_Tabeladelay.asinteger);
end;[/color:ae2da9589a]
Responder
Clique aqui para fazer login e interagir na Comunidade :)