Clipper On Line • Ver Tópico - Acentuação na versão 3.14 da HMG

Acentuação na versão 3.14 da HMG

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Acentuação na versão 3.14 da HMG

Mensagempor WALDYR SKUYA » 25 Jul 2013 18:49

Amigos, esta é minha primeira participação. Desculpe-me por algum erro de procedimento.

Estudei o novo padrão UNICODE e fiz testes. Percebi que esse padrão
utiliza 2 bytes para os caracteres acentuados. Isso nos PRG's e também nos
arquivos DBF (nestes, consome, em consequência, mais 1 byte, prejudicando a
estrutura do banco de dados existente). Parece-me que é possível continuar
utilizando o padrão ANSI com a versão 3.1.4, mantendo assim a forma de acentuação anterior das telas e dos DBF’s (com 1 byte somente), bastando para isso recompilar a biblioteca HMG com o padrão ANSI. Isso está correto ?

Caso positivo, com a biblioteca recompilada, devo continuar utilizando os recursos abaixo:

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_CDPSELECT("PT850")
?

Grato,

Waldyr Skuya
WALDYR SKUYA
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 17
Data de registro: 28 Jul 2010 23:33
Cidade/Estado: SÃO PAULO/SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

ACENTUAÇÃO NA VERSÃO 3.14 DA HMG

Mensagempor Jairo Maia » 26 Jul 2013 06:23

Olá Waldyr,

Seja Bem Vindo ao Fórum.

A HMG IDE 3.1.4 tem duas IDEs. Na pasta IDE está a IDE no padrão UNICODE, e na pasta IDE_ANSI está a IDE no padrão ANSI. Para continuar usando o padrão ANSI, basta colocar um ícone em sua área de trabalho para ela, e trabalhar normalmente com seus fontes e acentuação ANSI.

Note também, que a IDE no padrão UNICODE tem essa identificação no canto esquerdo do titulo da janela,e no padrão ANSI é normal:
Padrão UNICODE.jpg
Padrão UNICODE.jpg (11.02 KiB) Visualizado 1768 vezes

Padrão ANSI.jpg
Padrão ANSI.jpg (8.17 KiB) Visualizado 1768 vezes
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 de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

ACENTUAÇÃO NA VERSÃO 3.14 DA HMG

Mensagempor Toledo » 26 Jul 2013 10:02

WALDYR SKUYA escreveu:Caso positivo, com a biblioteca recompilada, devo continuar utilizando os recursos abaixo:

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_CDPSELECT("PT850")
?


Estes comandos são de configuração do Harbour. Logo em seguida, para configurar a MiniGui, use:

SET LANGUAGE TO PORTUGUESE

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Mario Mesquita » 26 Jul 2013 17:42

Boa tarde, amigos.

Estou ainda na versão 3.0.46 por receio de dar problemas nos meus programas nesse padrão unicode.

Usando a versão ANSI, posso trabalhar normalmente, sem me preocupar com algum tipo de ajuste?

Desde já, obrigado!

Sds,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Jairo Maia » 26 Jul 2013 19:48

Olá Mário,
Mario Mesquita escreveu:Usando a versão ANSI, posso trabalhar normalmente, sem me preocupar com algum tipo de ajuste?
Sim. Normalmente.

Opinião:
Usar a codificação Unicode UTF-8, não tem sentido se seu aplicativo será comercializado na língua pátria. Usar a codificação Unicode, se aplica apenas a aplicativos que serão usados em Vários Idiomas.

Curiosidade:
Existe a Codificação UTF-16, mas confesso que nem sei pra que serve, e muito menos como usá-la. Parece que é algo que ainda está no Prelo.
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 de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Claudio Soto » 26 Jul 2013 22:24

Toledo escreveu:
WALDYR SKUYA escreveu:Caso positivo, com a biblioteca recompilada, devo continuar utilizando os recursos abaixo:

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_CDPSELECT("PT850")
?


Estes comandos são de configuração do Harbour. Logo em seguida, para configurar a MiniGui, use:

SET LANGUAGE TO PORTUGUESE

Abraços,


En HMG usar :

SET LANGUAGE TO PORTUGUESE --> esto hace que tanto los mensajes de Harbour como de HMG aparezcan en Portugués, con HB_LANGSELECT("PT") solo los mensajes de Harbour se muestran en portugués y los de HMG en ingles, tendrías que llamar a la función InitMessages("PT") para que los mensajes de HMG también se mostrasen en portugués.

SET CODEPAGE TO PORTUGUESE --> esto estable el código de pagina al portugués, o sea habilita el uso de los acentos y demás caracteres del portugués, esto es lo mismo que utilizar HB_SetCodePage("PT850")

Saludos,
Claudio.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Toledo » 26 Jul 2013 22:43

Se observarmos o arquivo \include\i_lang.ch vamos notar que o comando SET LANGUAGE TO PORTUGUESE já chama os seguintes comandos:

REQUEST HB_LANG_PT
HB_LANGSELECT( "PT" )
InitMessages("PT")

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Claudio Soto » 26 Jul 2013 23:27

Jairo Maia escreveu:Curiosidade:
Existe a Codificação UTF-16, mas confesso que nem sei pra que serve, e muito menos como usá-la. Parece que é algo que ainda está no Prelo.

Hola Jairo.
Existen diferentes maneras de representar caracteres Unicode (UTF-8, UTF-16, UTF-32, etc.)
En UTF-8 un caracter ASCII simple ocupa como minimo 1 byte (8 bits) mientas que en UTF-16 ocupa como minimo 2 bytes (16 bits), esta ultima es la codificación de Windows en Unicode.
Como todos los sistemas aceptan representaciones multi-byte de caracteres, los bits más significativos del primer byte de una secuencia multi-byte determinan la longitud de la secuencia, la cantidad de bits encendidos determina la longitud, por ej. en UTF-8, si el primer bit es 0 es uno de los 128 caracteres de la tabla ASCII americana, si son 110, 1110 o 11110 significan que el carácter esta formado por 2 , 3 o 4 bytes (porque hay 2, 3 o 4 bits encendidos en el primer byte) y estos 2,3, o 4 bytes siempre comienzan con 10 de manera que indican que pertenecen a una secuencia multi-byte.
En UTF-16 es similar solo que necesitan menos bytes para representar un código de cararcter grande, pero se desperdician bytes para representar los caracteres simples como los de la tabla ASCII americana, porque requieren solo 7 bits y el formato emplea códigos con un mínimo de 16 bits.
Espero haber sido de alguna ayuda.
Saludos,
Claudio.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Acentuação na versão 3.14 da HMG

Mensagempor WALDYR SKUYA » 27 Jul 2013 00:28

Agradeço a todos a atenção.

Apenas para relatar a experiência que fiz:

Eu recompilei a biblioteca do HMG utilizando a opção 1-ANSI do "Buildlib" da versão 3.14.
Continuei utilizando o comando SET LANGUAGE TO PORTUGUESE e os outros comandos já citados.
Continuei utilizando o editor ConTEXT, configurado com arquivo DOS em "Opções-Preferências-Editor".

Qual o resultado:

As telas, mensagens e os registros em arquivos ficaram iguais ao que era antes. Ou seja, utilizou apenas 1 byte de espaço. Nos arquivos isso é importante porque o tamanho dos campos não precisa ser aumentado em alguns caracteres, mantendo o consumo de 1 byte para os caracteres acentuados (o novo padrão consume 2 bytes para os caracteres acentuados). Posso estar errado nisso ?

Não sei se estou certo no que disse e se, no dia a dia, poderão ocorrer problemas.

Abraços,

Waldyr Skuya
WALDYR SKUYA
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 17
Data de registro: 28 Jul 2010 23:33
Cidade/Estado: SÃO PAULO/SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Acentuação na versão 3.14 da HMG

Mensagempor Jairo Maia » 27 Jul 2013 08:08

Olá Waldyr,

Você decidiu e está agora trabalhando com HMG ANSI, e pelo que você disse configurou seu editor para DOS, então seus arquivos estão sendo escritos em OEM, o que também não tem nenhum problema, pois a página de código em português entenderá sem problemas a acentuação.

WALDYR SKUYA escreveu:Nos arquivos isso é importante porque o tamanho dos campos não precisa ser aumentado em alguns caracteres
Mesmo trabalhando em Unicode e usando acentuação, os campos dos arquivos não precisam ser alterados. Eles continuarão trabalhando da mesma forma.

WALDYR SKUYA escreveu:o novo padrão consume 2 bytes para os caracteres acentuados
Sim. Aliás, veja a explicação do Dr Soto um pouco acima na mensagem de 26 Jul 2013 23:27. O Dr Soto é um dos desenvolvedores da HMG e é o responsável pela implantação da codificação Unicode UTF-8 na HMG IDE, bem como as funções de string específicas para o padrão Unicode.
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 de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Jairo Maia » 27 Jul 2013 08:17

