Fórum Hora maior que 24 #297536
28/09/2005
0
Eu estou fazendo:
StrToTime(´36´);
Mas 36 não é uma hora valida e eu gostaria que fosse, qp elea é uma somatorias de varias horas.
Obrigada
Celamar
Curtir tópico
+ 0Posts
28/09/2005
Rjun
Gostei + 0
28/09/2005
Celamar
//total previsto sTotalPrevisto := IntToStr(iTotalDias * iCargaHoraria); lbTotalPrevisto.Caption := sTotalPrevisto + ´:00´; //total executado lbTotalExecutado.Caption := TimeToStr(tTotalExecutado); //saldo tTeste := StrTotime(sTotalPrevisto); lbSaldo.Caption := TimeToStr(tTotalExecutado - tTeste);
O numero de horas previsto no mês
O numero de horas trabalhadas
E O Saldo
Gostei + 0
28/09/2005
Rjun
Gostei + 0
28/09/2005
Massuda
var iTotalPrevisto: Integer; ... //total previsto iTotalPrevisto := iTotalDias * iCargaHoraria; sTotalPrevisto := IntToStr(iTotalPrevisto); lbTotalPrevisto.Caption := sTotalPrevisto + ´:00´; //total executado lbTotalExecutado.Caption := TimeToStr(tTotalExecutado); //saldo tTeste := iTotalPrevisto / 24; lbSaldo.Caption := FormatDateTime(´d h:mm:ss´ , tTotalExecutado - tTeste);
Gostei + 0
28/09/2005
Celamar
Gostei + 0
28/09/2005
Celamar
Obrigada
Gostei + 0
29/09/2005
Celamar
Dia um = 12:00
Dia dois = 10:00
Dia tres = 8:00
Total = 30:00h
Obrigada
Gostei + 0
29/09/2005
Massuda
Para exibir o valor da forma que você quer, use uma função para formatar parecida com esta...
function Exemplo(T: TTime): string; var H, M, S, MS: Word begin DecodeTime(T, H, M, S, MS); Result := Format(´¬d:¬02d:¬02d´, [Int(T)*24 + H, M, S]); end;
Gostei + 0
29/09/2005
Celamar
DecodeTime(tPrevistoAux, H, M, S, MS);
lbSaldo.Caption := Format(´¬d:¬02d:¬02d´, [Int(tPrevistoAux)*24 + H, M, S]);
Erro: Format ¬d invalid or incompatible with argument
Gostei + 0
29/09/2005
Massuda
lbSaldo.Caption := Format(´¬d:¬02d:¬02d´, [Trunc(tPrevistoAux)*24 + H, M, S]);
Gostei + 0
29/09/2005
Luineumann
se vc controla apenas horas inteiras soma 1 a cada hora
se vc controla horas e minutos faz alguma coisa assim para armazenar
decodetime(tempo, hh, mm, ss, sss);
horas_a_somar := (hh * 60) + mm;
horas_totais := horas_totais + horas_a_somar;
no final do mês, decompoe o campom horas_totais
aux := horas_totais;
dias := 0;
horas := 0;
minutos := 0;
while aux > 23
do begin
dias := dias + 1;
aux := aux - 24;
end
while aux > 59
do begin
horas := horas + 1;
aux := aux - 60;
end;
minutos := aux;
ao final desta rotina vc tem o tempo total em dias, horas e minutos
Gostei + 0
29/09/2005
Celamar
- Total previsto = 28:00h
- Total realizado = 16:26
Para:
lbSaldo.Caption := Format(´¬d:¬02d:¬02d´, [Trunc(tPrevistoAux)*24 + H, M, S]);
Resultado = 672:0:0
Para: dias, horas, minutos
Resutlado = 9 dias, 0 horas 23 minutos
E teria que ser 11:34 devedor
Gostei + 0
29/09/2005
Martins
function Exemplo(T: TTime): string; var H, M, S, MS: Word begin DecodeTime(T, H, M, S, MS); Result := Format(´¬d:¬02d:¬02d´, [Int(T)*24 + H, M, S]); end;
E se vc mudar o [b:40c874e330]Int[/b:40c874e330] para [b:40c874e330]Trunc[/b:40c874e330], funcionária como vc quer?
Gostei + 0
29/09/2005
Massuda
Gostei + 0
29/09/2005
Martins
lbSaldo.Caption := Format(´¬d:¬02d:¬02d´, [Trunc(tPrevistoAux)*24 + H, M, S]);
É isso memso [b:3518da8088]Massuda[/b:3518da8088], mandou bem novamente, só pra variar, hehe!!!
t +
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)