Clipper On Line • Ver Tópico - Algum pode me ajudar com a função OrdWildSeek
Mudar para estilo Clássico
Discussão sobre a biblioteca Fivewin - O Clipper para Windows.
Postar uma resposta

Algum pode me ajudar com a função OrdWildSeek

29 Mar 2017 10:37

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

29 Mar 2017 11:11

Código:
#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

29 Mar 2017 11:13

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

29 Mar 2017 11:14

Código:
OrdWildSeek( "*PURE*" )

Algum pode me ajudar com a função OrdWildSeek

29 Mar 2017 11:24

Código:
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

29 Mar 2017 11:27

eu tentei sem os parâmetros tbm,mas trava tbm

Algum pode me ajudar com a função OrdWildSeek

29 Mar 2017 11:29

Uma outra opção:

Altere esta parte do seu código:
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

29 Mar 2017 11:50

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

29 Mar 2017 11:56

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:

http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=8583

https://vivaclipper.wordpress.com/2013/04/01/ordwildseek/

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

https://sourceforge.net/p/xharbour/mailman/xharbour-developers/thread/20070226192947.GA8279@localhost.localdomain/

http://xthefull.blogspot.com.br/2014/02/harbouracelerando-al-viejo-set-filter-to.html

Abs
Postar uma resposta