Manter o cursor na Coluna do Dbedit

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Manter o cursor na Coluna do Dbedit

Mensagem por negrao »

Mocada, faco minha pesquisa de acordo com a posicao do cursor no dbedit, ou seja, se tenho 3 campos
codigo nome valor
se meu cursor tiver no nome , minha pesquisa sera por nome.
Mas o que ta acontecendo é que apos fazer a pesquisa, o cursor volta a ficar posicionado no Codigo.
Como faco pra manter o cursor onde esta , so mudar de posicao se for pressionado a tecla <- ou ->

Outra coisa...Qual o melhor Dbedit ou Browse
No caso do Browse, tem como mostrar somente alguns campos, como no dbedit ?
Pq no dbedit eu faco...
DBEDIT(01,01,20,79,CAMPOS[1],"MYFUNC",CAMPOS[2])
TEM como fazer isso tb no Browse ?

Valeu
Avatar do usuário
kiko
Usuário Nível 3
Usuário Nível 3
Mensagens: 145
Registrado em: 08 Jul 2004 15:24
Localização: Cianorte

Mensagem por kiko »

c pode fazer isso voltando o cursor pro lugar q ele tava...
tipo...antes de faze a pesquisa vc salva ROW() e COL(), e depois da pesquisa, vc usa o SETPOS() pra voltar onde tava antes...axo q isso dah certo no teu DbEdit()
quanto ao tBrowse, naum posso dizer nada...naum conheço a fundo o funcionamento dele...deixo pra alguem responder essa...hehehe
negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Mensagem por negrao »

Kiko , nao deu certo esse comando setpos()

Se tiver outra ideia fico grato....
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Negrão,

No caso do Dbedit, fica díficil posicionar o cursor na célula deseja pq não existe nenhum tipo de retorno da função que faça isso. Aconselho vc a utilizar a classe tbrowse. Não é difícil, basta dar uma olhada no NG e nos próprios exemplos do clipper (pasta Source\Tbrow) que da pra desenrolar direitinho.

Mas, vou te dar uma sugestão: depois do comando Seek (pra buscar o nome) Usa o comando Keyboard pra reposicionar o cursor na célula do nome.

Ex.: Keyboard Chr(4)
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

a rotina do usuario que o DBEDIT chama para poder funcionar pode captar qual a coluna atual do DBEDIT, assim, supondo que esteja na segunda coluna, ao acabar a procura e antes de dar o return 2 ao DBEDIT para poder redesenhar a tela, vc passa quantas setas para a direita serão emuladas, com o KEYBOARD REPL(CHR(4),COL), assim ele vai para o registro, fica na primeira coluna e dá seta para direita quantas vezes forem necessários, mas como o amigo citou, acho melhor também usar o TBROWSE.
Sem mais
Wagner Nunes
www.vagucs.com.br
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

OLá,

Eu também uso o comando KEYBOARD CHR(4) e funciona normalmente.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

OLá,

Eu também uso o comando KEYBOARD CHR(4) e funciona normalmente.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Responder