VALIDAR DATAS

PROGRAMADORVB6 18/09/2014 11:55:48
#441320
Olá boa tarde.
Tenho este código, mas quando passo ele para uma data ( Ano) de três dígitos [Ex: 20-07-197 ] ; ele devolve-me como verdadeiro, o que não é permitido.
   [ô][ô][ô] <summary>
[ô][ô][ô] Verifica se a data é válida
[ô][ô][ô] </summary>
Public Function Validar_Data(Verif_Data As Object) As Boolean
Validar_Data = IsDate(Verif_Data)
End Function


Por outro lado, tenho este código que tirei da net, mas gostaria de o transformar em função e me devolve-se os parâmetros TRUE ou FALSE, e não consigo.
Poderão me dar uma ajudinha?

  Private Sub Datas_Click(sender As System.Object, e As System.EventArgs) Handles Datas.Click
Dim dt As DateTime

DateTime.TryParseExact(Me.DizData.Text, [Ô]dd/MM/yyyy[Ô], Nothing, Nothing, dt)



If dt = DateTime.MinValue Then

MessageBox.Show([Ô]Digite a Data de Nascimento Corretamente![Ô])

End If

End Sub


Grato desde já pela vossa atenção.
Atenciosamente
ProgramadorVB6
NICKOLASCARLOS 18/09/2014 13:12:49
#441324
Resposta escolhida
Olá, coma vai?
Pelo que eu entendi você quer transformar esse código em uma função! Certo?
Então a função ficará assim:

Function PegaData(ByVal data As String) As String
Dim dt As DateTime

DateTime.TryParseExact(data, [Ô]dd/MM/yyyy[Ô], Nothing, Nothing, dt)



If dt = DateTime.MinValue Then

Return False

Else
Return True

End If
End Function


Pra chama-lá você usa:
PegaData(Data)


Vlw!
   
   
PROGRAMADORVB6 20/09/2014 10:03:00
#441381
Olá pessoal, deixo aqui o código de validação Data/ Ano, este último com aceitação só de dois dígitos ou de quatro.

 Public Class Form1
[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se a Hora é válida
[ô][ô][ô] </summary>
Public Function Validar_Hora(Verif_Hora As String) As Boolean

Validar_Hora = IsDate(Verif_Hora)
End Function


[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se a Hora é válida
[ô][ô][ô] </summary>
Public Function Validar_Data(Verif_Data As String) As Boolean

Validar_Data = IsDate(Verif_Data)
End Function


[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se a data é válida
[ô][ô][ô] </summary>
Public Function Validar_Datas(ByVal Verifica_datas As String) As String
Dim dt As DateTime

DateTime.TryParseExact(Verifica_datas, [Ô]dd/MM/yyyy[Ô], Nothing, Nothing, dt)

If dt = DateTime.MinValue Then
Validar_Datas = False
Else
Validar_Datas = True
End If

End Function


Private Sub Horas_Click(sender As System.Object, e As System.EventArgs) Handles Horas.Click
MsgBox(Validar_Hora(Me.DizHora.Text))
End Sub


[ô][ô][ô] <summary>
[ô][ô][ô] Caso o Ano tenha 2 digitos ou esteja completo é feita a validacao
[ô][ô][ô] </summary>
Private Sub Datas_Click(sender As System.Object, e As System.EventArgs) Handles Datas.Click
If DizData.Text.Length <= 8 Then
If DizData.Text.Length = 7 Then
MessageBox.Show([Ô]Digite a Data de Nascimento Corretamente![Ô])
Exit Sub
End If
If Validar_Data(DizData.Text) = False Then
MessageBox.Show([Ô]Digite a Data de Nascimento Corretamente![Ô])
Else
MessageBox.Show([Ô]Data de Nascimento Aceite![Ô])

End If
End If
If DizData.Text.Length > 8 Then
If Validar_Datas(DizData.Text) = False Then
MessageBox.Show([Ô]Digite a Data de Nascimento Corretamente![Ô])
Else
MessageBox.Show([Ô]Data de Nascimento Aceite![Ô])
End If
End If

End Sub
End Class


Obrigado desde já pela vossa colaboração.
Espero que em um futuro, ajude alguém com este exemplo.
Atenciosamente
ProgramadorVB6
Tópico encerrado , respostas não são mais permitidas