Nota à Moderação: Prezados Srs, embora o título do tópico diz a respeito de acentuação, podemos ver que desde o início o assunto inalienável ao tópico é a formatação Unicode. Assim, vou dar continuidade aqui dirigindo uma pergunta ao colega Claudio Soto a respeito de Unicode.

Olá Dr Soto,

Claudio Soto escreveu:En UTF-16 es similar solo que necesitan menos bytes para representar un código de cararcter grande, pero se desperdician bytes para representar los caracteres simples como los de la tabla ASCII americana, porque requieren solo 7 bits y el formato emplea códigos con un mínimo de 16 bits.
Obrigado pelos esclarecimentos. Porém, uma coisa me deixou confuso, a saber: Se em UTF-16 economizo bytes para representar um código grande, e desperdiço byte para representar por exemplo a letra A, em que situação seria vantagem o uso do UTF-16? Isso me deixou bastante confuso, uma vez que penso que os caractres ASCII são predominantes.

Desde já agradeço a atenção.
Nota de Moderação:
Toledo: Mensagem editada para corrigir o autor da citação (quote) que estava Toledo e o correto é Claudio Soto.
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 de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Claudio Soto » 27 Jul 2013 12:13

Jairo Maia escreveu:Claudio Soto escreveu:
En UTF-16 es similar solo que necesitan menos bytes para representar un código de cararcter grande, pero se desperdician bytes para representar los caracteres simples como los de la tabla ASCII americana, porque requieren solo 7 bits y el formato emplea códigos con un mínimo de 16 bits.
Obrigado pelos esclarecimentos. Porém, uma coisa me deixou confuso, a saber: Se em UTF-16 economizo bytes para representar um código grande, e desperdiço byte para representar por exemplo a letra A, em que situação seria vantagem o uso do UTF-16? Isso me deixou bastante confuso, uma vez que penso que os caractres ASCII são predominantes.

Hola Jairo.
Si tienes razón, para la mayoría de las cadenas de texto la UTF-8 es generalmente mas económica en el numero de bytes que la UTF-16, al menos para nosotros los occidentales. Tal es así que las páginas web y lo correos electrónicos emplean generalmente el sistema UTF-8.

Probablemente (esto es solo una suposición mía) Windows adoptó el sistema UTF-16 pensando en la globalización, al ser de 16 bits se pueden codificar muchos caracteres en una sola unidad (2 bytes) y por lo tanto requiere menos análisis de bytes adyacentes para determinar el código de un determinado carácter, aunque el precio en bytes sea mas alto para nosotros los occidentales. La inmensa mayoría de los caracteres Unicode se pueden codificar en 16 bits (incluyendo el chino y el japones), por lo tanto sería mas fácil y rápido en términos de CPU analizar y procesar un solo WORD (2 bytes) y eventualmente un segundo WORD adicional, que escanear el código byte a byte, esta perdida de eficiencia podría ser fatal para la velocidad del SO.

Saludos,
Claudio.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Jairo Maia » 27 Jul 2013 13:20

Claudio Soto escreveu:por lo tanto sería mas fácil y rápido en términos de CPU analizar y procesar un solo WORD (2 bytes) y eventualmente un segundo WORD adicional, que escanear el código byte a byte
Muito Legal... Muito Obrigado novamente pelos esclarecimentos.

Nota de Moderação:
Toledo: Mensagem editada para corrigir o autor da citação (quote) que estava Toledo e o correto é Claudio Soto.
Peço Desculpas. Apenas fiz como sempre faço: posicionei o cursor na área de edição, selecionei o texto na mensagem do Claudio Soto e cliquei no botão Citar. Não editei a citação, e não vi o problema.
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 de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Toledo » 27 Jul 2013 14:28

Jairo Maia escreveu:Peço Desculpas. Apenas fiz como sempre faço: posicionei o cursor na área de edição, selecionei o texto na mensagem do Claudio Soto e cliquei no botão Citar. Não editei a citação, e não vi o problema.

Jairo, não precisa pedir desculpas não, provavelmente você deve ter selecionado o texto na mensagem do Dr Claudio Soto e clicou no botão Citar da minha mensagem.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Acentuação na versão 3.14 da HMG

Mensagempor Mario Mesquita » 28 Jul 2013 11:56

Bom dia, amigos.

Obrigado pela dica. Vou baixar a 3.14, parece muito boa.

Sds e bom domingo,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro