Clipper On Line • Ver Tópico - Alternativa ao OrdWildSeek

Alternativa ao OrdWildSeek

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Alternativa ao OrdWildSeek

Mensagempor frazato » 20 Nov 2012 13:59

Fiz está rotina para usar no lugar da OrdWildSeek que uso em todo o sistema mais não estava conseguindo usar ela para criar um indice temporario com esta situação e também usando o "$" não resolvia, e como ao meu ver ficou legal resolvi compartilhar.

Frazato

**
* Desenvolvido por João Frazato
* 20/11/2012
*
*

Function Main()
Teste()
Return nil

Function teste()
Close all
  mProc      :='NESTLE*SADIA*SUKITA'
  lCondicaoE := .T.

  use c:\frazato\produto
  Index on Descricao to c:\temp\Rec10 ;
                            For (Jaf_OrdWildSeek(mProc,.T.))
                           
   Dbedit(00,0,24,79)
cLose all
return nil

//-----------------------------------------------------------------
Function JAF_OrdWildSeek(_mProc,lCondicaoE)
Local mProc := _mProc , x:= 0,nQtdTesteOk := 0
Local wOpcoes := {} , c := ''
Local lCondicaoE := _lCondicaoE
For i:= 1 to Len(mProc)
    If Substr(mProc,i,1)=='*'
       Aadd(wOpcoes,c)
       c:=''
    Else
        c+= Substr(mProc,i,1)
    Endif
Next
Aadd(wOpcoes,c)

For x:= 1 to Len(wOpcoes)
        mProc := wOpcoes[x]
        If Substr(Descricao,At(mProc,Descricao),Len(mProc))==mProc
           nQtdTesteOk++
           If lCondicaoE==.t.
              Return .t.
           Endif
        endif
Next
Return Iif(nQtdTesteOk>=Len(wOpcoes),.t.,.f.)
frazato
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 219
Data de registro: 08 Jul 2004 07:45
Curtiu: 0 vez
Mens.Curtidas: 4 vezes

Alternativa ao OrdWildSeek

Mensagempor JoséQuintas » 20 Nov 2012 14:09

Legal, uso algo parecido nas minhas pesquisas.
Não sei se fica mais rápido:

Trocar isto:
Substr(Descricao,At(mProc,Descricao),Len(mProc))==mProc

Por isto:
mProc $ Descricao
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro