Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: crazymonkey84 en 03 de Febrero 2017, 11:02

Título: Calcular la diferencia entre Horas utilizando TimeSpan Visual Basic?
Publicado por: crazymonkey84 en 03 de Febrero 2017, 11:02
Buenas madrugadas!

aqui un novato intentando dar con bola!!

Estoy tratando de lograr una resta de horas en VB 2010 Express, el codigo funcionaba en VB6 mas no se que haya cambiado y no funciona aca...

Este es mi form:

(http://s2.subirimagenes.com/otros/previo/thump_9681399form.jpg)

este es mi codigo:

(http://s2.subirimagenes.com/otros/previo/thump_9681400codigo.jpg)

funciona a medias al ponerle play

(http://s2.subirimagenes.com/otros/previo/thump_9681401ejecucion.jpg)

y me marca este error

(http://s2.subirimagenes.com/otros/previo/thump_9681402error.jpg)


de antemano muchas gracias por su ayuda!!

Pegando el codigo:
Código: [Seleccionar]
Public Class Form1

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Label1.Text = TimeOfDay.ToString("HH:mm:ss")

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label2.Text = Label1.Text

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim t1, t2, t3 As Object
        Label3.Text = Label1.Text

        t1 = Format(Label1.Text, "HH:mm:ss")
        t2 = Format(Label2.Text, "HH:mm:ss")
        t3 = Format(Label3.Text, "HH:mm:ss")

        Label4.Text = Format(TimeValue(t3) - TimeValue(t2), "HH:mm:ss")
    End Sub
End Class

Saludos!
Título: Re:Diferencia entre Horas?
Publicado por: crazymonkey84 en 05 de Febrero 2017, 03:11
aun no doy con bola hahaha

algun alma piadosa que sepa la respuesta?

le hice un upgrade de vb6 a vb express2008 luego a vb express 2010 y me arroja este codigo:

 Label4.Text = VB6.Format(System.DateTime.FromOADate(TimeValue(t3).ToOADate - TimeValue(t2).ToOADate), "hh:mm:ss")

y funciona pero solo en ese proyecto "upgradiado", no me funciona si empiezo un proyecto de ceros en vb express 2010.

Alguien que me pueda ayudar a que funcione sin tener que hacer upgrade??

Muchas Gracias de antemano

Saludos

Título: Re:Calcular la diferencia entre Horas utilizando TimeSpan Visual Basic?
Publicado por: Alex Rodríguez en 02 de Abril 2017, 18:46
He visto este ejemplo de cómo calcular diferencias entre fechas-horas, lo dejo por si le sirve a alguien:

Dim startTime As New DateTime(2069, 9, 19, 10, 30, 0)     ' 10:30 AM de un año
Dim endTime As New DateTime(2069, 9, 20, 2, 0, 0)     ' 2:00 AM del día siguiente

Dim duration As TimeSpan = endTime - startTime        'Calcular la diferencia entre ambas fechas

Console.WriteLine(duration)

Resultado en horas minutos segundo:

15:30:00

Si se quiere convertir el resultado a minutos se puede usar la propiedad TotalMinutes de las variables TimeSpan

Console.WriteLine(duration.TotalMinutes)

Resultado:

930