Página 1 de 1

Memoedit / Acentuacao

Enviado: 29 Abr 2011 12:09
por Paulo Pereira
Ola, to comecando aqui..
Nos primeiro teste tive esses 2 problemas..
1 =Gero um arq. com mais de 80 colunas e quero mostra na tela, usava o memedit, no harbour só vai até a coluna 80. e ai ?

2= Porque o a com til no micro do meu cliente sai correto no clipper e no harbour sai um caracter grafico.. ?

Re: Memoedit / Acentuacao

Enviado: 29 Abr 2011 15:13
por alxsts
Olá!

Seja bem-vindo ao fórum!

Verifique a sintaxe da função MemoEdit() nos manuais. Existe o parâmetro nLineLen onde é possível especificar a quantidade de caracteres contidos em cada linha. Se você omitir este parâmetro, MemoEdit() criará um valor default que será a largura da janela definida (nRight - nLeft). Se você omitir as coordenadas de tela, são criadas por default também (0,0,MaxRow(),MaxCol()).

Quanto aos caracteres estranhos, tente usar a função HB_AnsiToOem().

Juntando tudo:
suponha que você tem um arquivo de texto com o nome texto.txt, onde cada linha tem 200 bytes e quer exibí-lo na tela.

Código: Selecionar todos

 MemoEdit( HB_AnsiToOem( MemoRead( "Texto.txt") ), 1, 1, 24,79, .F., NIL, 200 )
Mais dúvidas? è só postar.

Re: Memoedit / Acentuacao

Enviado: 29 Abr 2011 23:24
por Paulo Pereira
Funcao que uso com atalho para abrir o ultimo arquivo gerado
Com memoedit do harbour nao estou conseguido rolar a tela para alem da coluna 80*
Nao uso nenhum tipo de include ou request... talvez exista outra funcao...

E quanto a acentuação..no meu teclado que nao tem o c cedilha eu usava ao ALT 132, para simular o a com Til..no harbour nao tem essas opcoes..

Meu usuario com teclado nacional, usa o a com til normalmente.. mas ao colocar a versao com harbour agora, aparece como outro caracater grafico..devo converter ou tem aluguma configuraçao ??

Código: Selecionar todos

]
function ver_rel()
local getlist:={},vtam,varqprn,vcursor:=setcursor
local tela:=savescreen(),varq:=wwsaida
local tkr:=SETKEY(K_RIGHT,NIL),tkl:=SETKEY(K_LEFT,NIL)
local tf1:=SETKEY(K_F1,NIL),tf2:=SETKEY(K_F2,NIL),taltv:=SETKEY(K_ALT_V,NIL)
vtam:=fileTam(varq)
if vtam<=0
   mensagem(12,'Arquivo nao encontrado:'+wwsaida)
elseif vtam>45000
   mensagem(12,'Arquivo gerado:'+wwsaida+' Muito Grande Falta Mem¢ria')
else
   janela(0,0,24,79,.t.)
   set cursor on
   varqprn:=memoRead(varq)
   memoEdit(varqprn,0,0,24,275,.f., ,275)
   *MemoEdit( HB_AnsiToOem( MemoRead( "Texto.txt") ), 1, 1, 24,79, .F., NIL, 200 )
endif
SETKEY(K_F1,tf1)
SETKEY(K_F2,tf2)
SETKEY(K_ALT_V,taltv)
SETKEY(K_RIGHT,tkr)
SETKEY(K_LEFT,tkl)
setcursor(vcursor)
rest screen from tela
retu


Re: Memoedit / Acentuacao

Enviado: 29 Abr 2011 23:58
por alxsts
Olá!

Verifique estas linhas:

Código: Selecionar todos

local tkr:=SETKEY(K_RIGHT,NIL),tkl:=SETKEY(K_LEFT,NIL)  ===> Retire. Está desabilitando a seta para a direita e esquerda

memoEdit(varqprn,0,0,24,275,.f., ,275)   ===> Está informado a coluna fora dos limites da tela (275)

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 00:39
por Paulo Pereira
Valeu... Percebi tb que no Harbour pode abri arquivo bem grandes..
nao tive problema com aquele limite de 64K

Alguma dica pra o a com til ã

No meu teclado que nao tem o c cedilha eu usava ao ALT 132, para simular o a com Til..no harbour nao tem essas opcoes..de ALT na digitacao de caracteres..

Meu usuario com teclado nacional, usa o a com til normalmente.. mas ao colocar a versao com harbour agora, aparece como outro caracater grafico..devo converter ou tem aluguma configuraçao ??

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 09:01
por Jairo Maia
Olá Colegas,

Para resolver o problema dos caracteres latino, tente configurar o Harbour para pagina de codigo português (Latim 1), fazendo o seguinte:


// antes do inicio, acescente estas linhas:

Código: Selecionar todos

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_ES850C
FUNCTION Main()

// depois estas:

Código: Selecionar todos

HB_SETCODEPAGE('ES850C')
HB_LANGSELECT('PT')
Veja se resolve.

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 13:10
por Paulo Pereira
Ta dando
Referencia indefinida setcodepage

Código: Selecionar todos


function main()
# include 'inkey.ch'
# include "hbgtinfo.ch"   
local bErro:= ERRORBLOCK({ |objErro| TrataErro(objErro) })
local opcao:=3,telacab,vconta:=0,vuser,vestacao,vtam
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_ES850C
Request dbfcdx
Rddsetdefault("dbfcdx")
Dbsetdriver("dbfcdx")
*--
Hb_GTInfo(HB_GTI_MOUSESTATUS, .f. )  // mouse harbour
HB_SETCODEPAGE('ES850C')
HB_LANGSELECT('PT')


Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 13:30
por Jairo Maia
Olá Paulo,

Eu uso a versão 2.1 e funciona. Atualize sua versão do Harbour e veja se funciona.

https://sourceforge.net/projects/harbou ... e/download

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 13:49
por Paulo Pereira
To com a versao 2.1 que baixei ontem...
tem que configurar algum caminho para lib ? ou include ?

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 14:19
por Jairo Maia
Olá,

Esta opção é da lib xhb. Meu arquivo .hbp esta assim:

-inc
-lhbdebug
-lxhb
-lhbct
-lhbwin
-b
-quiet

# arq1.prg
# arq2.prg
# etc...

Código: Selecionar todos

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
FUNCTION Main()

Código: Selecionar todos

HB_SETCODEPAGE('PT850')
HB_LANGSELECT('PT')

Re: Memoedit / Acentuacao

Enviado: 30 Abr 2011 14:37
por Paulo Pereira
opa ...
era o xhb agora acentuação ok
valeu mesmo..