Clipper On Line • Ver Tópico - Algum pode me ajudar com a função OrdWildSeek
Página 1 de 1

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 10:37
por Daiane
Olá Pessoal,
To tentando fazer a busca de uma palavra dentro de um campo "observação"


::xObservacao := "casa"
SELE 6 //seleciono o banco 6 ou seja IMCLIENT.dbf
SET ORDER TO 6 // OBSERVAC //aqui eu defino o indice q esta por ordem do campo OBSERVAC
GO TOP
DO WHILE OrdWildSeek("*"+alltrim(::xObservacao)+"*",.t.,.f.)


::Write(nLin+=1, 2,6->CODCLI + " " + alltrim(6->NOME))
::Write(nLin , 49, 6->CELULAR1 )
::Write(nLin , 69, 6->CELULAR2 )
::Write(nLin , 91, 6->EMAIL)
::Write(nLin ,119, 6->OBSERVAC)
Xlancto+=1
SKIP

ENDDO


dessa forma ele so busca um unico registro sendo q no banco tem varios com a busca q eu pedi
quando eu faço desta forma: OrdWildSeek("*"+alltrim(::xObservacao)+"*",.F.,.f.) mudando o segundo parametro para Falso, ele não responde,trava tudo.

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:11
por Kapiaba
#include "FiveWin.Ch"
#include "ord.ch"
#include "xbrowse.ch"

REQUEST DBFCDX

function Main()

   local oDlg, oFont, oBrw

   USE CUSTOMER NEW ALIAS CUST SHARED VIA "DBFCDX"
   SET ORDER TO TAG STREET
   GO TOP

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
   DEFINE DIALOG oDlg SIZE 800,400 PIXEL FONT oFont ;
      TITLE "XBRPWSE : INCREMENTAL FILTERS " + FWVERSION

   @ 30,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      DATASOURCE "CUST" AUTOCOLS AUTOSORT CELL LINES NOBORDER

   WITH OBJECT oBrw
      :lIncrFilter      := .t.
      :lSeekWild        := .t.
      //
      :CreateFromCode()
   END

   @ 10,150 SAY oBrw:oSeek PROMPT oBrw:cSeek SIZE 100,10 PIXEL OF oDlg ;
      COLOR CLR_BLACK,CLR_YELLOW

   ACTIVATE DIALOG oDlg CENTERED ON INIT ( oBrw:SetFocus(), .f. )

return nil


Teste este com lSeekWild do xBrowse para ver se gostas.

abs.

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:13
por Kapiaba
Vixi, acho que a sua versão do fivewin não suporta, tem q ser no minimo a FWXH13.08.

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:14
por Kapiaba
OrdWildSeek( "*PURE*" )

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:24
por Kapiaba
FUNCTION Main()

   USE MDL
   set index to MDL

   SET SCOPE TO "ALICIA","ALICIA"

   DBGOTOP()

   OrdWildSeek("*ZUC*")

   Do Whil !Eof() .and. OrdWildSeek("*ZUC*", .T. )

      LogFile("Teste.Log",{PER_NOMBRE })

   Enddo

RETURN NIL

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:27
por Daiane
eu tentei sem os parâmetros tbm,mas trava tbm

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:29
por Toledo
Uma outra opção:

Altere esta parte do seu código:
GO TOP
lPar_:=.F.
DO WHILE OrdWildSeek("*"+alltrim(::xObservacao)+"*",lPar_)
   lPar_:=.T.


Obs.: não precisa do SKIP dentro do DO WHILE... ENDDO.

Abraços,

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:50
por Daiane
Gente muito obrigada.
Funcionou dessa forma q vc falou Toledo.
Só ressaltando q é case sensitive,depois de testar dessa forma q vc falou,percebi q ainda não tava trazendo todos os dados
então usei o upper e assim trouxe o total correto.

Algum pode me ajudar com a função OrdWildSeek

MensagemEnviado: 29 Mar 2017 11:56
por Kapiaba