• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

programadorvb6

[VB6] Formatar Data em Real-Time [Resolvido]

2 mensagens neste tópico

Olá boa noite .

Estou a tentar fazer com que em uma textbox me formate a data á medida em que vamos digitando os Nº e que aceite tambem o seu apagamento.

A inserssão de dados até que funciona, ( e até estava sincronizada) o problema é que ao apagar com a tecla BackSpace um dos caracteres"/" e voltar a preencher no sito que pertencia a esse caracter um nº a formatação fica baralhada, não me formatando o que se encontra já inserido automáticamente.

Deixo então aqui o código :

-Modulo :

Function CampoDATA(obj As Object, Keyasc As Integer)
    If Not ((Keyasc >= Asc("0") And Keyasc <= Asc("9")) Or Keyasc = 8) Then
        Keyasc = 0
        Exit Function
    End If
    If Keyasc <> 8 Then
        If Len(obj.Text) = 2 Or Len(obj.Text) = 5 Then
            obj.Text = obj.Text + "/"
             obj.SelStart = Len(obj.Text)
        End If
    End If
End Function

- Form :

Private Sub Text1_KeyPress(KeyAscii As Integer)
    
    CampoDATA Text1, KeyAscii
    If KeyAscii <> 8 Then
        If Len(Text1.Text) = 9 Then Text2.SetFocus
    End If
    If KeyAscii = 13 Then
        Text2.SetFocus
        KeyAscii = 0
    End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
    
    CampoDATA Text2, KeyAscii
    If KeyAscii <> 8 Then
        If Len(Text2.Text) = 10 Then
            Text2.SetFocus
            KeyAscii = 0
        End If
    End If
    If KeyAscii = 13 Then
        Text2.SetFocus
        KeyAscii = 0
    End If
End Sub

Grato pela vossa atenção.

Programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse  problema vais ter sempre, mas se tu fizerem isso mas com traços, ou seja, uma formatação  logo na caixa tipo: __/__/____ ou __-__-____, tu ao inseris os algarismos, ele vais substituindo os traços pelos números e quando chega ao / ou -, ele salta por cima tanto para frente como para trás.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora