Página 2 de 5

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 14:56
por microvolution
prezado professor jquintas
tenho um grande respeito e admiração por ti... pois é um dos poucos que tem me incentivado a continuar com essa coisa de harbour...
bom, mas o nobre professor, às vezes me confunde ainda mais, ao enrolar as palavras...
Não há 3 erros...
desde o início deste tópico, que o que procuro é a mesma coisa:
"acentuação no @say"
pois nas demais fases ou impressões visuais deste aplicativo/teste, está tudo nos conformes.
Então, vou recapitular, mas, é só ler todo o conteúdo que verás que não estou misturando as coisas, na verdade, as coisas é que são misturadas demais.
Então, "euzinho" ao perceber que ao pegar o DEMO.PRG e apenas alterar de inglês para português, percebi que os "nossos acentos da nossa língua" não estavam apresentando de forma correta.
Daí pesquisei e não encontrei semelhante aqui em todo fórum, e, por orientação "sua" abri este tópico.
Como, ninguém havia se interessado ainda por este tópico - por talvez não ser da HMG ou HWGUI (que parecem ser as LIBs mais usadas atualmente e GTWVW é a menos usada), continuei as postagens e achei a questão da CODEPAGE...
Aí, até antes da CODEPAGE tudo funcionava perfeitamente, exceto o que eu tanto almejava:
acentuação correta para o nosso português!
Então, não tinha problema algum - exceto o já reiterada vezes por mim descrito.
JoséQuintas escreveu: Quer testar tudo de uma vez, resolver problemas de uma vez, falar de um problema sem ter resolvido o anterior... assim é complicado.
Agora pouco antes de postar aqui... o nobre professor citou 3 situações de erro e que estou atropelando...
Mas, provavelmente ao ler, percebeu que estava um pouco inconsistente e editou suas palavras...
bom, vou repetir...
Acho que não estou misturando (tinha mesmo mania de fazer isso, por não conhecer bem este fórum) as coisas neste momento.
O que quero é a solução para o tópico em questão, que trata tão somente da acentuação em apenas 2 @say que não estão saindo nos conformes.
Então, o que devo fazer, o Sr. ou algum outro professor e parceiro sugerem?

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 15:02
por JoséQuintas
Então vamos relembrar:
Erro BASE/1003 Variable does not exist: S_AMISCOBJLIST
Esse erro não tem nada a ver com acentuação, e nem com codepage, então esse seria o erro 1.

Falou novamente de erro de variável não existe, e provavelmente não vai ser mais essa, então esse seria o erro 2.

E o erro 3, é o assunto do tópico referente a acentuação.

Por isso editei minha mensagem pra tratar um de cada vez.
Então o primeiro erro, que postou fontes, foi o acima.

Agora vamos para o segundo erro, que provavelmente não é mais essa variável.

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 15:08
por microvolution
bom, acabei de ler novamente tudo que postei...
e acredito não estar misturando os assuntos!
minha primeira postagem, foi dia 18/02... até 24/02 ninguém havia comentado, então "euzinho" mesmo postei outro comentário no mesmo dia.
E, somente ontem 01/03 que alguém resolveu postar algum comentário, ou seja, somente após 11 dias após a abertura deste tópico é que alguém comentou...

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 15:49
por JoséQuintas
Ok. vamos em frente.
O erro da variável s_ alguma coisa... foi resolvido.

De qual variável a execução está reclamando agora?
Ou ainda não foi resolvido?

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 15:56
por microvolution
JoséQuintas escreveu:Esse erro não tem nada a ver com acentuação, e nem com codepage, então esse seria o erro 1.
então professor, como o Sr. explica:
Esse erro só acontece após colocar as linhas do codepage... se as comentar, o erro não existe? A prova disso, que esse "tal aplicativo/teste" está num cliente... e o criei como "protótipo" para uma parte gráfica sem a dificuldade que se tem na HMG... pois se é pra ser difícil, é melhor largar o harbour de lado e ir para o C++... se é pra ser fácil (acho) que devemos usar GTWVW ou GTWVG... não posso falar da HWGUI pois dela nada conheço.
Agora se for pra só ficar gastando tempo e energia elétrica... é melhor voltar e começar tudo de novo no delphi xe3 (a mais atual que tenho no meu win xp)... só não fui, por não ser opensource e não tenho din din para pagar 9mil R$ por uma licença atual.
JoséQuintas escreveu:Falou novamente de erro de variável não existe, e provavelmente não vai ser mais essa, então esse seria o erro 2.
Esse erro é o mesmo... não é outro. é o mesmo nº que o prezado cita.
JoséQuintas escreveu:E o erro 3, é o assunto do tópico referente a acentuação.
Volto a repetir, ratificar, reiterar:
A única coisa que preciso neste caso que é o assunto do tópico é a acentuação correta das seguintes linhas que já havia postado e as repito novamente:

