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

Primeira letra de cada palavra maiúscula


Pr0gr4m4d0r

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0
tem alguma função em vb.net q faz isso ou tem q ser no braço? rs

Que eu saiba não, mas para isso você não vai usar mais do que cinco linhas de código, então vale a pena fazer uma função.

Abraços,

Graymalkin

é, como não achei em lugar nenhum, não teve jeito e fiz na munheca mesmo, hehe ... se alguém quiser a funcionalidade, é só copiar e colar num módulo de funções básicas de sua aplicação ... o nome dela é FLUCase, de First Letter Upper Case :rolleyes:

Public Function FLUCase(ByVal strFrase As String) As String
        Dim strFraseAlterada As String
        Dim intQtdCaracteresFrase As Integer
        Dim intPosicao As Integer
        Dim bolEspaco As Boolean

        strFraseAlterada = ""
        intQtdCaracteresFrase = Len(strFrase)
        intPosicao = 1
        bolEspaco = False

        Do While intPosicao <= intQtdCaracteresFrase
            If intPosicao = 1 Then
                strFraseAlterada = UCase(Mid(strFrase, intPosicao, 1))
            End If

            If Mid(strFrase, intPosicao, 1) = " " Then
                bolEspaco = True
                strFraseAlterada = strFraseAlterada & " "
            End If

            If (bolEspaco = False) And (intPosicao <> 1) Then
                strFraseAlterada = strFraseAlterada & Mid(strFrase, intPosicao, 1)
            ElseIf (bolEspaco = True) And (Mid(strFrase, intPosicao, 1) <> " ") Then
                bolEspaco = False
                strFraseAlterada = strFraseAlterada & UCase(Mid(strFrase, intPosicao, 1))
            End If

            intPosicao = intPosicao + 1
        Loop

        FLUCase = strFraseAlterada
    End Function

... e a chamada dela no seu código é da mesma forma q o UCase ou LCase, assim:

strMyString = FLUCase("big bang")

Link para o comentário
Compartilhar em outros sites

  • 0

Você complicou um pouco o código.

Desenvolvi duas soluções simples:

Varredura nos caracteres:

Function FLUCase(ByVal strFrase As String) As String
        Dim i As Integer
        Dim buff As String

        For i = 1 To strFrase.Length
            If i = 1 OrElse Mid(strFrase, i - 1, 1) = Chr(32) Then
                buff &= UCase(Mid(strFrase, i, 1))
            Else
                buff &= Mid(strFrase, i, 1)
            End If
        Next
        Return buff
    End Function
Varredura nas palavras:
Function FLUCase(ByVal strFrase As String) As String
Dim buff As String
Dim tolk As Object() = Split(strFrase, Chr(32))
Dim i As Integer

For i = tolk.GetLowerBound(0) To tolk.GetUpperBound(0)
    buff = buff & UCase(Mid(tolk(i), 1, 1)) & Mid(tolk(i), 2, Len(tolk(i))) & Chr(32)
Next
buff = Mid(buff, 1, Len(buff) - 1) 'Remove o espaço sobressalente.

Return buff
End Function

É engraçado como na programação temos vários caminhos que dão no mesmo fim.

Abraço.

Editado por Zeero
Link para o comentário
Compartilhar em outros sites

  • 0
Você complicou um pouco o código.

Desenvolvi duas soluções simples:

Varredura nos caracteres:

Function FLUCase(ByVal strFrase As String) As String
        Dim i As Integer
        Dim buff As String

        For i = 1 To strFrase.Length
            If i = 1 OrElse Mid(strFrase, i - 1, 1) = Chr(32) Then
                buff &= UCase(Mid(strFrase, i, 1))
            Else
                buff &= Mid(strFrase, i, 1)
            End If
        Next
        Return buff
    End Function
Varredura nas palavras:
Function FLUCase(ByVal strFrase As String) As String
Dim buff As String
Dim tolk As Object() = Split(strFrase, Chr(32))
Dim i As Integer

For i = tolk.GetLowerBound(0) To tolk.GetUpperBound(0)
    buff = buff & UCase(Mid(tolk(i), 1, 1)) & Mid(tolk(i), 2, Len(tolk(i))) & Chr(32)
Next
buff = Mid(buff, 1, Len(buff) - 1) 'Remove o espaço sobressalente.

Return buff
End Function
É engraçado como na programação temos vários caminhos que dão no mesmo fim. Abraço.
muito boas suas soluções, mas eis q me aparece isso:
strFraseAlterada = StrConv(strFrase, VbStrConv.ProperCase)

é você tem razão, realmente na programação temos vários caminhos que dão no mesmo fim! huahuahua

abraço

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,8k
×
×
  • Criar Novo...