FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Tdolphin: se bloquea seek al cambiar el orden de Query
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Tue Aug 06, 2013 07:07 PM
TecniSoftware wrote:
Biel EA6DD wrote:

Aguien m谩s con el mismo problema puede probarlo y confirmar que funciona.


Grande! hice el cambio a Set_MyLang( "es_ES" ) y ya no se cuelga!

Muchos saludos


Ale...
Estabas vivo?? jejeje Hace mil que no se te ve铆a che...
Urgente hay que tirar algo en la parrilla!!!
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Tue Aug 06, 2013 07:34 PM
Biel EA6DD wrote:
sysctrl2 wrote:Por cierto, alguien puede explicar para que es esa funcion?
Set_MyLang( "esp" )

saludos..

Por lo que he podido ver sirve para definir la configruaci贸n regional(Locale Support), y en concreto para la comparaci贸n de cadenas, pero el master Daniel nos lo concretar谩.


ya has dado la respuesta... :-)

bien que se soluciono el problema....
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Wed Aug 07, 2013 02:05 AM
Biel:
Buenisima tu soluci贸n!!! Muchisimas gracias, funciona perfecto!!!
Y no solo eso!! Tambien soluciona el problema que busque mucho tiempo la soluci贸n que indiqu茅 en 茅ste post http://forums.fivetechsupport.com/viewtopic.php?f=6&t=25941&p=149472&hilit=BUG+BUSQUEDA#p141971 donde no hac铆a bien la b煤squeda incremental en palabras comenzadas con CH o CI!
Muchisimas gracias!!!
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Wed Aug 07, 2013 02:27 PM

Bueno, me alegro de que se solucionara el problema, y de paso no solo uno sino dos :D .

El cambio es m铆nimo, pero la verdad es que me ha llevado un rato (largo)dar con ello. Primero fui tirando del hilo en xBrowse, al no enonctrar nada segui por tDolphin y al final dimos con el problema.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Wed Aug 07, 2013 03:22 PM
Biel EA6DD wrote:Bueno, me alegro de que se solucionara el problema, y de paso no solo uno sino dos :-) .

El cambio es m铆nimo, pero la verdad es que me ha llevado un rato (largo)dar con ello. Primero fui tirando del hilo en xBrowse, al no enonctrar nada segui por tDolphin y al final dimos con el problema.


Te funciona bien la busqueda incremental con xbrowse y los campos numericos?
Podrias probar este ejemplo? es una tabla en el servidor de Daniel, el campo es ID y es autoincremental.

Intenta buscar los siguientes numeros a ver si te funciona correctamente: 1525, 6617, 7102 y 8819

Code (fw): Select all Collapse
#include "fivewin.ch"
#include "xbrowse.ch"
#include "tdolphin.ch"

FUNCTION Main()

聽 聽LOCAL oServer, oDlg, oQry, oBrw

聽 聽D_SetCaseSensitive( .T. )
聽 聽Set_MyLang( "es_ES" )

聽 聽IF ( oServer := ConnectTo() ) == NIL
聽 聽 聽 RETURN NIL
聽 聽ENDIF

聽 聽oQry = oServer:Query( "SELECT id, first, last FROM clientes_copy3 ORDER BY first" )

聽 聽DEFINE DIALOG oDlg 聽SIZE 565, 480

聽 聽@ 30, 10 XBROWSE oBrw OBJECT oQry PIXEL SIZE 260, 200 AUTOCOLS AUTOSORT

聽 聽@ 10,10 say oBrw:oSeek prompt "" PIXEL SIZE 300, 15

聽 聽oBrw:CreateFromCode()

聽 聽ACTIVATE DIALOG oDlg CENTERED

RETURN NIL

#include "connto.prg"
#include "setbrw.prg"
Alejandro Cebolido

Buenos Aires, Argentina
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Wed Aug 07, 2013 05:22 PM
Hola Alejandro, pues no no funciona como es esperado. En campos num茅ricos parece no funcionar bien.
Creo que el problema est谩 en xBrowse, prueba el siguiente c贸digo en el que incluyo una funci贸n de busqueda con unos peque帽os cambios con referencia a la usada en xBrowse.
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "xbrowse.ch"
#include "tdolphin.ch"

FUNCTION Main()

   LOCAL oServer, oDlg, oQry, oBrw

   D_SetCaseSensitive( .T. )
   Set_MyLang( "es_ES" )

   IF ( oServer := ConnectTo() ) == NIL
      RETURN NIL
   ENDIF

   oQry = oServer:Query( "SELECT id, first, last FROM clientes_copy3 ORDER BY first" )

   DEFINE DIALOG oDlg  SIZE 565, 480

   @ 30, 10 XBROWSE oBrw OBJECT oQry PIXEL SIZE 260, 200 AUTOCOLS AUTOSORT
   oBrw:bSeek  := { | c | Prueba( c, oBrw ) }
   @ 10,10 say oBrw:oSeek prompt "" PIXEL SIZE 300, 15

   oBrw:CreateFromCode()

   ACTIVATE DIALOG oDlg CENTERED

RETURN NIL
//--------------------------------------------
static FUNCTION Prueba( c, oBrw, cQryWhere )

   local oQry        := oBrw:oMySql
   local nStart
   local uData, nNum, lRet
   local cSortOrder

   static aLastRec := {}

   nNum = AScan( oBrw:aCols, {| o | !Empty( o:cOrder ) } )

   if nNum < 1
      RETURN .f.
   endif

   cSortOrder = oBrw:aCols[ nNum ]:cSortOrder

   if Len( c ) == 1
      aLastRec    := {}
   endif

   IF Len( aLastRec ) < Len( c )
      IF Len( aLastRec ) == 0
         nStart = 1
      ELSE
         nStart = oQry:RecNo()
      ENDIF
      AAdd( aLastRec, nStart )
   ELSE
      ASize( aLastRec, Len( c ) - 1 )
      IF Len( aLastRec ) == 0
         nStart = 1
      ELSE
         nStart = ATail( aLastRec )
      ENDIF
   ENDIF

   lRet  := ( oQry:Seek( c, cSortOrder, nStart - 1, oQry:LastRec(),!oQry:FieldType( cSortorder  )=='N', .T. ) != 0 )

return lRet
#include "connto.prg"
#include "setbrw.prg"
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: Tdolphin: se bloquea seek al cambiar el orden de Query
Posted: Wed Aug 07, 2013 06:34 PM
Biel EA6DD wrote:Hola Alejandro, pues no no funciona como es esperado. En campos num茅ricos parece no funcionar bien.
Creo que el problema est谩 en xBrowse, prueba el siguiente c贸digo en el que incluyo una funci贸n de busqueda con unos peque帽os cambios con referencia a la usada en xBrowse.


Veo que llegaste a la misma conclusi贸n, de que el parametro lSoft en la llamada a Seek de TDolphin debe ser .F. para campos numericos y .F. para los demas tipos.
Habia llegado a esto pero hasta que no encotaste la solucion del problema Set_MyLang( "es_ES" ), aunque cambiara ese parametro, se seguia colgando y no llegabamos estabamos empantanados, finalmente han sido casi 3 parjaros del mismo tiro.

Habr谩 que ver si Daniel le pega una mirada a esto y si le da el ok definitivo para esta soluci贸n la puedan incluir en el fuente de xbrowse.prg en un futuro.

Muchos saludos
Alejandro Cebolido

Buenos Aires, Argentina

Continue the discussion