mudar codepage do arquivo RTF
Moderador: Moderadores
-
edegar_metodo
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Ago 2008 18:29
- Localização: Colorado - Pr
mudar codepage do arquivo RTF
Peço desculpas se estiver no lugar errado, li alguns tópicos mas fiquei confuso, tenho um programa funcionando 100%, acontece que mudou a usuária, e esta nova usuária cadastrou vários clientes com acentuação, na visualização tudo legal, mas ao abrir os relatórios (o programa gera um rtf, por sinal com fontes e tamanhos diferentes) mas os acentos ficam todos doidos, pensei em ler caracter por caracter antes de imprimir, mas deve ter um jeito mais simples, no caso das impressoras matriciais, troca-se o codpage e tudo resolvido, e aqui como resolve?? tem outro detalhe, sem a linha inicial do arquivo RTF, ao abri-lo no word, ele pede para converter, mas ao escolher Europa Ocidental (DOS), fica perfeito, então deve de ter jeito.
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
mudar codepage do arquivo RTF
Ver en este Link la sección "charset", tal vez pueda ser de ayuda.
http://www.biblioscape.com/rtf15_spec.htm
http://www.biblioscape.com/rtf15_spec.htm
-
edegar_metodo
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Ago 2008 18:29
- Localização: Colorado - Pr
mudar codepage do arquivo RTF
Gracias, pero acabé convirtiendo el carácter por carácter, la rutina se hizo pequeña, pero debe disminuir el rendimiento, pero gracias por la ayuda.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
mudar codepage do arquivo RTF
Em Harbour tem as funções que alteram as CodePages nativamente, mas em Clipper, para que isso não ocorra novamente, uma opção é você remover os acentos antes de salvar no arquivo RTF os campos que possam ser acentuados, como nome do cliente, nome do produto, endereço, cidade, etc, usando a função abaixo. Exemplo:
Código: Selecionar todos
cArqRTF += TiraAcentos( cNomeCli )Código: Selecionar todos
/*
Tira acentos de campos caracteres
*/
Func TiraAcentos( 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 ( cTexto )Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
edegar_metodo
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Ago 2008 18:29
- Localização: Colorado - Pr
mudar codepage do arquivo RTF
ops, estou compilando com o xharbour, tem jeito nativamente??? como eu disse no momento de gerar o pdf, estou convertendo os caracteres especiais para o padrão 1252.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
mudar codepage do arquivo RTF
O padrão 1252 é o padrão ANSI (Windows). Em Harbour, para alterar um texto em OEM para ANSI uso a função Hb_OEMToANSI( cTexto ). E funciona normalmente com o PDF.
Em xHarbour sei que tem as funções: Hb_OEMToANSI() e Hb_ANSIToOEM(). Veja se não ajuda.
Em xHarbour sei que tem as funções: Hb_OEMToANSI() e Hb_ANSIToOEM(). Veja se não ajuda.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
edegar_metodo
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Ago 2008 18:29
- Localização: Colorado - Pr
mudar codepage do arquivo RTF
boa tarde, então eu queria não precisar usar uma função, apenas alterar o code page, se for para usar uma função já estou usando a que criei, (no momento da necessidade como não localizei uma nativa, foi no braço....rsrsrsrsrsrsrsr, quando os olhos não acham a cabeça padece..rsrsrsrs) e o interessante que na semana passada estava no cliente, precisei olhar uma variável no banco, acabei abrindo o arquivo com o excel, e no excel os acentos estavam perfeitos como vemos no programa, ou seja, se o Excel / word mostra os acentos como visualizados no DOS, e eu gero o pdf e abro pelo WordView, logo deveria abrir, mas por hora tudo funcionando sem problemas, apenas temos que converter os acentos para o padrão Ansi no momento de gerar o arquivo. Por hora mais uma vez obrigado pela ajuda/atenção.
-
edegar_metodo
- Usuário Nível 1

- Mensagens: 40
- Registrado em: 19 Ago 2008 18:29
- Localização: Colorado - Pr
mudar codepage do arquivo RTF
ops, uma outra pergunta, a tela do DOS tem 80*25, se for usar uma lib grafica temos que mudar bastante, passei a algum tempo atras em um cliente que usa um programa onde a fonte parece ser texto, não é gráfica, mas o tamanho é bem maior tipo 40*160 ( parecido com hiperterminal / putty ), tem idéia como faz??
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
mudar codepage do arquivo RTF
Essa não é uma questão que se resolve em uma única dica. Depende de qual LIB Gráfica você vai usar. Se for por exemplo a GTWVG, procure por: "Tela cheia com gtwvg", no campo de busca do fórum que vai encontrar muita coisa sobre isso.edegar_metodo escreveu:tem idéia como faz??
Mas com a GTWVT, isso é muito fácil. Veja Nesse exemplo: Tela Cheia Usando GTWVT com Windows ou Linux.
Nota: Lembrando que a GTWVT não dá suporte a imagens.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)