conversão de texto

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

kakamachado
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 07 Mar 2016 18:54
Localização: Rio de Janeiro

conversão de texto

Mensagem por kakamachado »

Alguém tem um a função ou rotina para converter palavras em lowercase e com acentuação e cedilha para upercase sem acentuação? Ex: Coração viraria CORACAO.
Obrigado
Editado pela última vez por Toledo em 01 Abr 2017 08:26, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Ferramentas de Apoio, uma vez que seu conteúdo não tem relação com os objetivos daquela seção.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

conversão de texto

Mensagem por Toledo »

Amigo, segue a função:

Código: Selecionar todos

Function RemoverAcentos ( cTexto )

   // acento agudo
   cTexto := StrTran( cTexto, "á", "a" )
   cTexto := StrTran( cTexto, "é", "e" )
   cTexto := StrTran( cTexto, "í", "i" )
   cTexto := StrTran( cTexto, "ó", "o" )
   cTexto := StrTran( cTexto, "ú", "u" )
   cTexto := StrTran( cTexto, "Á", "A" )
   cTexto := StrTran( cTexto, "É", "E" )
   cTexto := StrTran( cTexto, "Í", "I" )
   cTexto := StrTran( cTexto, "Ó", "O" )
   cTexto := StrTran( cTexto, "Ú", "U" )

   // acento circunflexo
   cTexto := StrTran( cTexto, "â", "a" )
   cTexto := StrTran( cTexto, "ê", "e" )
   cTexto := StrTran( cTexto, "î", "i" )
   cTexto := StrTran( cTexto, "ô", "o" )
   cTexto := StrTran( cTexto, "û", "u" )
   cTexto := StrTran( cTexto, "Â", "A" )
   cTexto := StrTran( cTexto, "Ê", "E" )
   cTexto := StrTran( cTexto, "Î", "I" )
   cTexto := StrTran( cTexto, "Ô", "O" )
   cTexto := StrTran( cTexto, "Û", "U" )

   // til
   cTexto := StrTran( cTexto, "ã", "a" )
   cTexto := StrTran( cTexto, "õ", "o" )
   cTexto := StrTran( cTexto, "Ã", "A" )
   cTexto := StrTran( cTexto, "Õ", "O" )

   // ce-cedilha
   cTexto := StrTran( cTexto, "ç", "c" )
   cTexto := StrTran( cTexto, "Ç", "C" )

   // trema
   cTexto := StrTran( cTexto, "ü", "u" )
   cTexto := StrTran( cTexto, "Ü", "U" )

   // crase
   cTexto := StrTran( cTexto, "à", "a" )
   cTexto := StrTran( cTexto, "è", "e" )
   cTexto := StrTran( cTexto, "ì", "i" )
   cTexto := StrTran( cTexto, "ò", "o" )
   cTexto := StrTran( cTexto, "ù", "u" )
   cTexto := StrTran( cTexto, "À", "A" )
   cTexto := StrTran( cTexto, "È", "E" )
   cTexto := StrTran( cTexto, "Ì", "I" )
   cTexto := StrTran( cTexto, "Ò", "O" )
   cTexto := StrTran( cTexto, "Ù", "U" )

Return UPPER(cTexto)
Obs.: a função original retornava o texto como foi formatado (Maiúsculos/Minúsculos), então coloquei no final da função um UPPER(cTexto), mas se desejar o formatação original é só retirar a função UPPER().

Obs 2: este tópico deveria ser postado na seção "Harbour" ou "Clipper", então futuramente ela será movida para uma destas duas seções.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
kakamachado
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 07 Mar 2016 18:54
Localização: Rio de Janeiro

conversão de texto

Mensagem por kakamachado »

Obrigado Toledo, era isto mesmo que eu precisava. Abs.
Responder