Código: Selecionar todos

   @ 11 - nTop, nColGet - nLeft + 04 SAY win_OEMTOANSI("< Per¡odo Inicial para Exclus„o de PRESTA€™ES Baixadas >")
   @ 14 - nTop, nColGet - nLeft + 04 SAY "< Per¡odo Final para Exclus„o de PRESTA€™ES Baixadas >"
linhas acima, estão em ANSI.
As linhas abaixo estão em OEM:860 portuguese (que já demonstrei em imagem de postagem anterior):

Código: Selecionar todos

   @ 11 - nTop, nColGet - nLeft + 04 SAY win_OEMTOANSI("< Período Inicial para Exclusão de PRESTAÇÕES Baixadas >")
   @ 14 - nTop, nColGet - nLeft + 04 SAY "< Período Final para Exclusão de PRESTAÇÕES Baixadas >"
observa-se que o win_OEMTOANSI ou win_ANSITOOEM está funcionando, pois altera a acentuação, só que de forma incorreta.
É só isso que preciso... pois não há erro de "variável inexistente"... agora se colocar as tais linhas que já mencionei por diversas vezes, o erro acontece!
Aí que estou encucado com tal erro.
Proquê aparece só com o codepage???
:%

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:04
por JoséQuintas
Então comecemos de novo, pra tirar a dúvida.
Qual é a mensagem de erro?

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:37
por JoséQuintas
Devo considerar que é o mesmo erro?
Called from MAIN(641)

Data:24/02/2016 Horario: 16:33:46
Erro BASE/1003 Variable does not exist: S_AMISCOBJLIST

Called from WVW_PAINT(2019)
Called from WAPI_MESSAGEBOX(0)
Called from LBOXMESSAGE(2289)
Called from ABERTURA(3092)
Called from MAIN(533)

Não sei exatamente quando é executada wvw_paint, se várias vezes por segundo, se quando os milésimos de segundo atingem determinado valor, só sei que ela vai estar rodando o tempo todo.
Se houver erro nela, vai aparecer a qualquer momento, seja qual for o fonte, seja o que for que estiver sendo executado.
Se é antes ou depois de codepage, não se sabe, é a qualquer momento.
Se incluiu linhas no fonte, excluiu linhas no fonte, também não importa, é a qualquer momento.

Isso roda em multithread, significa que nem adianta criar variável pública que não vai resolver o erro.
A variável pública não é visível entre processos diferentes.

E isso não tem a ver com codepage ou acentuação.

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:45
por microvolution
bom, não sei se estamos falando da mesma coisa... pois parece que não.
O erro, só acontece após a inclusão no "código fonte DEMO.PRG original" das seguintes linhas:

Código: Selecionar todos

/*
// REQUEST HB_CODEPAGE_PTISO     //    trabalhar com v rios SOs e charsets pt_br
REQUEST HB_CODEPAGE_PT850     //    trabalhar com v rios SOs e charsets pt_br
REQUEST HB_LANG_PT    //    trabalhar com v rios SOs e charsets pt_br
HB_SetCodePage( "PT850" )                      // seleciona a p gina acima.							// 30/4/15w amigo Ivo da internet
// HB_SetCodePage( "PTISO" )                      // seleciona a p gina acima.							// 30/4/15w amigo Ivo da internet
HB_LANGSELECT('PT') 
*/
Observa-se que elas já estão COMENTADAS, significando que o código voltou a ser como era antes, e, aliás não apresenta erro algum.
As linhas acima, estão dentro da função MAIN(), não lembro, mas, vou mudá-las para antes da função e posto se acontece o erro novamente!

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:47
por microvolution
bom, colocando-as bem no início do .PRG (antes do MAIN) na linha 0 (zero) aí aparecem os erros onde existem as linhas STATICs.
Vou descer com elas para após as linhas STATICs.

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:48
por microvolution
também, não aceitam ser colocadas antes das declarações de MEMVAR. vou descer ainda mais!

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:52
por microvolution
bom, ou melhor "mau"... coloquei-as uma linha antes do MAIN() e gerou o erro que não consigo entender a lógica dele. Por que ele acontece só após acrescentar as linhas relacionadas ao CODEPAGE? sem as linhas, não gera erro e tudo funciona normalmente.
Vejam o mesmo erro... só mudou a posição das linhas, pois, acrescentei as linhas do CODEPAGE... mas, volto a "frisar": sem as linhas de codepage não há erro:
Data:02/03/2016 Horario: 16:48:51
Erro BASE/1003 Variable does not exist: S_AMISCOBJLIST

