Página 1 de 1

Acentuação correta

Enviado: 27 Set 2005 14:35
por Grings
Como fazer a acentuação funcionar corretamente ? Tenho as seguintes linhas no autoexec no Windows 98:

mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
keyb br,,C:\WINDOWS\COMMAND\keybrd2.sys id:275

Uso nos Get´s Pitcure @!X

Quando teclo Ç aparece ç, para aparecer Ç e caracteres acentuados tenho que manter a tecla CAPS LOCK ativada, então os caracteres aparecem em minúsculo, com exceção do Ç que aparece correto.

Já experimentei as dicas dos colegas, neste caso no XP, copiando os arquivos keyboard.sys keybrd2.sys do Win98 para o diretório C:\WINDOWS\SYSTEM32 e não deu certo também.

O teclado é o ABNT2.

Grato!

Enviado: 27 Set 2005 18:19
por Mário Isa
Olha! eu , no meu caso, optei por alterar o getsys.prg ali no momento onde ele insere o caracter digitado falei prá ele:
Se o picture atual for ! e a tecla pressionada for um caracter acentuado e for minúsculo entrar maiúsculo.
Mas parece q no clipper 5.2e tem um .bat que é o nation.bat algo assim q qdo você compila junto ele já dá tudo, mas eu não sei como é q faz.
Caso consiga. poste aki prá gente.
Se não conseguir me fale aki que eu te mando as alterações do getsys.prg. Mas segundo me parece o xHarbour não tem esse problema porém fivewin ainda tem.
Mário

Enviado: 28 Set 2005 09:03
por Grings
Olá Mário, as alterações com o Nation.Bat não resolveram o problema, fico-lhe muito grato se vc puder informar quais as alterações a serem feitas no GetSys.Prg para resolver esse problema. Meu e-mail é: angra@cpovo.net

Enviado: 28 Set 2005 09:24
por Mário Isa
te mandei pelo e-mail.
veja o a porção que inseri desde a linha 384 até a 394:
// Início Alteração Stoq2000
sl_oCarac1 = 'áéíóúãõâêîôûàèìòùäëïöüçñ'
if ! oGet:Picture = NIL
if "!" $ oGet:Picture .and. oGet:type == "C" .and. cKey $ sl_oCarac1
sl_oCarac2 = 'ÁÉÍÓÚÃÕÂÊÎÔÛÀÈÌÒÙÄËÏÖÜÇÑ'
cKey := subs(sl_oCarac2,at(cKey,sl_oCarac1),1)
release sl_oCarac2
End
End
release sl_oCarac1
// Fim Alteração Stoq2000
é aqui que ele faz a substituição do caracter minúsculo para maiúsculo se no pict tiver caracteres ! entendeu?
obs:
Insira logo abaixo deste else: (localize esta porção do programa no getsys.prg)

IF ( nKey >= 32 .AND. nKey <= 255 )

cKey := CHR( nKey )

IF ( oGet:type == "N" .AND. ( cKey == "." .OR. cKey == "," ) )
oGet:toDecPos()
ELSE

// bem aki você insere aquele pedaço ok?