Yo ,de clipper ando totalmente pez,pero tengo un programilla y alguna cosa ya le he hecho.Tengo esta funcion de busqueda pero como dije en el primer comentario,esta solo busca por el inicio de la cadena,si alguno que sea piadoso quiere echarme una mano y modificar la funcion se lo agradeceria,lo mio es puro hobby,y estoy con otros temas de programacion,tengo un hijo que es un trasto ,no tengo tiempoooooooooo de ponerme a estudiar clipper a fondo,algunas cosillas o generalidades voy aprendiendo pero me parece tarea ingente ponerme con otro lenguaje de programacion nuevo,ya tengo bastante con lo mio.Por favor una ayudita.......A parte de que no hay demasiada informacion o comunidad de clipper,es dificil sacar ejemplos concretos...Un saludo
STATIC FUNCTION buscar
LOCAL buscon,panta,color,cursor,val_ret,orden:=INDEXORD(),por_codi
panta=SAVESCREEN(8,10,16,79)
color=SETCOLOR()
cursor=SETCURSOR()
SETCOLOR("W+/B,W+/*R,,,N/W*")
@ 10,29 CLEAR TO 14,52
@ 10,29 TO 14,52
@ 10,33 SAY " Busqueda "
@ 12,30 PROMPT " Buscar por Numero "
@ 13,30 PROMPT " Buscar por Apellido "
MENU TO por_codi
IF por_codi = 0
val_ret := .F.
ENDIF
RESTSCREEN(8,10,16,79,panta)
SET CONFIRM ON
IF por_codi = 1
SET ORDER TO 1
buscon := 0000
@ 9,20 CLEAR TO 12,55
@ 9,20 TO 12,55
RELIEVE(9,20,12,55,7)
@ 9,22 SAY " Buscar por Numero "
@ 11,22 SAY " Entrar Numero.....:" GET buscon
SET CURSOR ON
READ
SET CURSOR OFF
ELSEIF por_codi = 2
buscon := SPACE(25)
SET ORDER TO 2
@ 9,15 CLEAR TO 12,70
@ 9,15 TO 12,70
RELIEVE(9,20,12,70,7)
@ 9,22 SAY " Buscar por Apellidos "
@ 11,22 SAY " Entrar Apellidos...:" GET buscon
SET CURSOR ON
READ
SET CURSOR OFF
buscon := RTRIM(buscon)
ENDIF
IF LASTKEY() = 27
val_ret = .F.
ELSE
cliente:gotop()
SEEK buscon
IF FOUND()
cliente:refreshall()
val_ret = .T.
ELSE
mensa_23(IIF(por_codi = 1," No Existe Cliente ", ;
" No Existe Cliente "), ,1)
val_ret = .F.
ENDIF
ENDIF
SETCOLOR(color)
SETCURSOR(cursor)
RESTSCREEN(8,10,16,79,panta)
IF !val_ret
SET ORDER TO orden
ENDIF
RETURN val_ret