Convertendo as primeiras letras de um texto para Maiúsculos (Exceto: de, da, do, das, dos, a, e.).
A função a seguir irá converter as primeiras letras de um texto para Maiúsculas deixando os demais caracteres em letras minúsculas . Os caracteres - de, da, do, das, dos, a, e - também não são convertidos. Esta função é ideal para tratar nomes próprios de pessoas em uma rotina de entrada de dados. Eí-la...
1-) Inicie um novo projeto no VB e insira no formulário padrão duas caixas de texto e um botão de comando:
2-) No formulário padrão insira o seguinte código : A função irá receber o texto a ser tratado e devolve o resultado.
Public Function ConverteMaiuscula(Texto As String) As String Dim sPalavra As String, iPosIni As Integer Dim iPosFim As Integer, sResultado As String iPosIni = 1 Texto = LCase(Texto) & " " Do Until InStr(iPosIni, Texto, " ") = 0 iPosFim = InStr(iPosIni, Texto, " ") sPalavra = Mid(Texto, iPosIni, iPosFim - iPosIni) iPosIni = iPosFim + 1 If sPalavra <> "de" And sPalavra <> "da" And _ sPalavra <> "do" And sPalavra <> "das" And sPalavra <> "dos" And sPalavra <> "a" And sPalavra <> "e" Then sPalavra = UCase(Left(sPalavra, 1)) & LCase(Mid(sPalavra, 2)) End If sResultado = sResultado & " " & sPalavra Loop ConverteMaiuscula = Trim(sResultado) End Function |
3-) No evento click do botão de comando você pode usar o seguinte código:
Private Sub Command1_Click() Dim resultado As String resultado = ConverteMaiuscula(Text1.Text) Text2.Text = resultado End Sub |
O jeitão do formulário é o seguinte: Na primeira caixa de texto temos o nome a ser convertido , e na segunda caixa o resultado após a conversão pela função...
Valeu ? ...