Estou fazendo um sistema de falhas e preciso e preciso computar quanto tempo essa falha perdurou.
Já procurei sobre isso em alguns foruns mas sempre acho soluções usando hourbetween. Sei que essa solução pode resolver o meu problema mas não sei como aplicá-la. o meu problema é o seguinte, exemplo:
Uma falha ocorreu na data 13/10/2010 às 13:25:10h e só foi normalizada no Dia 14/10/2010 às 15:33:15h.
com o exemplo acima, o programa deve armazenar na variável "TempoIndisponivel" o total de horas em que a falha existiu, que nesse caso, preciso que seja 26:08:05h, ou seja, 26 horas, 8 minutos e 5 segundos.
Preciso que o sistema entenda que passaram-se 24 horas do início da falha e que some com as horas, minutos e segundos restantes do horário em que a falha terminou.
Estou usando Banco ACCESS o campo da Data inicial e final no access está com formato dd/mm/aaaa.
O campo hora inicial e final possuem formato hh:mm:ss.
Ainda não estou usando nenhum código para fazer isso. Tentei alguns mas não funcionaram. O método de acesso ao ACCESS é ADO.
encontrei a função abaixo do Micheus que é usuário desse mesmo fórum mas essa função não calcula os segundos. Se alguém puder me ajudar e mostrar um exemplo em um button eu agradeço muito!
Pergunta
Rafael Ricardo
Estou fazendo um sistema de falhas e preciso e preciso computar quanto tempo essa falha perdurou.
Já procurei sobre isso em alguns foruns mas sempre acho soluções usando hourbetween. Sei que essa solução pode resolver o meu problema mas não sei como aplicá-la. o meu problema é o seguinte, exemplo:
Uma falha ocorreu na data 13/10/2010 às 13:25:10h e só foi normalizada no Dia 14/10/2010 às 15:33:15h.
com o exemplo acima, o programa deve armazenar na variável "TempoIndisponivel" o total de horas em que a falha existiu, que nesse caso, preciso que seja 26:08:05h, ou seja, 26 horas, 8 minutos e 5 segundos.
Preciso que o sistema entenda que passaram-se 24 horas do início da falha e que some com as horas, minutos e segundos restantes do horário em que a falha terminou.
Estou usando Banco ACCESS o campo da Data inicial e final no access está com formato dd/mm/aaaa.
O campo hora inicial e final possuem formato hh:mm:ss.
Ainda não estou usando nenhum código para fazer isso. Tentei alguns mas não funcionaram. O método de acesso ao ACCESS é ADO.
encontrei a função abaixo do Micheus que é usuário desse mesmo fórum mas essa função não calcula os segundos. Se alguém puder me ajudar e mostrar um exemplo em um button eu agradeço muito!
-----------------------------------------------------------------------------------------------------------
function FullTimeToStr(SUMTime: TDateTime): string;
var
StrHor,
StrMin :string;
TotHor :double;
begin
TotHor := SUMTime *24;
if (TotHor -Trunc(TotHor)) > 0.9999 then
TotHor := Round(TotHor);
StrHor := FormatFloat('##0:', Int(TotHor));
StrMin := FormatDateTime('nn:ss', Frac(TotHor)/24);
Result := StrHor +StrMin;
end;
-----------------------------------------------------------------------------------------------------------
Muito Obrigado se alguém puder ajudar! :huh:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.