Called from WVW_PAINT(2021)
Called from WAPI_MESSAGEBOX(0)
Called from LBOXMESSAGE(2291)
Called from ABERTURA(3095)
Called from MAIN(534)
:% :% :%

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 16:54
por microvolution
Mais um comentário:
Não estou misturando os assuntos, quero acentuação correta, e, ao colocar as linhas de PTISO ou qualquer delas, acontece esse erro, e, como o professor Jquintas disse que o PAINT fica o tempo todo redesenhando, então traduzindo... é impossível descobrir a causa da variável inexistir.

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 17:00
por JoséQuintas
Não, não estamos falando a mesma língua.
Ainda não entendeu.

O seu fonte está com erro, precisa resolver esse erro, do que colocou no fonte, antes de resolver o problema da acentuação.
O erro do seu fonte não deixa o programa funcionar, então nem dá pra falar sobre acentuação.

Estou falando de resolver o erro, e você está teimando que tem a ver com codepage.

Confira isto aonde tem sua wvw_paint()

Código: Selecionar todos

STATIC S_aMiscObjList := {}

FUNCTION WVW_Paint( ... )
...

Multithread é igual executar dois EXEs ao mesmo tempo.
Se tem um erro vai dar erro. O que cada um fez primeiro não importa.
E se os dois tem que funcionar juntos, enquanto não resolver o erro, nenhum dos dois vai ser executado.

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 17:02
por microvolution
bom, já que tô atirando pra qualquer lado, fiz um chutômetro do meio do campo e marquei um gol... bateu no zagueiro, na trave, no goleiro, e, foi pro gol... não foi meu... foi de todos!
:))
Mudei essa sequência de codepage para o final do MAIN, um pouco depois do DO WHILE, vejam:

Código: Selecionar todos

...
   DO WHILE ( nKeyStd := hb_keyStd( Inkey( 0 ) ) ) != K_ESC
      // experiment with different paintrefresh interval:
      DO CASE
      CASE nKeyStd == hb_keyCode( "<" )
         wvw_SetPaintRefresh( Int( wvw_SetPaintRefresh() / 2 ) )
         Alert( wvw_SetPaintRefresh() )
      CASE nKeyStd == hb_keyCode( ">" )
         wvw_SetPaintRefresh( Int( wvw_SetPaintRefresh() * 2 ) )
         Alert( wvw_SetPaintRefresh() )
      CASE nKeyStd == hb_keyCode( "0" )
         wvw_SetPaintRefresh( 0 )
         Alert( wvw_SetPaintRefresh() )
      OTHERWISE
         // do nothing. Inkey() has been handled by nAfterInket()
      ENDCASE
   ENDDO


// REQUEST HB_CODEPAGE_PTISO     //    trabalhar com vários SOs e charsets pt_br
REQUEST HB_CODEPAGE_PT850     //    trabalhar com vários SOs e charsets pt_br
REQUEST HB_LANG_PT    //    trabalhar com vários SOs e charsets pt_br
HB_SetCodePage( "PT850" )                      // seleciona a página acima.							// 30/4/15w amigo Ivo da internet
// HB_SetCodePage( "PTISO" )                      // seleciona a página acima.							// 30/4/15w amigo Ivo da internet
HB_LANGSELECT('PT') 


   
   lboxmessage( "Obrigado por ter usado este aplicativo! " + hb_eol() + "Até a Próxima!" )

   // restore state
   wvwm_ResetMouseObjects( nCurWindow )
   ResetMiscObjects( nCurWindow )
   SetKey( K_F11, kF11 )
   SetKey( K_F10, kF10 )
   SetKey( K_F9, kF9 )
   SetKey( K_F8, kF8 )
   SetKey( K_F7, kF7 )
   // SetKey( K_F4, kF4 )
   SetKey( K_F3, kF3 )
   SetKey( K_F2, kF2 )
   SetKey( K_F1, kF1 )
   SetCursor( nCursor )

RETURN
Parou o erro de variável inexistente, mas, os @SAY continuam apresentando os "ç ã õ í" etc... de forma incorreta.
NOTA:
JoséQuintas escreveu:Estou falando de resolver o erro, e você está teimando que tem a ver com codepage.
claro que tem a ver sim... pois parou novamente!

GTWVW - acentuação português - caracteres especiais.

Enviado: 02 Mar 2016 17:12
por JoséQuintas
Está considerando coincidência como solução.
Já pensou ter que fazer algo assim em tudo que é fonte?