somar horas ultrapassando 24 horas

16/11/2019

0

Boa tarde preciso somar dois campos edit com horas em cada um e jogar em outro edit, so que essas horas vai ultrapassar 24 horas , alguem pode me ajudar estou fazendo assim , ate 24 ele soma normal,

exemplo edit1=12:00 edit2 34:00 e no edit3 tem que aparecer 46:00
segue codigo que estou fazendo

Var
Entrada, Saida: String;
Horas: TTime;
Begin
Entrada := edt1.Text;
Saida := edt2.Text;
Horas := StrToTime(Saida)+StrToTime(Entrada);
edt3.Text := (TimeToStr(Horas));
Wellington

Wellington

Responder

Posts

18/11/2019

Emerson Nascimento

acho que só uma função pra este tipo de cálculo:
procedure TForm2.Button3Click(Sender: TObject);
  function SomaHoras(Hora1, Hora2: string): string;
  var
    resultado: string;
    minutos, horas: integer;
  begin
    minutos := strtointdef(copy(hora1,4,2),0)+strtointdef(copy(hora2,4,2),0);
    horas := strtointdef(copy(hora1,1,2),0)+strtointdef(copy(hora2,1,2),0);
    if minutos >= 60 then
    begin
      minutos := minutos - 60;
      inc(horas);
    end;
    result := FormatFloat('#00', horas)+':'+FormatFloat('00', minutos);
  end;
begin
  MaskEdit3.Text := SomaHoras(MaskEdit1.Text, MaskEdit2.Text);
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar