• Lunes 18 de Noviembre de 2024, 00:46

Autor Tema:  Como Valido La Hora Ingresada En Un Textbox  (Leído 2352 veces)

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Como Valido La Hora Ingresada En Un Textbox
« en: Miércoles 7 de Diciembre de 2005, 16:53 »
0
hola a todos:
tengo una serie de textbox en donde se ingresan las horas de trabajo, y necesito validar que la hora ingresada es correcta como por ej. formato
13:30
09:30
pero que no ingrese
25:64
008:98
no se si se entiende si alguien puede echarme la mano con esto esaria muy agradecido que esten muy bien y un saludo a todos bye
Un Tigre Nunka Kambia Sus Rayas

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Como Valido La Hora Ingresada En Un Textbox
« Respuesta #1 en: Miércoles 7 de Diciembre de 2005, 19:43 »
0
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    sHora = Text1.Text
    If EsHora(sHora) = True Then
        'CODIGO CUANDO LA HORA ES CORRECTA
    Else
        MsgBox "Hora incorrecta", vbInformation, "Advertencia"
        Text1.Text = ""
        Text1.SetFocus
    End If
End If
End Sub

Public Function EsHora(ByVal LaHora As String) As Boolean
'Verifica que tenga el separador de hora y minutos
EsHora = False
pos = InStr(LaHora, ":")
If pos > 0 Then
    'Obtengo la Hora
    sHora = Mid(LaHora, 1, pos - 1)
    'Obtengo los minutos
    sMinutos = Mid(LaHora, pos + 1, Len(LaHora) - pos + 1)
    'Verifico que sean numericos la Hora y Minutos
    If IsNumeric(sHora) And IsNumeric(sMinutos) Then
        'Valido el rango de las horas
        If CDbl(sHora) >= 0 And CDbl(sHora) <= 23 Then
            'Valido el rango de los minutos
            If CDbl(sMinutos) >= 0 And CDbl(sMinutos) <= 59 Then
                EsHora = True
            End If
        End If
    End If
End If
End Function

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Como Valido La Hora Ingresada En Un Textbox
« Respuesta #2 en: Miércoles 7 de Diciembre de 2005, 22:51 »
0
Cita de: "Jose Arriagada"
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    sHora = Text1.Text
    If EsHora(sHora) = True Then
        'CODIGO CUANDO LA HORA ES CORRECTA
    Else
        MsgBox "Hora incorrecta", vbInformation, "Advertencia"
        Text1.Text = ""
        Text1.SetFocus
    End If
End If
End Sub

Public Function EsHora(ByVal LaHora As String) As Boolean
'Verifica que tenga el separador de hora y minutos
EsHora = False
pos = InStr(LaHora, ":")
If pos > 0 Then
    'Obtengo la Hora
    sHora = Mid(LaHora, 1, pos - 1)
    'Obtengo los minutos
    sMinutos = Mid(LaHora, pos + 1, Len(LaHora) - pos + 1)
    'Verifico que sean numericos la Hora y Minutos
    If IsNumeric(sHora) And IsNumeric(sMinutos) Then
        'Valido el rango de las horas
        If CDbl(sHora) >= 0 And CDbl(sHora) <= 23 Then
            'Valido el rango de los minutos
            If CDbl(sMinutos) >= 0 And CDbl(sMinutos) <= 59 Then
                EsHora = True
            End If
        End If
    End If
End If
End Function
wow te pasaste esta super bueno y funciona a la perfeccion
muchisimas gracias que estes bien adios
Un Tigre Nunka Kambia Sus Rayas

sahitec

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Como Valido La Hora Ingresada En Un Textbox
« Respuesta #3 en: Jueves 9 de Febrero de 2006, 16:49 »
0
:lightsabre:  :lightsabre:  Muchas gracias pense que no lo iba a utilizar, pero llego el momento y me sirvio ene, muchas gracias al creador, para algunos decirles que las variables shora y sminutos tienen que ser string y el pos integer.

es un form
------------
Private Sub Cj_HoraInicio_Validate(Cancel As Boolean)
Cancel = True
    If EsHora(Cj_HoraInicio) = True Then
        'CODIGO CUANDO LA HORA ES CORRECTA
        Cancel = False
        Cj_HoraTermino.SetFocus
        Call MarcaTodo(Cj_HoraTermino)
        Exit Sub
    Else
        Call Mensajes(29)
        Call MarcaTodo(Cj_HoraInicio)
    End If
End Sub


en un modulo bas
---------------------
Public Function EsHora(ByVal LaHora As String) As Boolean
'Verifica que tenga el separador de hora y minutos
Dim Pos As Integer, SHora As String, SMinutos As String
EsHora = False
Pos = InStr(LaHora, ":")
    If Pos > 0 Then
        'Obtengo la Hora
        SHora = Mid(LaHora, 1, Pos - 1)
        'Obtengo los minutos
        SMinutos = Mid(LaHora, Pos + 1, Len(LaHora) - Pos + 1)
        'Verifico que sean numericos la Hora y Minutos
        If IsNumeric(SHora) And IsNumeric(SMinutos) Then
            'Valido el rango de las horas
            If CDbl(SHora) >= 0 And CDbl(SHora) <= 23 Then
            'Valido el rango de los minutos
                If CDbl(SMinutos) >= 0 And CDbl(SMinutos) <= 59 Then
                    EsHora = True
                End If
            End If
        End If
    End If
End Function


gracias te pasaste adjunte el codigo, x cualquier cosa.