Lixo no GET
Moderador: Moderadores
Lixo no GET
Boa tarde amigos do Fórum.
Possuo uma rotina que localiza o nome enquanto se digita. É uma rotina aproveitada daqui mesmo do COL e adaptada ao meu sistema.
Ocorre que antes que eu comece digitar, aparece um caractere abelhudo "ú" e a rotina fica sem efeito.
Alguém poderia dar uma dica de como eliminar essa "traça" , por favor ?
Forte abraço a todos!
Netavin.
Possuo uma rotina que localiza o nome enquanto se digita. É uma rotina aproveitada daqui mesmo do COL e adaptada ao meu sistema.
Ocorre que antes que eu comece digitar, aparece um caractere abelhudo "ú" e a rotina fica sem efeito.
Alguém poderia dar uma dica de como eliminar essa "traça" , por favor ?
Forte abraço a todos!
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: LIXO NO GET
Acho que tem a ver com a página de códigos utilizada.
Poste o trecho pra gente ver se descobre o que pode ser.
Poste o trecho pra gente ver se descobre o que pode ser.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: LIXO NO GET
É assim no chute não é facil, post parte do codigo que envolva o erro e vamos tentar achar esse abelhudo que nem você disse.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: LIXO NO GET
Boa noite a todos!
Eis a rotina a que me referi no post anterior...
... alinha que chama Buscano() é a seguinte:
Obrigado pela atenção !!!
Um abraço!
Netavin
Eis a rotina a que me referi no post anterior...
Código: Selecionar todos
#include "inkey.ch"
FUNCTION BUSCANO()
LOCAL tam, buf, get, pos, lin, col, tec, n_nsx
N_NSX := INDEXORD()
DBSETORDER(1)
get := GETACTIVE()
lin := get:row
col := get:col
buf := get:VarGet()
tam := LEN(buf)
pos := 1
Set cursor on
DO WHILE .T.
SETPOS(lin, col)
DISPOUT(buf)
SETPOS(lin, col - 1 + pos)
tec := INKEY(0)
IF tec >= 32 .AND. tec <= 255
TEC := ASC( UPPER( CHR( TEC )))
buf := LEFT(buf, pos - 1) + CHR(tec) + SUBS(buf, pos + 1)
IF DBSEEK(LEFT(buf, pos), .T.)
buf := LEFT(&(INDEXKEY(0)), tam)
ELSE
buf := LEFT(buf, pos) + SPACE( TAM - POS)
ENDIF
pos := MIN(tam, pos + 1)
ELSEIF tec == K_LEFT
pos := MAX(1, pos - 1)
ELSEIF tec == K_RIGHT
pos := MIN(tam, pos + 1)
ELSEIF tec == K_HOME
pos := 1
ELSEIF tec == K_END
pos := MIN(tam, LEN(TRIM(buf)) + 1)
ELSEIF tec == K_BS
IF pos > 1
pos --
buf := LEFT(buf, pos - 1) + SUBS(buf, pos + 1) + " "
ENDIF
ELSE
KEYB CHR(tec)
get:VarPut(buf)
get:UpdateBuffer()
DBSETORDER( N_NSX )
RETURN .T.
ENDIF
ENDDOCódigo: Selecionar todos
@ 18,07 SAY "Nome :" Get fnome PICT "@!" When Buscano() VALID !Empty(fnome)
READUm abraço!
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: LIXO NO GET
Olá Netavin,
Acabei de testar sua função aqui e não veio lixo algum no inicio do GET. se poder produza um pequeno exemplo que eu possa simular o erro aqui.
Acabei de testar sua função aqui e não veio lixo algum no inicio do GET. se poder produza um pequeno exemplo que eu possa simular o erro aqui.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: LIXO NO GET
Olá, bom dia !
caro amigo Syge, hoje o problema não ocorreu. É cabuloso né !! Acho que assim sendo, deve ser algum "efeito colateral" do uso de alguma outra rotina usada antes dessa.Que acha ?
Obrigado e um forte abraço!
Netavin.
caro amigo Syge, hoje o problema não ocorreu. É cabuloso né !! Acho que assim sendo, deve ser algum "efeito colateral" do uso de alguma outra rotina usada antes dessa.Que acha ?
Obrigado e um forte abraço!
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: LIXO NO GET
O Negocio é tentar limpar esse GET, antes fo READ ou dar um CLEAR GETS antes de chegar no GET FNOME
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: LIXO NO GET
Para entrar neste get, é preciso teclar alguma combinação de teclas antes ?
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: LIXO NO GET
Olá Netavin,
Você pode testar o seguinte:
Quando o get ficar ativo.
FUNCTION BUSCANO()
LOCAL tam, buf, get, pos, lin, col, tec, n_nsx
N_NSX := INDEXORD()
DBSETORDER(1)
get := GETACTIVE()
lin := get:row
col := get:col
buf := get:VarGet()
O teste:
if buf == "ú" //(o caracter abelhudo)
altd() //para debugar , não esqueça de marcar o /b na compilação.
//se parar aqui você saberá que vem de fora, ai neste caso use o clear gets.
endif
Você pode testar esta instrução em outros techos da função.
[]´s
Você pode testar o seguinte:
Quando o get ficar ativo.
FUNCTION BUSCANO()
LOCAL tam, buf, get, pos, lin, col, tec, n_nsx
N_NSX := INDEXORD()
DBSETORDER(1)
get := GETACTIVE()
lin := get:row
col := get:col
buf := get:VarGet()
O teste:
if buf == "ú" //(o caracter abelhudo)
altd() //para debugar , não esqueça de marcar o /b na compilação.
//se parar aqui você saberá que vem de fora, ai neste caso use o clear gets.
endif
Você pode testar esta instrução em outros techos da função.
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: LIXO NO GET
... boa tarde amigos !
Caro Alamino, não tem tecla de atalho. A função é chamada na linha do Get.
.
.
Caro Asimões, vou fazer este teste...
Grato a todos !
[]´s
Netavin
Caro Alamino, não tem tecla de atalho. A função é chamada na linha do Get.
.
.
Caro Asimões, vou fazer este teste...
Grato a todos !
[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
Re: LIXO NO GET
Bom dia a todos !
Problema resolvido! É uma caixa de surpresa mesmo, não ?
Alguém aí imaginou que era só desabiliar o mouse para consertar esse problema ??
Mas isso não está certo !!! Tem que haver outra saída.
Um abraço !
Netavin
Problema resolvido! É uma caixa de surpresa mesmo, não ?
Alguém aí imaginou que era só desabiliar o mouse para consertar esse problema ??
Mas isso não está certo !!! Tem que haver outra saída.
Um abraço !
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Re: LIXO NO GET
Amigos,
Voltando a este tópico, gostaria de saber se existe alguma maneira mais simples de evitar que o mouse jogue alguma sujeira no get, sem ter que desabilita-lo, notei que quando um get esta aguardando alguma entrada e o mouse for tocado, o get é carregado com esta sujeira "Ú".
Valeu!
Voltando a este tópico, gostaria de saber se existe alguma maneira mais simples de evitar que o mouse jogue alguma sujeira no get, sem ter que desabilita-lo, notei que quando um get esta aguardando alguma entrada e o mouse for tocado, o get é carregado com esta sujeira "Ú".
Valeu!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Re: LIXO NO GET
Itamar,
Quando meu sistema entra em um get esperando a entrada de alguma informação do teclado, se tocar no mouse o get é carregado como o caracter "Ú", para não acontecer é necessário desabilitar o mouse, mas gostaria de saber se isso tem como ser feito de outra maneira. Outra coisa isso ocorre apenas no xharbour 1.2.1
Valeu!
Quando meu sistema entra em um get esperando a entrada de alguma informação do teclado, se tocar no mouse o get é carregado como o caracter "Ú", para não acontecer é necessário desabilitar o mouse, mas gostaria de saber se isso tem como ser feito de outra maneira. Outra coisa isso ocorre apenas no xharbour 1.2.1
Valeu!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Re: LIXO NO GET
tarde pa tudo !
Caro momente, não é so no 1.2. Pois o meu é 1.0.0
Abraço!
Netavin
Caro momente, não é so no 1.2. Pois o meu é 1.0.0
Abraço!
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "