|
|
|
|
|
Dicas
|
|
Visual Basic (ActiveX/Controles/DLL)
|
|
|
Título da Dica: Filtrando um Maskedit
|
|
|
|
Postada em 3/2/2003 por Jean Carlos
Muitas vezes, utiliza-se um campo formatado para exibição, e se grava um valor "peneirado", ou seja, de um formato específico. As funções abaixo "limpam" strings de números ou alfabéticos. Esta é uma alternativa ao controle Masked Edit.
Function FU_LimpaNumero (campo As String) As String 'recebe string numérica 'retorna string numérica sem pontos, vírgulas etc. 'exemplo FU_LimpaNumero("1.245,90") = "1234590" Dim VA_Posicao As Integer Dim VA_Caracter As String * 1 Dim VA_Resultado As String VA_Resultado = "" VA_Posicao = 1 Do While VA_Posicao <= Len(campo) VA_Caracter = Mid$(campo, VA_Posicao, 1) If IsNumeric(VA_Caracter) Then VA_Resultado = VA_Resultado & VA_Caracter End If VA_Posicao = VA_Posicao + 1 Loop FU_LimpaNumero = VA_Resultado End Function Function FU_LimpaAlfa (campo As String) As String 'recebe string alfanumérica 'retorna string de letras maiúsculas sem pontos, vírgulas, números etc. 'exemplo FU_LimpaNumero("Adq-7465") = "ADQ" Dim VA_Posicao As Integer Dim VA_Caracter As String * 1 Dim VA_Resultado As String VA_Resultado = "" VA_Posicao = 1 campo = UCase(campo) Do While VA_Posicao <= Len(campo) VA_Caracter = Mid$(campo, VA_Posicao, 1) If Asc(VA_Caracter) > 64 And Asc(VA_Caracter) < 91 Then VA_Resultado = VA_Resultado & VA_Caracter End If VA_Posicao = VA_Posicao + 1 Loop FU_LimpaAlfa = VA_Resultado End Function
|
|
|
|
|