VALIDAR DATAS

 Tópico anterior Próximo tópico Novo tópico

VALIDAR DATAS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#441320 - 18/09/2014 11:55:48

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


Última edição em 18/09/2014 11:59:47 por PROGRAMADORVB6

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


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


Resposta escolhida #441324 - 18/09/2014 13:12:49

NICKOLASCARLOS
PONTALINA
Cadast. em:Julho/2012


Última edição em 18/09/2014 14:19:15 por NICKOLASCARLOS

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!
  
  


----------------------------------------------------------------------------------
"E fez voar meu Corcel
Rumei pro norte, vi o sertão e fiquei por ali
Criando bode"
by Raimundos


#441381 - 20/09/2014 10:03:00

PROGRAMADORVB6
LISBOA
Cadast. em:Janeiro/2004


Última edição em 20/09/2014 10:05:05 por PROGRAMADORVB6

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


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PROGRAMADORVB6 em 20/09/2014 10:11:47