• Viernes 29 de Marzo de 2024, 11:00

Autor Tema:  Re: Validar formato hora  (Leído 15068 veces)

agfed

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
    • http://www.maersa.com.mx
Re: Validar formato hora
« en: Martes 11 de Febrero de 2003, 21:35 »
0
Me pueden ayudar por favor con la rutina para validar la entrada de un textbox como formato hora hh:mm:ss
siendo que hh es de formato 24 hrs?

José D

  • Miembro MUY activo
  • ***
  • Mensajes: 235
    • Ver Perfil
Re: Validar formato hora
« Respuesta #1 en: Miércoles 12 de Febrero de 2003, 00:20 »
0
Hola agfed

¿Es hora militar lo que quieres?
porque si es eso, entonces este pequeño proyectico te puede servir, lo hace en un Label, en tu caso será para un TextBox.

Si es para validar el ingreso a una BD, pues.... hummm..... no sé si te sirva hacer una variable asi:
Dim Hora as Date
y con eso podrías hacer Hora = Text1.Text pero no estoy muy seguro, o podría usarse el DateTime que sirve para trabajar con campos fechas y horas.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Saludos

agfed

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
    • http://www.maersa.com.mx
Re: Validar formato hora
« Respuesta #2 en: Miércoles 12 de Febrero de 2003, 00:45 »
0
gracias por este código. Pero lo que quiero hacer es restringir al usuario la entrada en el textbox para evitar errores que paren la ejecución. El usuario tiene que teclear la hora de entrada para usarla en un reloj checador.

Egala

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Validar formato hora
« Respuesta #3 en: Miércoles 12 de Febrero de 2003, 10:03 »
0
A ver si te sirve esto, ponlo en el evento change de tu textbox:

If Len(TxtHora.Text) = 2 Or Len(TxtHora.Text) = 5 Then 'ponemos los 2 puntos
   TxtHora.Text = TxtHora.Text & ":"
   TxtHora.SelStart = Len(TxtHora.Text)
End If

El control numerico de rangos de horas te lo dejo a ti, usa el format para ello

Suerte

Egala
Suerte

Egala

borisoto

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Validar formato hora
« Respuesta #4 en: Miércoles 16 de Diciembre de 2009, 20:17 »
0
Function esHora(ByVal txt As String) As Boolean
        Dim arr() As String = txt.Split(":")
        If arr.GetLength(0) < 2 Then
            Return False
        ElseIf Not IsNumeric(arr(0)) Then
            Return False
        ElseIf Not IsNumeric(arr(1)) Then
            Return False
        ElseIf Not IsNumeric(arr(2)) Then
            Return False
        ElseIf arr(0) < 0 Or arr(0) > 23 Then
            Return False
        ElseIf arr(1) < 0 Or arr(0) > 59 Then
            Return False
        ElseIf arr(2) < 0 Or arr(0) > 59 Then
            Return False
        End If
        Return True
    End Function

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Validar formato hora
« Respuesta #5 en: Viernes 18 de Diciembre de 2009, 13:35 »
0
Cita de: "borisoto"
Function esHora(ByVal txt As String) As Boolean
        Dim arr() As String = txt.Split(":")
        If arr.GetLength(0) < 2 Then
            Return False
        ElseIf Not IsNumeric(arr(0)) Then
            Return False
        ElseIf Not IsNumeric(arr(1)) Then
            Return False
        ElseIf Not IsNumeric(arr(2)) Then
            Return False
        ElseIf arr(0) < 0 Or arr(0) > 23 Then
            Return False
        ElseIf arr(1) < 0 Or arr(0) > 59 Then
            Return False
        ElseIf arr(2) < 0 Or arr(0) > 59 Then
            Return False
        End If
        Return True
    End Function
2 cosas, que no has tenido en cuenta:
A - Este es un post del 2003 es decir de hace 6 años... mala cosa si el autor aún estuviera esperando respuesta. No resucites post muertos
B - Éste foro es de VB6, el código que expones no se aplica aquí.


Para la fecha, (si no se refiere concretamente a la hora)... Hay soluciones bastante mejores que cualquiera de las expuestas en este hilo, en los foros de vb6 ( a día de hoy) sólo es cuestión de buscar. Concretamente usar un control DTPicker (Date Time Picker). Permite opciones de formato y no requiere complejidades de validación ya que puede fijar el rango de fechas admitidas (propiedades maxDate y minDate) y permite al usuario (por torpe que sea) elegir una fecha siempre válida.

Para la hora VBA.DateTime tiene funciones específicas para tratar adecuadamente la hora...
«Ma non troppo»
----> ModoVacaciones = False<----