Página 1 de 1

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 15:40
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.

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 15:46
por Kapiaba

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 16:03
por ANDRIL
porter escreveu:HB_FUN_HB_ANSITOEM'
A função não existe. Veja a ortografia, HB_AnsiToOem().
Até+

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 16:22
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.

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 17:22
por alxsts

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 17:34
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 )) 

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 17:49
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 ))

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 18:01
por Daniel

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 18:03
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

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 27 Mai 2016 18:04
por alxsts
Olá!

Ah... retire as chamadas da função HB_AnsiToOem()

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 28 Mai 2016 09:44
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.

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 28 Mai 2016 12:39
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.

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 28 Mai 2016 12:52
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 ) )

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 28 Mai 2016 13:34
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.

problema de acentuação no MEMOEDIT,MEMOREAD

Enviado: 29 Mai 2016 10:42
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