Página 1 de 1

Algum pode me ajudar com a função OrdWildSeek

Enviado: 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

Enviado: 29 Mar 2017 11:11
por Kapiaba

Código: Selecionar todos

#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

Enviado: 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

Enviado: 29 Mar 2017 11:14
por Kapiaba

Código: Selecionar todos

OrdWildSeek( "*PURE*" )

Algum pode me ajudar com a função OrdWildSeek

Enviado: 29 Mar 2017 11:24
por Kapiaba

Código: Selecionar todos

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

Enviado: 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

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

Altere esta parte do seu código:

Código: Selecionar todos

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

Enviado: 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

Enviado: 29 Mar 2017 11:56
por Kapiaba
Daiane, se você quer somente o CAMPO: Observacao, podeis usar indice temporario em memória, com o comando:

INDEX ON... MEMORY ou TEMPORARY

Browse()

Teste e veja se te serve.

mais exemplos:

https://pctoledo.org/forum/viewto ... f=4&t=8583

https://vivaclipper.wordpress.com/2013/ ... dwildseek/

http://fivewin.com.br/index.php?/topic/ ... -xharbour/

https://sourceforge.net/p/xharbour/mail ... caldomain/

http://xthefull.blogspot.com.br/2014/02 ... er-to.html

Abs