CALCULAR DIFERENCA DE HORA

HUGOHSJC 02/08/2010 17:48:08
#349205
Boa Noite pessoal, seguinte , na aplicação eu preciso saber a diferença da hora inicial e da hora final, estou fazendo do seguinte modo

dim a , b , c as string

a = mskhoraini
b= mskhorafim

c= a-b

bom porem nao funciona está errado.???

me ajudem plss, muito obrigado.
PH1959 02/08/2010 17:59:33
#349209
tem q mudar isso aí

dim h_i as integer
dim m_i as integer
dim s_i as integer
dim h_fim as integer
dim m_fim as integer
dim s_fim as integer

s_t= s_i +s_fim
m_t=m_i+m_fim
h_t= h_i+h_fim

if s_t > 59 then
s_t= s_t-60
m_t=m_t+1
else
endif
if m_t>59 then
m_t=m_t-60
h_t=h_t+1
else
endif



MICROSCHEME 02/08/2010 17:59:47
#349210
Veja se te interessa dessa forma:

. . .

MARCELO.TREZE 02/08/2010 18:43:58
#349217
explicando com mais clareza

a diferença de horas pode ser feita por uma função do proprio vb, que é a DateDiff

Diferença = Datediff([Ô][critério][Ô],horainicial, horafinal)

[critério] pode ser:

[Ô]h[Ô] = retorna a diferença de horas
[Ô]n[Ô] = retorna a difrença em minutos (*)
[Ô]s[Ô] = retorna a diferença em segundos

(*) veja bem minutos é representado pela letra [Ô]n[Ô] (ene) pois [Ô]m[Ô] representa month(mes)

o ideal é fazer o cálculo por minuto, assim terá o resultado em horas e minutos fazendo um continha básica.

exemplo:

Dim Hini As Date
Dim Hfim As Date
Dim TmpHor As Integer
Dim TmpMin As Integer
Dim Dif As Integer

Hini = [Ô]09:00[Ô]
Hfim = [Ô]12:30[Ô]

Dif = Datediff([Ô]n[Ô], Hini, Hfin)
TmpMin = Dif Mod 60 ' Mod retorna o resto de dif por 60 ex: 210 mod 60 = 30 ou seja 60 + 60 + 60 = 180 : 210 - 180 = 30
TmpHor = (Dif - TmpMin) / 60
Resultado = TmpHor & [Ô]:[Ô] & TmpMin


e é isso

HUGOHSJC 03/08/2010 09:40:42
#349248
Galera muito obrigado ajudaram muito os exemplos de vocês... valew pela ajuda.!
Tópico encerrado , respostas não são mais permitidas