Necesito crear un cronometro en visual Basic que se incremente en dinero a medida que el tiempo avanza. Es un controlador de un salón de pool Es lo único que me falta para terminar Con un trabajo que me dieron en la universidad
Primero debes crear un form con 4 labels (Label1 ... Label4), 2 botones (Command1 y Command2) y un Timer (Timer1). Lo que hace el form es sencillo: Cuando inicias el alquiler de una mesa haces clic en el Command1 el cual marca la hora de inicio y activa el Timer. Este tiene intervalo de 1 segundo (Interval=1000) y va llevando el tiempo segundo a segundo (utiliza la función DateDiff que resta dos fechas u horas), al mismo tiempo actualiza el costo del alquiler. Para terminar el alquiler de la mesa, se hace clic en el Command2 y se desactiva el Timer. Pruébalo y me lo comentas. Ah! Este form controla solo 1 mesa. Para varias, podrías utilizar un array o una tabla para almacenar el número de mesa, su hora de inicio y si esta en uso o no. Espero haberte sido útil y a ver si me gano mis primeros 5 puntos. Este es el código del form: Option Explicit Const TarifaHora = 6 ' Costo del alquiler de una mesa por hora (lo puedes cambiar) Private Sub Command1_Click() ' Marca el inicio del alquiler de la mesa Label1. Caption = FormatDateTime(Now(), vbLongTime) ' Obtiene la hora de inicio Timer1.Enabled = True End Sub Private Sub Command2_Click() ' Marca el término del alquiler de la mesa DiferenciaHoraria Timer1.Enabled = False End Sub Private Sub Timer1_Timer() ' Actualiza el tiempo transcurrido cada segundo DiferenciaHoraria DoEvents End Sub Private Sub DiferenciaHoraria() ' Obtiene la diferencia entre las dos horas Dim TiempoTranscurrido As Long Label2.Caption = FormatDateTime(Now(), vbLongTime) ' Obtiene la hora actual TiempoTranscurrido = DateDiff("s", Label1.Caption, Label2.Caption) ' Obtiene la diferencia de horas ' Las siguientes líneas visualizan el tiempo transcurrido y el pago con el formato adecuado Label3.Caption = "Tiempo: " & Format(Int(TiempoTranscurrido / 60), "00") & ":" & Format(TiempoTranscurrido Mod 60, "00") & " minutos." Label4.Caption = "Costo: $ " & Format(TiempoTranscurrido / 3600 * TarifaHora, "0.00") End Sub