Ajuda sobre acentuação

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Ajuda sobre acentuação

Mensagem por joaoalpande »

Bom dia , ja li varias dicas mas não consigui fazer , eu crio um arquivo XML em clipper/DOs so que depois os caracteres de acentuação que o usuario usou (por ex: ª º Ç ) não sao reconhecidos nos programa do windows , preciso de uma solução rapida para este problema , se alguem puder ajudar???

Msn : wavetronic@net.novis.pt

Um abraço

João Alpande
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

João!
No caso dos acentos vc tem que usar uma função para fazer a substituição dos caracteres acentuados.

Código: Selecionar todos

FUNC MACENTO(ARG1)
   Local Local1:=  "aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAOcC ", ;
    Local2:=  " ‚¡¢£…Š
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Você precisa converter seus caracteres de OEM para ANSI, que é o padrão que o Windows mostra corretamente. Mas isso é fácil. Escreva todos os acentos em DOS e abra num editor de textos for Windows. Depois (no modo hexa, preferencialmente), veja quais são as equivalências em hexa e faça um conversor.
[]'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!
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Bom dia , obrigado mas eu queria a equivalençia em windows e não so retirar os acentos , vi uma funçao num topico OemtoAnsi() ja pedi ao autor por e-mail , mas se alguem tiver ela , gostaria de saber se podiam enviar e se funciona bem


Msn : wavetronic@net.novis.pt

Um abraço

João Alpande
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Realmente seria algo do tipo OEMtoANSI(). Considerando o nome, essa função, se converter corretamente, deve ajudá-lo. Caso contrário, você mesmo pode fazer isso. É fácil, como comentei antes.
[]'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 do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

João!
Na variável local1 é só escrever as letras acentuadas equivalentes aos aplicativos em windows, ou seja vc vai substituir o caractere "a" por "á".

Quer que faça a função novamente, ou vc consegue alterá-la?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pra ajudar nessa conversão, tenho uma função bem rápida (feita em C) que também facilita mais o código. Com ela a função ficaria:

STRanslate(cSource,cTable1,cTable2)

onde cSource é a string fonte, cTable1 contém os caracteres que devem ser pesquisados e cTable2 contém os caracteres equivalentes.

Link pra baixar: http://pub.buzinello.com/xbase/clipper/ ... lation.zip
[]'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!
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Obrigado pelas dicas , a funçao para converter sei fazer , a minha duvida e saber todos os caracteres a serem convertidos , não são só as letras com acentos , mas vou fazer manualmente e usar um editor windows para converter para OEM to ANSI


Msn : wavetronic@net.novis.pt

Um abraço

João
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Maligno e essa mesma que estou a usar , tenho de ver quais os caracteres que tem de ser convertidos.


Obrigado a todos

João Alpande
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Código: Selecionar todos

FUNC MACENTO(ARG1) 
   Local Local1:=  "áéíóúàèìòùäëïöüâêîôûãõÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛÃÕçÇ ", ; 
    Local2:=         " ‚¡¢£…Š
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Boa tarde,

Com as dicas consigui resolver o problema quase na totalidade, mas tem duas duvidas por exemplo:

crio um arquivo XML

- no campo do Nome de Cliente é "JOAQUIM & FILHOS" este caracter & da erro ao abrir no editor de xml ou no internet explorer , testei num software em VISUAL BASIC e verifico que ele no lugar do & coloca & não entendo porque da erro???

- o mesmo problema acontece com o < e o > que em VB mete < e &rt;

Alguem pode dar uma dica??

Msn : wavetronic@net.novis.pt

um abraço

João Alpande
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

no lugar do & coloca & não entendo porque da erro???
Por quê em XML o sinal & é prefixo de comando. Se quiser utilizá-lo experimente colocar &&.
[]'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!
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Maligno, mas um sistema em VB no nome meto o & e ao criar o XML fica bem , verifico que mete & o mesmo acontece com o < e o > , vou ter de converter estes caracteres para outro???

Já agora como validar um XML?

cumprimentos

João
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Eu não sei muita coisa sobre XML. Nunca precisei usar isso.
Há na internet, em alguns sites (Google pra quê te quero!), tabelas de conversão desses caracteres. Com uma dessas em mãos (não é difícil encontrar - aqui tem uma), faça um conversor. Assim, troque & por &amp, e assim por diante.
[]'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!
joaoalpande
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 24 Fev 2005 09:04
Localização: CAMPO GRANDE / MS

Mensagem por joaoalpande »

Obrigado por ajudar.


Um abraço a todos

João Alpande
Responder