Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cómo ajustar la cadena introducida a formato de hora "00:00:00"

  • 0 Respuestas
  • 1858 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5469
  • Actividad:
    15%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Julio 26, 2010, 12:36:23 pm »
Ejemplos: Usuario pone: 9, Aplicación pone: 09:00:00
Usuario pone: 12, Aplicación pone: 12:00:00
Usuario pone: 12:5, Aplicación pone: 12:05:00
Usuario pone: 30, Aplicación envía msgbox error.

*********

Código: Visual Basic
  1. Private Function AjustarHora(ByVal sFecha As String) As String
  2. ' Ajustar la cadena introducida a formato de hora
  3. Dim sHora As String
  4. sHora = Form.TextBox.Text
  5. 'Si 8 caracteres y formato incorrecto
  6. If Len(sHora) = 8 Then
  7. If Val(Mid(sHora, 1, 2)) > 23 _
  8. Or Mid(sHora, 3, 1) <> ":" _
  9. Or Val(Mid(sHora, 4, 2)) > 59 _
  10. Or Mid(sHora, 6, 1) <> ":" _
  11. Or Val(Mid(sHora, 7, 2)) > 59 Then
  12. MsgBox "Error en formato del campo Hora", vbOKOnly
  13. Form.TextBox.Text = ""
  14. Exit Function
  15. End If
  16. End If
  17. If Len(sHora) = 7 Then
  18. 'Si 7 caracteres y formato correcto
  19. If Val(Mid(sHora, 1, 2)) <= 23 _
  20. And Mid(sHora, 3, 1) = ":" _
  21. And Val(Mid(sHora, 4, 2)) <= 59 _
  22. And Mid(sHora, 6, 1) = ":" _
  23. And Val(Mid(sHora, 7, 1)) <= 5 Then
  24. sHora = sHora & "0"
  25. AjustarHora = sHora
  26. Form.TextBox.Text = AjustarHora
  27. Exit Function
  28. End If
  29. 'Si 7 caracteres y formato incorrecto
  30. If Val(Mid(sHora, 1, 2)) > 23 _
  31. Or Mid(sHora, 3, 1) <> ":" _
  32. Or Val(Mid(sHora, 4, 2)) > 59 _
  33. Or Mid(sHora, 6, 1) <> ":" _
  34. Or Val(Mid(sHora, 7, 1)) > 5 Then
  35. MsgBox "Error en formato del campo Hora", vbOKOnly
  36. Form.TextBox.Text = ""
  37. Exit Function
  38. End If
  39. End If
  40. 'Si 6 caracteres y formato correcto
  41. If Len(sHora) = 6 Then
  42. If Val(Mid(sHora, 1, 2)) <= 23 _
  43. And Mid(sHora, 3, 1) = ":" _
  44. And Val(Mid(sHora, 4, 2)) <= 59 _
  45. And Mid(sHora, 6, 1) = ":" Then
  46. sHora = sHora & "00"
  47. AjustarHora = sHora
  48. Form.TextBox.Text = AjustarHora
  49. Exit Function
  50. End If
  51. 'Si 6 caracteres y formato incorrecto
  52. If Val(Mid(sHora, 1, 2)) > 23 _
  53. Or Mid(sHora, 3, 1) <> ":" _
  54. Or Val(Mid(sHora, 4, 2)) > 59 _
  55. Or Mid(sHora, 6, 1) <> ":" Then
  56. MsgBox "Error en formato del campo Hora", vbOKOnly
  57. Form.TextBox.Text = ""
  58. Exit Function
  59. End If
  60. End If
  61. 'Si 5 caracteres y formato correcto
  62. If Len(sHora) = 5 Then
  63. If Val(Mid(sHora, 1, 2)) <= 23 _
  64. And Mid(sHora, 3, 1) = ":" _
  65. And Val(Mid(sHora, 4, 2)) <= 59 Then
  66. sHora = sHora & ":00"
  67. AjustarHora = sHora
  68. Form.TextBox.Text = AjustarHora
  69. Exit Function
  70. End If
  71. If Val(Mid(sHora, 1, 2)) > 23 _
  72. Or Mid(sHora, 3, 1) <> ":" _
  73. Or Val(Mid(sHora, 4, 2)) > 59 Then
  74. 'Si 5 caracteres y formato incorrecto
  75. MsgBox "Error en formato del campo Hora", vbOKOnly
  76. Form.TextBox.Text = ""
  77. Exit Function
  78. End If
  79. End If
  80. 'Si 4 caracteres y formato correcto
  81. If Len(sHora) = 4 Then
  82. If Val(Mid(sHora, 1, 2)) <= 23 _
  83. And Mid(sHora, 3, 1) = ":" _
  84. And Val(Mid(sHora, 4, 1)) <= 5 Then
  85. sHora1 = Left(sHora, 3)
  86. sHora2 = Mid(sHora, 4, 1)
  87. sHora = sHora1 & "0" & sHora2 & ":00"
  88. AjustarHora = sHora
  89. Form.TextBox.Text = AjustarHora
  90. Exit Function
  91. End If
  92. 'Si 4 caracteres y formato incorrecto
  93. If Val(Mid(sHora, 1, 2)) > 23 _
  94. Or Mid(sHora, 3, 1) <> ":" _
  95. Or Val(Mid(sHora, 4, 1)) > 5 Then
  96. MsgBox "Error en formato del campo Hora", vbOKOnly
  97. Form.TextBox.Text = ""
  98. Exit Function
  99. End If
  100. End If
  101. 'Si tiene caracteres y formato correcto
  102. If Len(sHora) = 3 Then
  103. If Val(Mid(sHora, 1, 2)) <= 23 _
  104. And Mid(sHora, 3, 1) = ":" Then
  105. sHora = sHora & "00:00"
  106. AjustarHora = sHora
  107. Form.TextBox.Text = AjustarHora
  108. Exit Function
  109. End If
  110. 'Si 3 caracteres y formato incorrecto
  111. If Val(Mid(sHora, 1, 2)) > 23 _
  112. Or Mid(sHora, 3, 1) <> ":" Then
  113. MsgBox "Error en formato del campo Hora", vbOKOnly
  114. Form.TextBox.Text = ""
  115. Exit Function
  116. End If
  117. End If
  118. 'Si 2 caracteres y formato correcto
  119. If Len(sHora) = 2 Then
  120. If Val(Mid(sHora, 1, 2)) <= 23 Then
  121. sHora = sHora & ":00:00"
  122. AjustarHora = sHora
  123. Form.TextBox.Text = AjustarHora
  124. Exit Function
  125. End If
  126. If Val(Mid(sHora, 1, 2)) > 23 Then
  127. 'Si 2 caracteres y formato incorrecto
  128. MsgBox "Error en formato del campo Hora", vbOKOnly
  129. Form.TextBox.Text = ""
  130. Exit Function
  131. End If
  132. End If
  133. 'Si 1 caracter
  134. If Len(sHora) = 1 Then
  135. If Val(Mid(sHora, 1, 1)) <= 9 Then
  136. sHora = "0" & sHora & ":00:00"
  137. AjustarHora = sHora
  138. Form.TextBox.Text = AjustarHora
  139. Exit Function
  140. End If
  141. End If
  142. 'Si cadena vacía
  143. If Form.TextBox.Text = "" Then
  144. AjustarHora = "00:00:00"
  145. Form.TextBox.Text = AjustarHora
  146. Exit Function
  147. End If
  148. End Function
« Última modificación: Mayo 12, 2014, 03:15:31 pm por Expermicid »


 

¿Te gustó el post? COMPARTILO!



Manual de como bloquear CTRL+ALT+SUP, ALT+TAB, Y OTROS con Visual Basic en WinXP

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2146
Último mensaje Julio 26, 2010, 11:11:14 am
por ANTRAX
Como pasar de un TextBox a otro pulsando ENTER

Iniciado por ANTRAX

Respuestas: 0
Vistas: 11756
Último mensaje Julio 26, 2010, 03:41:24 pm
por ANTRAX
Como Imprimir en tamaño especial en Impresoras Matriciales en XP

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1971
Último mensaje Julio 26, 2010, 11:14:36 am
por ANTRAX
Como impedir cambiar el tamaño de una ventana redimensionable

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1937
Último mensaje Julio 26, 2010, 11:33:48 am
por ANTRAX
Llamada de un formulario mediante el nombre como string

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1627
Último mensaje Julio 26, 2010, 04:08:58 pm
por ANTRAX