Clipper On Line • Ver Tópico - Acelerando o Velho SET FILTER TO
Página 1 de 1

Acelerando o Velho SET FILTER TO

MensagemEnviado: 09 Abr 2015 16:16
por Kapiaba
#include "fivewin.ch"

REQUEST DBFCDX

Function main()

   LOCAL cPath, cNombre

   RddSetDefault( "DBFCDX" )

   cPath := "CUSTOMER.DBF"
 
   USE ( cPath ) NEW ALIAS cPath

   cNombre := "Kenny" //cambiar el nombre

   FastFilter( "*"+ Upper( cNombre ), 1 ) //El 1 para indicar el numero del Indice
 
   dbGotop()

   Browse()

return nil

Function FastFilter( cCad, nOrder )

   Local nIndice := OrdNumber()

   Set order to nOrder

   INDEX ON &(IndexKey()) TAG _TEMP_ TO tHarbourt CUSTOM ADDITIVE MEMORY
       
   Set order to nOrder

   dbGotop()

   Do While OrdWildSeek( cCad, .T. )

      OrdKeyAdd( "_TEMP_" )

      SysRefresh()

   Enddo

   OrdSetFocus( "_TEMP_" )

Return( nIndice )


// Para substituir o velho SET FILTER TO.


Acelerando o Velho SET FILTER TO

MensagemEnviado: 16 Mai 2017 18:00
por nasouza
esta função funcionaria no xHarbour?

Acelerando o Velho SET FILTER TO

MensagemEnviado: 17 Mai 2017 01:29
por fladimir
Até onde sei sim.

Acelerando o Velho SET FILTER TO

MensagemEnviado: 17 Mai 2017 09:08
por nasouza
Obrigado por sua atenção, Fladimir, mas por exemplo a função SysRefresh(), não é encontrada como uma função valida, lembrando que utilizo o xHarbour 1.2.3 = Hwgui 2,17 e a GtWvw.

Acelerando o Velho SET FILTER TO

MensagemEnviado: 10 Jun 2017 14:18
por rochinha
Amiguinhos,

A SysRefresh é re-frescura do Fivewin. É só retirá-la.

Quanto ao MEMORY do comando INDEX resta ver se a sua versão de xHarbour já a contempla. Senão é só tirá-la e o indice será gerado no disco rígido.