Gente
el dbseek busca a partir del comienzo la coincidencia, se puede buscar la coincidencia dentro de toda la cadena a buscar?
similar a cuando se busca por nombre en los contactos del celular
Gracias
Gente
el dbseek busca a partir del comienzo la coincidencia, se puede buscar la coincidencia dentro de toda la cadena a buscar?
similar a cuando se busca por nombre en los contactos del celular
Gracias
artu01
con xbrowse yo uso asi:
oLbx:lIncrFilter := .t.
oLbx:lSeekWild := .t.
@ 1, 1 SAY oLbx:oSeek PROMPT oLbx:cSeek PICTURE "@!" UPDATE OF oDlg PIXEL COLOR CLR_BLACK FONT oFont SIZE 220, 22 BORDER
Creo esto te serviria, saludos...
AT()
Devuelve la posici贸n de una subcadena dentro de una cadena de caracteres
Sintaxis
AT(<cB煤squeda>, <cDestino>) --> nPosici贸n
Argumentos
<cB煤squeda> es la subcadena de caracteres que se va a buscar.
<cDestino> es la cadena de caracteres en la que se realiza la
b煤squeda.
Devuelve
AT() devuelve la posici贸n de la primera aparici贸n de <cB煤squeda> dentro
de <cDestino>, como valor num茅rico entero. Si no se encuentra
<cB煤squeda>, AT() devuelve cero.
Descripci贸n
AT() es una funci贸n de tratamiento de caracteres que se utiliza para
determinar la posici贸n de la primera aparici贸n de una subcadena dentro
de otra cadena. Si s贸lo necesita saber si una subcadena se encuentra
dentro de otra, utilice el operador $. Para encontrar la 煤ltima
aparici贸n de una cadena dentro de otra, utilice RAT().
Ejemplos
C Los ejemplos siguientes muestran la utilizaci贸n normal de AT():
? AT("a", "abcde") // Resultado: 1
? AT("bcd", "abcde") // Resultado: 2
? AT("a", "bcde") // Resultado: 0
Gracias Jose Luis quizas no me haya dejado entender pero quiero que en un xbrowse conforme vaya digitando en una busqueda se vayan filtrando los registros segun mi cadena a buscar pero que no solamente la coincidiencia sea desde el principio sino que este sea en cualquier parte sobre el campo.
Creo que Sistem me ha dado una luz, probare y comento
Hola
Si la variable donde se encuentra lo que buscas se llama, por ejemplo, cSearch, y el campo donde buscas es Descrip, entonces usa el siguiente filtro
SET FILTER TO cSearch$Field->Descrip
El operador $ : a$b retorna .T. si a est谩 dentro de b, en cualquier lugar. Tambien se puede hacer con AT(), pero $ hace lo que buscas.
Sistem wrote:artu01
con xbrowse yo uso asi:
oLbx:lIncrFilter := .t.
oLbx:lSeekWild := .t.
@ 1, 1 SAY oLbx:oSeek PROMPT oLbx:cSeek PICTURE "@!" UPDATE OF oDlg PIXEL COLOR CLR_BLACK FONT oFont SIZE 220, 22 BORDER
Sistem wrote:artu01
con xbrowse yo uso asi:
oLbx:lIncrFilter := .t.
oLbx:lSeekWild := .t.
@ 1, 1 SAY oLbx:oSeek PROMPT oLbx:cSeek PICTURE "@!" UPDATE OF oDlg PIXEL COLOR CLR_BLACK FONT oFont SIZE 220, 22 BORDER
oBrw:lIncrFilter := .f.
oBrw:lSeekWild := .f.
oBrw:cFilterFld := ""
TABLA->(ORDSCOPE(TOPSCOPE,NIL))
TABLA->(ORDSCOPE(BOTTOMSCOPE,NIL))Yo mismo me respondo... aqui esta la respuesta
&&&&