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

Função Inciais Em Maiusculo


mr.jango

Pergunta

Olá pessoal.

estava trabalhando com nomes de clientes em um relatório e conforme necessidade do usuario em deixar as inicias do nome e sobrenome em maiscula, desenvolvi a função abaixo.

por Exemplo:

Imagime que o nome esta guardado da suguinte forma no banco de dados JOAO DOS SANTOS DA SILVA, a função retorna o "João dos Santos da Silva". Não importa como vem do banco sempre sairá com as iniciais de nome e sobrenome em maiscula, exceto as "preposiçoes" (de, dos, das,...)

segue função:

Para chamar a função use:

response.write FormatNomeEmpregado("JOAO DOS SANTOS")

OU

FormatNomeEmpregado(RECORDSET("FIELDS"))

OU

FormatNomeEmpregado(VARIAVEL NOME)

<%

'++++++++++++++++++++++++++++++++++++++++++++++++++++

'Passo 1 - Deixar a Primeira letra da palavra minuscula

'Ex: João Dos Santos

'++++++++++++++++++++++++++++++++++++++++++++++++++++

Function FormatNomeEmpregado(nome)

Dim i

dim nomeformat

nome = UCase(Mid(nome, 1, 1)) & LCase(Mid(nome, 2, Len(nome)))

For i = 2 To Len(nome)

If Mid(nome, i, 1) = " " Then

nome = Mid(nome, 1, i) & UCase(Mid(nome, i + 1, 1)) & Mid(nome, i + 2, Len(nome))

End If

i = i '+ 1

Next

nomeformat = VerificaPreposicao(nome)

FormatNomeEmpregado = nomeformat

End Function

'++++++++++++++++++++++++++++++++++++++++++++++++++++

'Passo 2 - Trarar as supostas preposições como: de, do, dos, da, etc

'++++++++++++++++++++++++++++++++++++++++++++++++++++

Function VerificaPreposicao(nmpessoa)

Dim cont

Dim fim

Dim aux

For cont = 2 To Len(nmpessoa)

If Mid(nmpessoa, cont, 1) = " " Then

fim = cont

Do While Mid(nmpessoa, cont + 1, 1) <> " "

aux = aux & Mid(nmpessoa, cont + 1, 1)

cont = cont + 1

If cont > Len(nmpessoa) Then

cont = cont - 1

Exit Do

End If

Loop

Select Case aux

Case "Da", "Das", "De", "Di", "Do", "Dos", "Du"

nmpessoa = Mid(nmpessoa, 1, fim) & LCase(aux) & Mid(nmpessoa, cont + 1, Len(nmpessoa))

aux = ""

Case Else

aux = ""

End Select

End If

cont = cont '+ 1

Next

VerificaPreposicao = nmpessoa

End Function

%>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Boa função!!

Posta ela no tópico de funcões!!!

fiz uma aki também:

<%

function formatanome(valor)

  aux=split(nome,chr(32))

  x=0

  for each n in aux

      if len(n) > 3 or x=0 then

        formatanome=formatanome&chr(32)&Ucase(left(n,1))&Lcase(right(n,len(n)-1))

      else

        formatanome=formatanome&chr(32)&Lcase(n)

      end if

  x=x+1

  next

end function

%>

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