Fórum Subtrair minutos de uma determinada hora #372933
30/07/2009
0
Como faço para subtrair minutos de uma determinada hora?
Luiz
L_carlos
Curtir tópico
+ 0Posts
30/07/2009
Osocram
Gostei + 0
30/07/2009
Danielrsanches
minuteof(Date);
declare DateUtils na cláusula uses ...
abraços !!!
Gostei + 0
31/07/2009
L_carlos
Agora como faço para subtrair minutos por exempo qdo a hora for meia noite, como por exemplo subtrair 40 minutos de 00:10 (meia noite e 10 minutos), pois usando a sua dica o resultado é 00:30 (esse resultado errado só ocorre se tento diminuir minutos qdo a hora é meia noite).
Luiz
Gostei + 0
01/08/2009
Marco Salles
Código: function SubtrairMinutos(Hora:TTime;M:word):TTime; var mm:real; begin if M <= 60 tHEN begin mm:=M; mm:=(1/24)*(M/60); if mm>Hora Then Hora:= 1 - (mm - Hora) else Hora = Hora - mm result:=Hora; end else begin Showmesage(´Minutos Fora da especificação´); Gera Erro etc... end;
ps: Da para pensar em fazer para faixa de valoes minutos maiores que 60 segundos
ps é sempre bom e dar preferencia para fun~ções nativas , o problema
é que devemos conhecer suas limitações e nen sempre elas
fazemm exatamente o que queremos
_________________
<
´Não esqueça de deixar uma mensagem informando se as dicas deram certo, para que outros usuários com as mesmas dúvidas saibam como resolve-las´
Se DEUS Não Existe Então Vale Tudo
Gostei + 0
01/08/2009
L_carlos
Luiz
Gostei + 0
01/08/2009
Marco Salles
é simples ..
var Hora:TTime; begin try Hora:=StrtoTime(SeuMaskEdit.Text); Hora:=SubtrairMinutos(Hora,30); showmessage(Timetostr(Hora)); except Showmessage(´Erro´); end; end;
Gostei + 0
02/08/2009
L_carlos
Luiz
Gostei + 0
27/08/2009
Marco Salles
pode ser estendido com mais facilidades para o Subtrair Minutos com valores
maiores do que 60
Acho que funciona Ate Minutos = 1440 (teste ai...)
Adaptei para a sua necessidade
function NovaSubtrairMinutos(Hora:TTime;M:word):TTime; begin result:=(StrToTime(´23:59:59´) - M/1440 + StrToTime(´00:00:01´) + Hora) end;
Utilização
procedure TForm1.Button1Click(Sender: TObject); var Hora,HoraAux:TTime; begin try HoraAux:=StrtoTime(MaskEdit1.Text); Hora:=NovaSubtrairMinutos(HoraAux,strtoint(edit1.text)); form1.caption:=Timetostr(Hora); except Showmessage(´Erro´); end;
Tópico Original
http://www.activedelphi.com.br/forum/viewtopic.php?t=26814&highlight=horas&sid=f1e2f21f7dd389eceaf9d814b348daaa
hummmmmmmm... Interressante
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)