Ir para conteúdo
Fórum Script Brasil
  • 0

Máscara de entrada em textbox


kkkiler

Pergunta

FOI MAL TINHA POSTADO O TÓPICO NA AREA ERRADA :mellow: apaguem o outro

Bom, essa máscara é bem legal, ela aceita que o primeiro caracter seja "+" "-" "," ou números.

Do segundo caracter em diante, aceita apenas números e uso de uma vírgula(não se foi digitado "+" ou -" ou "," no primeiro caracter)

Pra falar a verdade, nem mesmo é uma máscara, você digita e apaga rapidao, você nem nota(so se segurar).

objeto é sua caixa de texto. Só substituir.

Private Sub MDE(objeto As Object)
Dim i As Integer
Dim virgula As Boolean
For i = 2 To Len(objeto)
If Mid(objeto, i, 1) = "." Then
objeto = Left(objeto, Len(objeto) - 1) + ","
    SendKeys ("{end}")
    Beep
    Exit Sub
    End If
    
If Asc(Mid(objeto, 1, 1)) = 44 And Asc(Mid(objeto, i, 1)) = 44 Then
objeto = Left(objeto, Len(objeto) - 1)
SendKeys ("{end}")
Beep
Exit Sub
End If

If Asc(Mid(objeto, 2, 1)) = 44 And (Asc(Mid(objeto, 1, 1)) = 43 Or Asc(Mid(objeto, 1, 1)) = 45 Or Asc(Mid(objeto, 1, 1)) = 44) Then
objeto = Left(objeto, Len(objeto) - 1)
SendKeys ("{end}")
Beep
Exit Sub
End If

If Asc(Mid(objeto, i, 1)) <> 8 And Asc(Mid(objeto, i, 1)) <> 44 And Asc(Mid(objeto, i, 1)) <> 46 And Asc(Mid(objeto, i, 1)) < 48 Or Asc(Mid(objeto, i, 1)) > 57 Then
objeto = Left(objeto, Len(objeto) - 1)
SendKeys ("{end}")
Beep
End If


If Mid(objeto, i, 1) = "," Then
        If virgula = True Then
        objeto = Left(objeto, Len(objeto) - 1)
        SendKeys ("{end}")
        Beep
        End If
virgula = True
End If
Next i
    
If Len(objeto) = 1 Then
For i = 1 To Len(objeto)
    


    If Mid(objeto, i, 1) = "." Then
    objeto = Left(objeto, Len(objeto) - 1) + ","
    SendKeys ("{end}")
    Beep
    Exit Sub
    End If
    
    If Asc(Mid(objeto, i, 1)) <> 8 And Asc(Mid(objeto, i, 1)) <> 43 And Asc(Mid(objeto, i, 1)) <> 45 And Asc(Mid(objeto, i, 1)) <> 46 And Asc(Mid(objeto, i, 1)) <> 44 And (Asc(Mid(objeto, i, 1)) < 48 Or Asc(Mid(objeto, i, 1)) > 57) Then
    objeto = Left(objeto, Len(objeto) - 1)
    SendKeys ("{end}")
    Beep
    End If
    Next i

End If
End Sub

Espero que gostem.

----EDIT----

Arrumei uns errinhos

Editado por kkkiler
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Um outro modo é usando a função replace(diga-se de passagem, assim é muito mais fácil):

Replace(string, strProcura, strSubstPor, Inicio, Contador, Compare)

1.String - é a string a ser alterada

2.strProcura - é a string a procurar em <String>

3.strSubstPor - é a string usada para substituir a string <strProcura>

4.Inicio - indica o incio da busca por <strProcura>. (Opcional)

5.Contador - indica o número máximo de vezes que <strProcura> será substituida

6.Compare - o modo de comparação a ser efetuada.

Esta função é muito útil para substituir ocorrências em uma string por um determinado valor. Vamos mostrar um exemplo onde vamos substituir todas a vírgulas(,) em uma frase por ponto e vírgula(;):

Exemplo:

Frase = " Geralmente , temos um problema , quando a temperatura aumenta "

NovaFrase = Replace(Frase, "," , ";" ) retorna => "Geralmente ; temos um problema ; quando a temperatura"

Nota: Observe que você deverá estar atento ás seguintes ocorrências:

1.Se string for igual a "" a função strReverse irá retornar: ""

2.Se string for Null a função strReverse irá retornar um erro

3.Se strProcura for igual a "" a função strReverse irá retornar uma cópia de string

4.Se strSubstPor for igual a "" a função strReverse irá retornar uma cópia de string com todas as ocorrências de StrProcura removidas

5.Se Inicio > string a função strReverse irá retornar uma string vazia ""

6.Se contador for igual a zero a função strReverse irá retornar uma cópia de string

Retirado do site do Macoratti

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...