SUBTRAINU HORAS...
por exemplo, como subtraio 23:55 de 00:00, para me retornar o valor em minutos se eu faço a HoraFinal - HoraIncial *24*60, mas em caso de ser 23:55 tirando de 00:00 jah da problema, alguem saberia me passar como posso chegar no resultado? 5 por exemplo neste caso....
alguem sabe?
BOM CARA...
ACHEI ISSO EM UM FORUM TALVEZ ATENDA O QUE ESTEJA PROCURANDO
QUALQUER COISA POSTA AI
ATT,
MARCELO BRESSAN
ACHEI ISSO EM UM FORUM TALVEZ ATENDA O QUE ESTEJA PROCURANDO
Para inÃÂÂcio, vamos relembrar 1h = 60min. Isto é só para relembrar você de que para transformar h em min e só multiplicar por 60.
Todos os cálculos serão realizados em minutos, então para entrada de dados você deve ter dois controles diferentes, um para horas e outro para minutos. Converta as horas em minutos depois some com os minutos restantes do outro controle.
Agora você já tem o 1º. Valor (vamos chamar de x) . Agora faça o mesmo para um segundo valor (vamos chamar de y).
Preste atenção agora que você tem os dois valores “x†e “yâ€ÂÂ, você pode realizar qualquer operação com eles. Mas tem um porém, o valor resultante de uma operação entre “x†e “y†é em minutos.
Para resolver este problema crie um while da seguinte forma:
Suponhamos que seja feita a seguinte operação x + y = z
Neste caso o valor retornado será sempre positivo e > 0 então para essa ocasião temos.
X = minutos
Y = minutos
Z = minutos
do while z >= 60z = z  60horas = horas + 1Loop
Obs.: sendo horas uma variável declarada. Para exibir o resultado faça text1.text = horas & “ : “ & z
Atenção se a operação for subtração deverá ser criado um while para números negativos:
Do while z < 0 and z <= -60z = z + 60horas = horas +1Loop
Tome cuidado para não ficar preso em um loop infinito.
QUALQUER COISA POSTA AI
ATT,
MARCELO BRESSAN
Amigo,
a passagem de 23:55 para 00:00, ocorre uma mudança de data certo??
exemplo, 23:55 de hoje ainda será dia 08/08, já 00:00 será dia 09/08. Por isso a confusão nos cálculos.
Se vc fizer desta forma, utilizando as datas também, dará certo:
Agora se vc realmente só tiver as horas, aàfica mais difÃÂÂcil, tente tratar o 0, substituindo por 24, tipo da forma abaixo:
a passagem de 23:55 para 00:00, ocorre uma mudança de data certo??
exemplo, 23:55 de hoje ainda será dia 08/08, já 00:00 será dia 09/08. Por isso a confusão nos cálculos.
Se vc fizer desta forma, utilizando as datas também, dará certo:
Result = DateDiff("n", "08/08/2007 23:55", "09/08/2007 00:00")
MsgBox Result
Agora se vc realmente só tiver as horas, aàfica mais difÃÂÂcil, tente tratar o 0, substituindo por 24, tipo da forma abaixo:
Dim HorasIni As Integer
Dim HorasFim As Integer
Dim MinutosIni As Integer
Dim MinutosFim As Integer
Dim Result As Integer
HorasIni = Hour("23:55")
HorasFim = Hour("00:00")
If HorasFim = 0 Then
HorasFim = 24
End If
MinutosIni = Minute("23:55")
MinutosFim = Minute("00:00")
Result = Abs(((HorasFim * 60) + MinutosFim) - ((HorasIni * 60) + MinutosIni))
MsgBox Result
vlw cara, vo tenta aqui...
Tópico encerrado , respostas não são mais permitidas