Ir para conteúdo
  • Cadastre-se

dev botao

Hora para decimais


  • Este tópico foi criado há 2833 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

olá pessoal

to um uma duvida que n estou conseguindo resolver nem por decreto 

estou fazendo cálculos em horas e tenho que somar total de horas e dividir pelo total valor ex: 230:27 / 2516,20

mas para funcionar perteitamente tenho que converter essas 203:27 pra tipo float

no excel so uso (230:27)*24 vai dar 320,45

mas no delphi n estou conseguindo pois essa hora n é uma hora valida para ele, alguem tem alguma sujestao ???

 

 

grato

 

http://www.rdwtecnologia.com.br/

Rodnei Hernandes Lino

Um pouco ce conhecimento é uma coisa perigosa.

Então é muito. (-Albert Einstein)

Guaíra-SP

Link para o comentário
Compartilhar em outros sites

Bom dia,

Até onde me lembro, o Delphi (tipo TDateTime) só trabalha com "hora do relógio", entre 00:00 e 23:59...

Uma vez fiz uma coisa parecida, onde convertia e somava sempre em minutos...

Acho que era assim, segue um exemplo: 

45:40 + 04:17 (quarenta e cinco horas e quarenta minutos MAIS quatro horas e dezessete minutos)

45 * 60 = 2700 mais 40 minutos: 2700 + 40 = 2740

4 * 60 = 240 mais 17 minutos: 257

2740 + 257 = 2997 (total de minutos)

2997 div 60 = 49 (divisão inteira = 49 horas)

2997 mod 60 = 57 (resto da divisão por 60 = 57 minutos)

resultado final = 49:57 (quarenta e nove horas e cinquenta e sete minutos)

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

Segue funções que utilizo pra conversão de hora normal pra centesimal

 

function HoraToCent(Hora :TTime):Real ;
var
 HrVR   : Real ;
 HrCent : Real ;
begin
 HrVR   := StrToFloat(Copy(TimeToSTR(HORA),1,2)+','+Copy(TimeToSTR(HORA),4,2));
 HrCent := int(hrvr)+((HrVr-Int(HrVr))/60*100);
 result := hrcent ;
end;

function CentToHora(HrCente:Real):String ;
var
 HrNormal : String ;
begin
 HrNormal := FormatFloat('00.00',(int(HrCente)+((HrCente-Int(HrCente))*60/100)));
 HrNormal := copy(HrNormal,1,2)+':'+copy(HrNormal,4,2);
 result := HrNormal ;
end;

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2833 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...