Visual Basic - entradas para MaskEditbox

Life is soft - evento anual de software empresarial
 
Vista:

entradas para MaskEditbox

Publicado por Dom (1 intervención) el 27/10/2001 11:55:37
Buenas a todos. Mi duda es la siguiente: Tengo un MaskEditBox con mascara de entrada "##:##". Lo que quiero es impedir que se puedan introducir horas mayores de 23:59 ni tampoco horas como 12:67 por ej.
Aunke lo intento controlar con Validate, (if cdate(mebHora) > cdate("23:59")...)no puedo ya que cuando se le asigna uno de estos valores al MEBox da el error "No coinciden los tipos". Como lo hago??

Gracias por vuestra ayuda de antemano. Salu2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:entradas para MaskEditbox

Publicado por Cha Men (92 intervenciones) el 27/10/2001 12:30:33
puedes emplear esta rutina para verificar la hora en un maskedit

Public Function ValidarHora(Valor As String) As Boolean
Dim Sec As Integer
Dim Sec2 As Integer
Dim Vx As String
Dim Vx2 As String

Vx = Left(Valor, InStr(Valor, ":") - 1)
If IIf(InStr(Vx, "_") = 0, Vx, "_") = "_" Then
ValidarHora = False
Exit Function
End If

Vx2 = Right(Valor, InStr(Valor, ":") - 1)
If IIf(InStr(Vx2, "_") = 0, Vx2, "_") = "_" Then
ValidarHora = False
Exit Function
End If

Sec = Val(Left(Valor, InStr(Valor, ":") - 1))
Sec2 = Val(Right(Valor, InStr(Valor, ":") - 1))

If Sec > 12 Then
ValidarHora = False
Exit Function
End If

If Sec2 > 59 Then
ValidarHora = False
Exit Function
End If

ValidarHora = True
End Function

y lo ejecuta de esta manera, manda como parametro el objeto maskedit

If Not ValidarHora(MskHora) Then
MsgBox "Hora inválida", vbInformation
Exit Sub
End If

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar