Tbrowse "pesquisa por letras"
Moderador: Moderadores
Ha , ja ia me esquecendo , ninguem tem nada sobre esse browseseek() , pelo que vi no link abaixo me parece fazer parte de uma Lib alienigena
link direto :
http://www.shopdosalarmes.com.br/fofao/ ... se.htm#072
link home do site:
http://www.shopdosalarmes.com.br/fofao/ ... browse.htm :f
link direto :
http://www.shopdosalarmes.com.br/fofao/ ... se.htm#072
link home do site:
http://www.shopdosalarmes.com.br/fofao/ ... browse.htm :f
C:\Xharbour\Xdev\Fw\VSX
Pessoal , andei baixando as fontes que os amigos diponibilizaram e alguns "demos" para criar minha rotina letra-a-letra , pois bem consegui cria-la de forma que me agradasse , mas no meio do caminho deparei com um erro que tambem acompanha os demos ja compilasdos .....
...Seguinte ...
quando se esta digitando os caracteres para a pesquisa , beleza mas a partir do momento que voce digita digamos "m " o ponteiro do DBF vai para o primeiro "m" que ele encontra, digamos que dai para frente eu pare de digitar e va usando as "setas" para baixo para selecionar manualmente o registro ; Agora o problema , caso eu apague a letra "M" e tecle algum caracter que venha antes dessa letra na ordem alfabética exemplo "L" , o ponteiro se perde , a pesquisa só pode ser continuada a partir da letra "M" pois o ponteiro esta nela, Ok tudo bem intendo que "se ja estou no meio do caminha ñ tem como pesquisar o que ja ficou para traz " mas gostaria de saber se tem como ao "zerar" a variavel de pesquisa fazer o ponteiro ir para GO top ate tentei este duas formas de se fazer ...
Falei pra caramba , só ñ sei se alguem vai compriender o erro ! dãaa ãa :%
...Seguinte ...
quando se esta digitando os caracteres para a pesquisa , beleza mas a partir do momento que voce digita digamos "m " o ponteiro do DBF vai para o primeiro "m" que ele encontra, digamos que dai para frente eu pare de digitar e va usando as "setas" para baixo para selecionar manualmente o registro ; Agora o problema , caso eu apague a letra "M" e tecle algum caracter que venha antes dessa letra na ordem alfabética exemplo "L" , o ponteiro se perde , a pesquisa só pode ser continuada a partir da letra "M" pois o ponteiro esta nela, Ok tudo bem intendo que "se ja estou no meio do caminha ñ tem como pesquisar o que ja ficou para traz " mas gostaria de saber se tem como ao "zerar" a variavel de pesquisa fazer o ponteiro ir para GO top ate tentei este duas formas de se fazer ...
Código: Selecionar todos
if empty(pesq)
alert("esta vazia") //Apenas para checar se realmente esta vazia!
brw:hittop()
endif
outra tentativa
if empty(pesq)
go top
endifFalei pra caramba , só ñ sei se alguem vai compriender o erro ! dãaa ãa :%
C:\Xharbour\Xdev\Fw\VSX
Nada a ver, mas apenas para complementar essa questão de "pesquisa". Uma coisa que meus clientes adoraram foi quando passei a oferecer uma pesquisa com a função sx_WildSeek(), permitindo a busca por nomes parciais. Abro uma caixa de diálogo e o cliente digita um nome qualquer. O sistema busca o primeiro. Encontrando, basta digitar * para buscar o próximo. Não existindo mais nenhum, solto um beep. É uma mão na roda. Ajuda muito quando não se consegue lembrar o início do nome, mas apenas uma parte dele.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Valeu pela dica maligno, mas quanto ao ponteiro se perder ainda continuo com o problema , pois mesmo fazendo o que o Vô indicou ñ funciona ja havia feito isso com o bakspace conforme vai teclando bakspace vai tirando "1" caracter da variavel de pesquisa e para confirmar se ela realmente estava vazia fiz como citei ha cima com o if empty(pesq) , alert("variavel vazia") ou seja, mesmo eu esvaziando a variavel , sem fazer um "go top " ñ adianta voltar a digitar que o ponteiro ainda continua perdido ...
´o)
´o)
C:\Xharbour\Xdev\Fw\VSX
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
No exemplo que eu dei não acontece isso. Inclusive é uma função mais genérica, que em casos mais comuns nem precisaria ser alterada para ser usada com qualquer outro programa.ederxc escreveu:quando se esta digitando os caracteres para a pesquisa , beleza mas a partir do momento que voce digita digamos "m " o ponteiro do DBF vai para o primeiro "m" que ele encontra, digamos que dai para frente eu pare de digitar e va usando as "setas" para baixo para selecionar manualmente o registro ; Agora o problema , caso eu apague a letra "M" e tecle algum caracter que venha antes dessa letra na ordem alfabética exemplo "L" , o ponteiro se perde
Falou!
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.
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 escreveu: No exemplo que eu dei não acontece isso.
Me descupe stanis , mais acontece sim , tente pesquisar qualquer coisa depois mova o ponteiro do dbf com as setas , depois apegue a variavel de pesquisa com o bakspece e tente pesquisar qualquer coisa que esteja acima do ponteiro , vera que o ponteiro ñ se move ... se alguem mais quiser fazer o teste só baixar o "exemplo.exe " do stanis e tbm tenho um outro aqui que é da própria area de download do site ...
se quiserem ver posto aqui....
OBS1: "apegue o que foi digitado somente depois de usar as seta , só assim notara o problema"
OBS2: Este "erro" ja esta no executavel , ñ foi eu quem criou , acho que voces não estão compriendendo o "erro"
té +++ , forte abraço que agora vou comer um pão , mó fome ae !
:xau
Editado pela última vez por ederxc em 09 Ago 2007 09:47, em um total de 1 vez.
C:\Xharbour\Xdev\Fw\VSX
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
É... entendi.
Então vai ver que acontece mesmo. Eu disse que não porque nunca ninguem reclamou, e já uso essa rotina no meus sistemas faz tempo. Inclusive bastante gente baixou também (tomara que eles já tenham corrigido :-p).
Sabe o que você pode fazer? Lá no meu prg, encontre os cases das respectivas teclas e ajuste, zere também a variável da pesquisa. De repente você dando um dbGoTop() antes da pesquisa também pode resolver.
O ideal talvez fosse jogar o valor do campo selecionado com a tecla lá em cima no campo de pesquisa, e atribuir seu valor a variavel. Assim o ponteiro não se perderia. Entendeu?
Faça alguns testes, eu não posso agora, mas assim que eu puder eu arrumo isso.
Valeu por achar o bug!
Então vai ver que acontece mesmo. Eu disse que não porque nunca ninguem reclamou, e já uso essa rotina no meus sistemas faz tempo. Inclusive bastante gente baixou também (tomara que eles já tenham corrigido :-p).
Sabe o que você pode fazer? Lá no meu prg, encontre os cases das respectivas teclas e ajuste, zere também a variável da pesquisa. De repente você dando um dbGoTop() antes da pesquisa também pode resolver.
O ideal talvez fosse jogar o valor do campo selecionado com a tecla lá em cima no campo de pesquisa, e atribuir seu valor a variavel. Assim o ponteiro não se perderia. Entendeu?
Faça alguns testes, eu não posso agora, mas assim que eu puder eu arrumo isso.
Valeu por achar o bug!
Editado pela última vez por Stanis Luksys em 09 Ago 2007 09:55, em um total de 1 vez.
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.
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.
Cara, se vc usou o modelo que eu lhe mandei - a minha função edita() - funciona, sim, 101% certo. Se não está funcionando, é pq vc copiou alguma coisa errada. Olhe o edita() com atenção! Como lhe falei, tem que fazer um GOTOP antes do SEEK...pois mesmo fazendo o que o Vô indicou ñ funciona
Agora, como vc está usando outro modelo, precisa checar quem lhe passou ele.

