Página 1 de 1

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 18 Nov 2014 13:55
por Jairo Maia
Olá Pessoal,

Foi avisado em Novembro de 2012, e na versão 3.4 as funções HB_OEMTOANSI() e HB_ANSITOOEM() não existem mais, e também não funcionam se compilar os fontes delas. Assim, como resolver isso no HB 3.4? Alguma dica?
2012-11-15 16:07 UTC+0200 Alexey Myronenko (m.oleksa@ukr.net)
* doc/en/string.txt
+ documentaion for HB_AT(), HB_RAT() added/corrected
! fixed examples for them
- delete allusion for HB_OEMTOANSI(), HB_ANSITOOEM() due to they will
disappear after next stable release

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 18 Nov 2014 15:05
por Pablo César
Oi Jario,

Eu acho que ainda está vigente essa função, pois eu a uso em HMG. Pode ser que tenha sido desvinculada com o core do Harbour e precise incluíla como uma contrib.

Neste tópico, in dica para utilizar REQUEST HB_OEMTOANSI

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 18 Nov 2014 16:27
por Jairo Maia
Olá Pablo,

Obrigado por responder Mestre. Suas dicas são sempre Bem Vindas Neste Fórum. Obrigado.

Coloquei o REQUEST no .PRG principal e compilei com -rebuild usando o HB 3.4 e mesmo assim não foi encontrada. Será que na HMG não foram funções adicionadas pelo Dr. Soto ou o Rathinagiri?

Com os fontes do HB 3.2 não surte efeito. O Harbour da HMG atual é a versão 3.4? Porque na versão 3.2 elas ainda existem.

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 18 Nov 2014 21:25
por Pablo César
Obrigado Jairo pela suas palavras, é sempre um prazer tratar contigo.
Jairo Maia escreveu:Será que na HMG não foram funções adicionadas pelo Dr. Soto ou o Rathinagiri?
Não, eu já tinha verificado se existiam alguma diretiva, mas não. Depois que você perguntou sobre a atual versão do Harbour no ultimo release da HMG é que me toquei que a versão é a 3.2.0dev (r1407111333). Então continuei procurando e achei isto:
Tela01.png
O harbour (3.4.0-1) foi lançado Viktor Szakats em Wed, 1 Jan 2014 14:00:00 +0100

Nesse mesmo ChangeLog que você mostrou, se prestar atenção mais em baixo tem:
Tela02.png
Só eu não tenho certeza sobre o significado do LEGACY_LEVEL4 (se alguém com mais conhecimento esclarecer, é bem vindo !)

Ai encontrei este código fonte:
https://github.com/vszakats/harbour-cor ... /oemansi.c

Creio que se forçar disponibilizando estas funções talvez funcionem.

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 19 Nov 2014 00:07
por Jairo Maia
Olá Amigo Pablo,

Primeiro, quero dizer que a informação do dia 17 me passou batido sim. Obrigado pelo alerta.

Mas o que importa Mestre, é dizer Muito Obrigado Mesmo. Acabei de testar com ambas situações:

Código: Selecionar todos

cString := Hb_Translate( cString )  // funcionou...
E também com:

Código: Selecionar todos

cString := Win_OemToAnsi( cString ) // funcionou...
e
cString := Win_AnsiToOem( cString ) // também funcionou...
Então adotei a função Hb_Translate(), que atende ambas.

Valeu Pablo. Muito Obrigado Mesmo...
:{

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 19 Nov 2014 12:23
por Nascimento
pelo que entendi esse topico aqui atende o que vc quer

https://pctoledo.org/forum/viewtopic.php?t=4374

Funções HB_OEMTOANSI() e HB_ANSITOOEM() com HB 3.4

Enviado: 19 Nov 2014 16:21
por Jairo Maia
Olá Josivan,

Obrigado pela dica. Mas não! O que eu preciso é ler o conteúdo de um arquivo em ANSI e transformar em OEM, e vice-versa.

Quero aproveitar para fazer um Adendo a minha última Mensagem onde eu disse:
Jairo Maia escreveu:Então adotei a função Hb_Translate(), que atende ambas.
A função Hb_Translate(), altera uma CP (Code Page) para outra. Também dá certo, mas fica mais complicado. Realmente no meu caso foi solucionado com as funções: Win_OemToAnsi() e Win_AnsiToOem().

Obrigado a todos.

Problema resolvido!