Jump to content
Fórum Script Brasil
  • 0

Maskara


Luiz Humberto

Question

O problema é o seguinte, tenho um campo maskara para ser digitado o telefone, só tem dois tipos para digita-los um é 222-2222 e outro e 3030-3030, começando com 2 será sempre três digitos depois o traço o que for diferente de dois será quatro digitos e o traço.

O que está acontecendo é colocque "###-####" como default, mas se começar a digitar com 3 o que vai mudar a seguência, digito não sai nada depois digito novamente aí aparece o digito mas na segunda posição.

Como posso resolver este problema

Private Sub MaskNumero_Change()

Dim PrimeiroDigito As String

Dim Aux As String

PrimeiroDigito = MaskNumero.ClipText

If Trim(PrimeiroDigito) <> "" Then

Aux = Mid(PrimeiroDigito, 1, 1)

If Aux = 2 Then

MaskNumero.Mask = "###-####"

Else

MaskNumero.Mask = "####-####"

End If

End If

End Sub

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

cara.. tipo não é bem o q você ta precisando e tals.. mas é como se diz "um Format" no campo text, eu achei esse fonte numas tralhas q eu tinha aki.. mas se eu não me engano funciona legal.. da uma tentada ae... PS.. concerteza alguém vai ter um codigo mais simplificado do q esse ehehhe o q vale é a intencao.. ihhi sad.gif

Function verificaTel(tamanho As Integer, telefone As String) As String
    Dim strTelefone As String
    Dim strResult As String
    Dim strCharacter As String
    strTelefone = Trim(telefone)
    X = 1
    strResult = ""
    Do While X <> tamanho + 1
        strCharacter = Mid(strTelefone, X, 1)
        If strCharacter = "-" Then
            verificaTel = telefone
            Exit Function
        End If
        X = X + 1
    Loop
    X = 1
    Do While X <> tamanho + 1
            strCharacter = Mid(strTelefone, X, 1)
            If Len(strTelefone) = 8 Then
                If X = 5 And Not strCharacter = "-" Then
                    strResult = strResult & "-" & strCharacter
                Else
                    strResult = strResult & strCharacter
                End If
            Else
                If X = 4 And Not strCharacter = "-" Then
                    strResult = strResult & "-" & strCharacter
                Else
                    strResult = strResult & strCharacter
                End If
            End If
        X = X + 1
    Loop
    verificaTel = strResult

End Function
no LostFocos do Text você coloca esse codigo:
    txtTelefone.text = verificaTel(Len(txtTelefone.text), txtTelefone.text.Text)

=)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...