problema de acentuação no MEMOEDIT,MEMOREAD

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

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por porter »

ola pessoal, para os acentos aparecerem corretamente, uso o HB_AnsiToem

Código: Selecionar todos

@10,10 say HB_ANSITOOEM( "Adição" )


O arquivo ARQ, contem textos com acentos e mostra os acentos corretamente, mas na rotina abaixo o texto aparece com acentos desconfigurados

Código: Selecionar todos

MEMOWRIT(ARQ,MEMOEDIT(MEMOREAD(ARQ),03,12,20,67))
tentei usar dessa forma, para mostrar arquivo gerado pelo AcbrMonitorPlus

Código: Selecionar todos

MEMOWRIT( ARQ,MEMOEDIT(HB_ANSITOEM(MEMOREAD(ARQ),03,12,20,67)) )
erro de compilação:
Error: Unresolved external '_HB_FUN_HB_ANSITOEM' referenced from C:\LOJA\GERANFE.OBJ

xHarbour, windows 7.

obrigado.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por Kapiaba »

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1298
Registrado em: 06 Jul 2004 00:44
Contato:

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por ANDRIL »

porter escreveu:HB_FUN_HB_ANSITOEM'
A função não existe. Veja a ortografia, HB_AnsiToOem().
Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por porter »

dessa forma compila, mas o problema com acentuação continua.

Código: Selecionar todos

MEMOWRIT( ARQ,MEMOEDIT(HB_AnsiToOem(MEMOREAD(ARQ),03,12,20,67, .f., nil, 200 )) )
obrigado.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por alxsts »

[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por Daniel »

Porter
tenta assim troque o parentes de lugar da função HB_ansiToOem

Código: Selecionar todos

MEMOWRIT( ARQ,MEMOEDIT(HB_AnsiToOem(MEMOREAD(ARQ)),03,12,20,67, .f., nil, 200 )) 
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por porter »

assim, da certo.

Código: Selecionar todos

@ 10,10 say HB_AnsiToOem( "adição" )
mudei o parenteses, o resultado é o mesmo.

Código: Selecionar todos

MEMOWRIT( ARQ,MEMOEDIT(HB_AnsiToOem(MEMOREAD(ARQ)),03,12,20,67, .f., nil, 200 ))
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por Daniel »

Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por alxsts »

Olá!

Se não tiver as linhas abaixo no início do teu programa, coloque e teste.

Código: Selecionar todos

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850

FUNCTION MAIN()

 HB_LANGSELECT( 'PT' )  // Default language is now Portuguese
 HB_SETCODEPAGE( "PT850" )

 ...

RETURN NIL
Se não funcionar, teste com

Código: Selecionar todos

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PTISO

FUNCTION MAIN()

 HB_LANGSELECT( 'PT' )  // Default language is now Portuguese
 HB_SETCODEPAGE( "PTISO" )

 ...

RETURN NIL
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por alxsts »

Olá!

Ah... retire as chamadas da função HB_AnsiToOem()
[]´s
Alexandre Santos (AlxSts)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por porter »

bom dia alxsts, tentei todas essas formas que você postou, um simples HB_AnsiToOem( "adição" ), dá certo, mas com MEMOREAD e ALERT() não da certo, obrigado por sua atenção.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por alxsts »

Olá!

Provavelmente o problema está nos textos já gravados em sua base de dados no arquivo gerado pelo AcbrMonitorPlus. Eles devem ter sido salvos usando uma página de código diferente das que você está usando agora em seu programa. Teria que tentar descobrir como eles são gravados e tentar ajustar a página de código no teu programa.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por Jairo Maia »

Olá Pessoal,

Em se tratando do ACBrMonitor, tem a opção de retornar a resposta em Ansi, mas o padrão é UTF8.

Tente usar a função: Hb_UTF8ToStr( cString ):

Código: Selecionar todos

MEMOWRIT( ARQ,MEMOEDIT( Hb_UTF8ToStr( MEMOREAD( ARQ ) ), 03, 12, 20, 67,  .f., Nil, 200 ) )
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)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por JoséQuintas »

Isso da Fazenda é complicado.
Nem todas as UFs seguem o padrão UTF-8, mesmo sendo padrão nacional.
Precisa saber se o ACBR trata isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

problema de acentuação no MEMOEDIT,MEMOREAD

Mensagem por porter »

Tente usar a função: Hb_UTF8ToStr( cString ):
Bom dia pessoal, Jairo dessa forma deu certo, ficou perfeito, obrigado a todos pela atenção.

RESOLVIDO
Responder