Clipper On Line • Ver Tópico - Acentos / exportacao

Acentos / exportacao

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Acentos / exportacao

Mensagempor cleudson » 15 Ago 2009 22:48

olá sempre que preciso exportar base de dados dbf para sistemas para sistemas graficos os acentos do clipper ficam com caracteres extranhos no novo banco de dados, sendo assim andei procurando uma funcao para tirar todos os acentos da base dbf encontrei um muito bom fiz uma pequena modificacao para tirar todos os acentos de todos os campos da tabela que sejam do tipo char. Estou enviando pra voces para quem necessitar usar.

//================================================================//
// Funcao........: Remocao de acentuacao (REMACENT)
// Programador...: Marcos Antonio Gambeta
// Atualizacao...: Leomar Cleudson Costa
//                 Implementado para remover os acentos de toda tabela
//                 com campos tipo Char e pedir o nome da tabela
//                 15/08/2009 (vc pode incluir novos caracteres na funcao.         
// Contato.......: dicasdeprogramacao@yahoo.com.br
// Website.......: http://dicasprog.codigolivre.org.br
//================================================================//
// Linguagem.....: CA-Clipper 5.2/5.3
// Bibliotecas...:
// Plataforma....: DOS/Windows
//================================================================//
clear
ttab:=space(8)

@ 10,10 say "Tabela.:"
@ 10,19 get ttab pict '@!'
read
use (ttab) alias tab new
DBgoTop()

A=fcount()
for X=1 to A
    if type(field(X))="C"
       NOMECAMPO=field(X)
       DBgotop()
       while !eof()
         texto:=alltrim(&NOMECAMPO)
         texto:=remacent(texto)
         field->&NOMECAMPO:=texto
         skip
       end
    endif
next
@ 11,10 SAY 'Remocao de acentos concluida com sucesso '
return(.t.)
*
Function RemAcent ( 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" )
cTexto := StrTran( cTexto, "™", "O" )
cTexto := StrTran( cTexto, "Ž", "A" )
cTexto := StrTran( cTexto, "†", "A" )

// 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" )

//outros caracteres
cTexto := StrTran( cTexto, "§", "." )
cTexto := StrTran( cTexto, "¦", "." )
cTexto := StrTran( cTexto, '"', ""  )

Return cTexto


---
Notas da Moderação (Maligno):
1) A mensagem foi editada apenas para a inserção das tags de indentação de código, a fim de facilitar a visualização do código. Por favor, no futuro, insira essas tags, mesmo em códigos mais simples.
2) O tópico foi movido da seção "CA-Clipper", uma vez que seu conteúdo diverge dos objetivos daquela seção, onde só podem constar mensagens que lancem ou discutam dúvidas técnicas.
cleudson
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 15 Ago 2009 22:33
Cidade/Estado: Pernambuco
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Acentos / exportacao

Mensagempor Maligno » 16 Ago 2009 07:08

Vide dica já publicada:
viewtopic.php?f=1&t=1560&start=0
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Google [Bot] e 20 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro