Page 1 of 1

OrdWildSeek, informacion de esta funcion.

Posted: Fri Apr 06, 2007 5:43 am
by Raymundo Islas M.
Hola a todos

Alguien tendra a la mano la informacion completa de esta funcion, he estado buscando y la info encontrada esta algo confusa.

Necesito saber cuales son todos sus parametros y la funcion de cada uno.

Ya vi todas las facilidades que ofrece, pero siento que la estoy aplicando a medias y a ciegas :wink:


Saludos

Posted: Fri Apr 06, 2007 6:08 am
by Andrés González
Raymundo, parece interesante esta funcion, donde la consigo, he revisado todo el foro y lo unico que he encontrado es una referencia a su uso. Tines inconveniente en enviarmela a:

zalezalon@gmail.com

Posted: Sat Apr 07, 2007 12:23 am
by Raymundo Islas M.
Hola Andres

Viene incluida con xHarbour, asi que, si es lo que usas para compilar, la tienes a la mano :D


Saludos

Posted: Sat Apr 07, 2007 2:37 am
by jose_murugosa
Efectivamente se incluye en xHarbour desde Junio 2004
http://www.xharbour.org/index.asp?page=news/20040628

Sintaxis:
OrdWildSeek(cPatern, [lCont])

(Cuidado, trabaja sobre índices CDX)

OrdWildSeek() busca un string de caracteres que puede contener caracteres comodines ( wild card ) en el índice activo. Esto permite recoger subsets de registros basados en una búsqueda de un string aproximado. Los registros que cuadran con la búsqueda se encuentran en el índice activo, y el puntero de registro se posiciona sobre el registro correspondiente. la función Found() devolverá .t. hasta que el puntero se mueva nuevamente. Ade,+as BoF() and EoF() dan .F. (falso), Si el valor que se busca no se encuentra, OrdWildSeek() posicionará el puntero en el "Registro Fantasma" (Lastrec()+1), por lo cual Found() devuelve .F. (falso) y Eof() .T. (verdadero). El seteo por medio de SET SOFTSEEK es ignorado por OrdWildSeek().

(Traduccion libre del manual de xHarbour)

No traduje más porque el resto está en el idioma de loro barranquero liptum no se que que en fin.... no se entiende, y como la documentación de xHarbour.org fué escrita durante "la pasión de Cristo" pues, a jo...robarse.

Posted: Sat Apr 07, 2007 7:18 pm
by Ruben Fernandez
Fernando:

Como activo el flag HB_COMPAT_XPP en Harbour

Muchas gracias.

Ruben Fernandez.

Posted: Sat Apr 07, 2007 9:02 pm
by Ruben Fernandez
Muchas gracias Fernando.

Saludos

Ruben Fernandez

Posted: Sun Apr 08, 2007 2:10 am
by Raymundo Islas M.
Hola Amigo Jose

Gracias por la informacion.

Seguire probando ya que en ocasiones me manda algunos registros que no deberia, quiero asumir que es debido a los comodines.

Eso si, que lo hace rapidisimo no hay duda :wink:


Saludos

Posted: Mon Apr 09, 2007 9:36 am
by Andrés González
javascript:emoticon(':oops:')
Embarassed

Gracias a todos pense que era una contribucion de alguien del foro.

Posted: Mon Apr 09, 2007 11:02 am
by jose_murugosa
Raymundo Islas M. wrote:Hola Amigo Jose

Gracias por la informacion.

Seguire probando ya que en ocasiones me manda algunos registros que no deberia, quiero asumir que es debido a los comodines.

Eso si, que lo hace rapidisimo no hay duda :wink:


Saludos
Amigo, yo he tenido problemas por una diferencia en el método "ON CHANGE" de las clases tGet recientes, ve este ejemplo y pruébalo con la tget que está en él, a ver si te da problemas.

http://www.mediafire.com/?aio4yfjggmm

Verás entonces que no funciona bien con las tget recientes (posteriores a marzo 2006), a menos que comentes las siguientes líneas:

/* cClaveBusca := Stuff( cClaveBusca, oGetBusca:nPos, ;
If( Set(_SET_INSERT), 0, 1 ), ;
Upper( Chr( cKey ) ) ) */


en la linea 188 del programa.

Creo que por aquí van los tiros...

Espero haberte ayudado,

Posted: Tue Apr 10, 2007 7:36 am
by Raymundo Islas M.
Hola Jose

Asi es, en efecto, lei un post tuyo hace unos dias indicando ese detalle.

En mi caso estoy obteniendo la cadena a buscar "atrapando" las teclas presionadas desde un TWBrowse, y esa cadena es la que busco y muestro los registros encontrados.

El detalle es que no siempre me encuentra los registros correctos.

Por ejemplo, si trato de procesar los registros que contengan la palabra M793, supongo que bastaria que pusiera OrdWildSeek( "*" + cStr2Src + "*", .T. ) ==> cStr2Src es una variable en la cual estoy concatenando las teclas presionadas y que tiene en ese momento el valor M793.

Pues bien, si encuentra algunas palabras que contengan tal valor, pero tambien me muestra algunos registros con 793 o M79, cuando se supone que deberia mostrar aquellos que sin importar que haya antes o despues, deben tener M793, cierto ?

Eso es lo que no entiendo correctamente, que funcion realiza el * o el ? dentro del llamado a esta funcion, por que a veces se "come" una letra antes o despues.

Saludos

Espero haberme explicado :wink:

Posted: Tue Apr 10, 2007 5:53 pm
by Raymundo Islas M.
Listo !!!

Encontre el "problemita", estaba aplicando el indice en forma erronea :oops:

Ahora si, esta trabajando como debe :P


Saludos y Gracias

Posted: Tue Apr 10, 2007 5:56 pm
by jose_murugosa
Raymundo Islas M. wrote:Listo !!!

Encontre el "problemita", estaba aplicando el indice en forma erronea :oops:

Ahora si, esta trabajando como debe :P


Saludos y Gracias
Me alegra mucho, estoy a tus órdenes.