• Martes 21 de Mayo de 2024, 05:31

Autor Tema:  Como Valiodar La Hora Cuando Se Ingresa Manualment  (Leído 1990 veces)

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Como Valiodar La Hora Cuando Se Ingresa Manualment
« en: Martes 26 de Julio de 2005, 02:44 »
0
Buenas todos,

Necesitaria saber si alguién me pudiera ayudar, necesito ingresar una hora determnada pero manualmente, ej 18:50 hs PM, pero no se como validarla.

Alguién sabria

Gracias

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #1 en: Martes 26 de Julio de 2005, 03:47 »
0
Mira este ejemplo
Código: Text
  1. Option Explicit
  2. Dim AlarmTime
  3. Const conMinimized = 1
  4.  
  5.  
  6. Private Sub Form_Click()
  7.     AlarmTime = InputBox("Escriba la hora de alarma", "Alarma de VB", AlarmTime)
  8.     If AlarmTime = "" Then Exit Sub
  9.     If Not IsDate(AlarmTime) Then
  10.         MsgBox "La hora no es válida."
  11.     Else                                    ' La cadena devuelta por InputBox es una hora válida,
  12.         AlarmTime = CDate(AlarmTime)        ' de modo que se almacena en AlarmTime como fecha/hora.
  13.     End If
  14. End Sub
  15.  
  16. Private Sub Form_Load()
  17.     AlarmTime = ""
  18. End Sub
  19.  
  20. Private Sub Form_Resize()
  21.     If WindowState = conMinimized Then      ' Si el formulario se minimiza, muestra la hora en un título.
  22.         SetCaptionTime
  23.     Else
  24.         Caption = "Reloj con alarma"
  25.     End If
  26. End Sub
  27.  
  28. Private Sub SetCaptionTime()
  29.     Caption = Format(Time, "Medium Time")   ' Presenta la hora con el formato Medium Time.
  30. End Sub
  31.  
  32. Private Sub Timer1_Timer()
  33. Static AlarmSounded As Integer
  34.     If lblTime.Caption <> CStr(Time) Then
  35.         ' Ahora el número de segundo es diferente del mostrado.
  36.         If Time >= AlarmTime And Not AlarmSounded Then
  37.             Beep
  38.             MsgBox "Alarma a las " & Time, , "Alarma"
  39.             AlarmSounded = True
  40.         ElseIf Time < AlarmTime Then
  41.             AlarmSounded = False
  42.         End If
  43.         If WindowState = conMinimized Then
  44.             ' Si está minimizado, actualiza el título del formulario cada minuto.
  45.             If Minute(CDate(Caption)) <> Minute(Time) Then SetCaptionTime
  46.         Else
  47.             ' Si no, actualiza la etiqueta del formulario cada segundo.
  48.             lblTime.Caption = Time
  49.         End If
  50.     End If
  51. End Sub
  52.  
  53.  
Esta viene con el VS 6.0
El pasado son solo recuerdos, el futuro son solo sueños

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #2 en: Martes 26 de Julio de 2005, 05:20 »
0
Gracias, por tu ayuda, pero lo que necesito es algo simple, es decir, que por ejemplo no se pueda ingresar 25:00 hs, a alog si, o por ejemplo que no se pueda ingresar 18:66. etc.

Si tenes algo mas facil te lo agradecere

Muchas gracias

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #3 en: Martes 26 de Julio de 2005, 18:41 »
0
Ok algo facil 2 TextBox, y cada uno le pones la decision de que no pase de cierta cantidad ej:

Código: Text
  1. If Val(Text1.Text) > 24 Or Val(Text2.Text) > 59 Then
  2.    MsgBox "Valores Incorrectos"
  3. End If
  4.  
Ojala te sirva.
Chao
El pasado son solo recuerdos, el futuro son solo sueños

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #4 en: Martes 26 de Julio de 2005, 19:52 »
0
Muchisimas gracias, me sirvio, pero me podrias explicar como funcina el codigo anetrior ?, ese tan largo , que es l que controla ?
gracias

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #5 en: Martes 26 de Julio de 2005, 23:42 »
0
Cita de: "seba_m"
Muchisimas gracias, me sirvio, pero me podrias explicar como funcina el codigo anetrior ?, ese tan largo , que es l que controla ?
gracias
Osea, por pasos.
Código: Text
  1. AlarmTime = InputBox("Escriba la hora de alarma", "Alarma de VB", AlarmTime)
  2. 'Con el Input se captura la hora
  3.    If AlarmTime = "" Then Exit Sub
  4. 'Con esta desicion se sabe si esta vacia la variable
  5.    If Not IsDate(AlarmTime) Then
  6.        MsgBox "La hora no es válida."
  7.    Else                                    
  8.      ' La cadena devuelta por InputBox es una hora válida,
  9.        AlarmTime = CDate(AlarmTime)  
  10.       ' de modo que se almacena en AlarmTime como fecha/hora.
  11.    End If
  12. End Sub
  13.  
  14. Private Sub Timer1_Timer()
  15. Static AlarmSounded As Integer
  16.    If lblTime.Caption <> CStr(Time) Then
  17.        ' Ahora el número de segundo es diferente del mostrado.
  18.        If Time >= AlarmTime And Not AlarmSounded Then
  19.            Beep
  20.            MsgBox "Alarma a las " & Time, , "Alarma"
  21.            AlarmSounded = True
  22.        ElseIf Time < AlarmTime Then
  23.            AlarmSounded = False
  24.        End If
  25.        If WindowState = conMinimized Then
  26.            ' Si está minimizado, actualiza el título del formulario cada minuto.
  27.            If Minute(CDate(Caption)) <> Minute(Time) Then SetCaptionTime
  28.        Else
  29.            ' Si no, actualiza la etiqueta del formulario cada segundo.
  30.            lblTime.Caption = Time
  31.        End If
  32.    End If
  33. End Sub
  34.  
El pasado son solo recuerdos, el futuro son solo sueños

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Como Valiodar La Hora Cuando Se Ingresa Manualment
« Respuesta #6 en: Miércoles 27 de Julio de 2005, 00:46 »
0
Hola, lo mas facil y rapido y no tienes que escribir ni una sola linea de codigo, porq ya esta todo hecho, es usa el control MaskEdBox, y en la propiedad format, le indicas hh:mm:ss.

Si no fijate en la ayuda (MSDN)

Saludos

 :hola:
Everything that has a beginning has an end.....