ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Calcular Hora Negativa e Positiva

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
weberley
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 14 de Agosto de 2008
Mensagens: 102

MensagemEnviada: Qui Fev 14, 2019 10:38 am    Assunto: Calcular Hora Negativa e Positiva Responder com Citação

olá a todos

tenho as seguintes Horas 01:04(uma hora e quatro minutos), -00:03(três minutos negativos), -00:26(vinte e seis minutos negativos) e queria o resultado deles que seria 00:35 como faço isso, por favor, me ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular  
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Fev 14, 2019 1:08 pm    Assunto: Responder com Citação

Boa tarde,

Onde estão armazenados esses horários?
São sempre 3 horários? O primeiro positivo e os outros negativos? Se não é dessa forma, como é possível saber qual é positivo e gual é negativo?


Editado pela última vez por imex em Sáb Set 30, 2023 5:44 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular  
weberley
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 14 de Agosto de 2008
Mensagens: 102

MensagemEnviada: Qui Fev 14, 2019 3:08 pm    Assunto: Responder com Citação

não estão armazanados em lugar nenhum, eles são o resultado do cartao de ponto, e eu quero calcular para saber se o funcionario ta devendo horas ou tem horas extras, e os negativos tem um sinal de menos como mostra acima
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular  
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Fev 14, 2019 5:41 pm    Assunto: Responder com Citação

Supondo a existência de 3 Edits no Form que contem os horários, segue uma sugestão de código para a soma dos horários:

Código:
procedure TForm1.Button2Click(Sender: TObject);

  function ObterHoraStrEmMinutos(HoraStr: string): integer;
  var
    Mult: integer;
    Hora: TDateTime;
  begin
    if Pos('-', HoraStr) > 0 then
        Mult := -1
    else
        Mult := 1;
    Hora := StrToTime(StringReplace(HoraStr, '-', '', []));
    Result := ( HourOf(Hora) * 60 + MinuteOf(Hora) ) * Mult;
  end;

var
  TotMinutos: integer;
begin
  TotMinutos := ObterHoraStrEmMinutos(Edit1.Text) +
                ObterHoraStrEmMinutos(Edit2.Text) +
                ObterHoraStrEmMinutos(Edit3.Text);

  ShowMessage( Format('Resultado: %s%d:%2.2d',
                      [IfThen(TotMinutos < 0, '-', ''),
                       Abs(TotMinutos) div 60,
                       Abs(TotMinutos) mod 60]) );
end;


obs: necessário adicionar as units StrUtils e DateUtils na uses

Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular  
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB