Como fazer uma pesquisa especial em arquivo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
helio
Usuário Nível 3
Usuário Nível 3
Mensagens: 175
Registrado em: 04 Ago 2004 10:36
Localização: São Bento do Una-PE
Contato:

Como fazer uma pesquisa especial em arquivo

Mensagem por helio »

Gostaria de saber se alguns dos amigos ja fez alguma coisa parecida com isto que um cliente me pediu.

Ele que pesquisa por descricao da mercadoria desta forma:

Ex.: nome mercadoria: QUEIJO PARMESSAO REGINA 2KG
quer pesquisa digitando: SSAO REG


Obrigado pela atencao muito obrigado

Helio Beltrão Jr.
helio@hrbinfo.com.br
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Mensagem por Vander »

Amigo,

Use locate for...

Se quizer posso enviar um exemplo.

Vander
Avatar do usuário
digitom
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Abr 2006 13:52
Localização: Anápolis-Go
Contato:

Mensagem por digitom »

Segue abaixo uma rotina de pesquisa.

Vê se te serve.

Código: Selecionar todos

  Xprocura := Space(40)
  @ 11, 21 get Xprocura picture "@K!" 
  read
  if (LastKey() == 27)          
     return 1
  endif       
     Js:=savescreen(0,0,24,79)
     Tam := Len(Alltrim(Xprocura))
     Vetor := {}
     Select PRODUTOS
     Go top
     Achou := .f.
     
     Do While !eof()

        For i:=1 to 40
           If i+Tam > 40
              Exit
           endif           
           If Subst(NomeProduto,i,Tam) = Alltrim(Xprocura)
              aadd(Vetor,CodProduto+'│'+NomeProduto)
              Achou:=.t.
              Exit
           Endif
        Next
        Skip
     Enddo
   If Achou
      Xp:=Escolhe:=1      
      Do While .t.
         LTest := array(len(Vetor))
         @ 04,04 to 06,76 color 'b+/w'   
         afill( ltest, .T. )
         Escolhe:=achooice(7,4,21,76, Vetor, ltest, 1,cabeca )  
         if Escolhe = 0 //Se pressionou a tecla            
            Exit
         else  //Se pressionou ENTER 
            tPES:=Savescreen(0,0,24,79)
            Select Produtos
            Set order to 1
            Seek subst(Vetor[Escolhe],1,5)             
            
            RestScreen(0,0,24,79,tpes)
            Exit
         Endif
      Enddo
   Else
      ALERT('« ALERTA »;;Näo há produto com este nome')
   Endif
   restscreen(0,0,24,79,Js) //Retorna a tela salva anterior.

:xau
Fui :)
Avatar do usuário
helio
Usuário Nível 3
Usuário Nível 3
Mensagens: 175
Registrado em: 04 Ago 2004 10:36
Localização: São Bento do Una-PE
Contato:

Mensagem por helio »

muito obrigado pela forca vou testar todos os exemplos VALEU
Responder