RESPUESTA A LA PREGUNTA 17825 - FOXPRO/VISUAL FOXPRO *!***************************************************************************** *! *! Procedure: NAV_BROW *! Called by: BUS_PROD() (function in UTILIDAD.PRG) *! *! Calls: LSILETRAS (procedure in UTILIDAD.PRG) *! : LNOLETRAS (procedure in UTILIDAD.PRG) *! *!***************************************************************************** PROCEDURE nav_brow PARAMETERS titulo, fil1, col1, fil2, col2, campos, icono buscar = "" warea = SELECT() GO TOP DEFINE WINDOW navegar FROM fil1,col1 TO fil2,col2 ; TITLE "ENTER-Selec. "+(titulo); FONT 'Arial'; CLOSE; FLOAT; SHADOW; ZOOM; &icono ACTI WIND navegar DO lsiletras BROW FIELD &campos NOMO NOAPP NODELE NOMENU DO lnoletras ON KEY LABEL enter wtec = LASTKEY() DO CASE CASE wtec = 27 SELECT (warea) RETURN CASE wtec = 23 SHOW GETS RETURN OTHERWISE RETURN ENDCASE RETURN *!***************************************************************************** *! *! Procedure: LSILETRAS *! *! Called by: NAV_BROW (procedure in LIBRERIA.PRG) *! *! Calls: LBUSQUE (procedure in LIBRERIA.PRG) *! *!***************************************************************************** PROCEDURE lsiletras * Adapta el teclado para la rutina de busqueda en linea * cuando se realiza un Browse FOR nltr = 65 TO 90 && Letras Mayusculas corden = "ON KEY LABEL " + CHR(nltr) + ; " DO lBusque WITH '" + CHR(nltr) + "'" &corden NEXT FOR nltr = 45 TO 57 && Numeros corden = "ON KEY LABEL " + CHR(nltr) + ; " DO lBusque WITH '" +CHR(nltr) + "'" &corden NEXT ON KEY LABEL enter KEYB "{ESC}" ON KEY LABEL CHR(165) DO lbusque WITH 'Ñ' ON KEY LABEL ( DO lbusque WITH '(' ON KEY LABEL ) DO lbusque WITH ')' ON KEY LABEL / DO lbusque WITH '/' ON KEY LABEL spacebar DO lbusque WITH ' ' ON KEY LABEL del DO lbusque WITH "-999" ON KEY LABEL backspace DO lbusque WITH "-999" RETURN *------------------------------------------------- *!***************************************************************************** *! *! Procedure: LNOLETRAS *! *! Called by: NAV_BROW (procedure in LIBRERIA.PRG) *! *!***************************************************************************** PROCEDURE lnoletras * Deshabilita la rutina de busqueda en linea * cuando se realiza un Browse FOR nltr = 65 TO 90 && Letras Mayusculas corden = "ON KEY LABEL " + CHR(nltr) &corden NEXT FOR nltr = 45 TO 57 && Numeros corden = "ON KEY LABEL " + CHR(nltr) &corden NEXT ON KEY LABEL CHR(165) ON KEY LABEL ( ON KEY LABEL ) ON KEY LABEL / ON KEY LABEL spacebar ON KEY LABEL del ON KEY LABEL backspace ON KEY LABEL enter RETURN *!***************************************************************************** *! *! Procedure: LBUSQUE *! *! Called by: LSILETRAS (procedure in LIBRERIA.PRG) *! *!***************************************************************************** PROCEDURE lbusque * Localizacion automatica e inmediata a la digitacion del registro * que se desa buscar en forma lineal. PARAMETER car IF car ="-999" IF LEN(buscar) <= 1 buscar = "" GO TOP RETU ELSE buscar = LEFT(buscar,LEN(buscar)-1) ENDIF ELSE buscar = buscar + car ENDIF WAIT WINDOW "Buscando..." + buscar NOWA SET EXACT OFF = SEEK(buscar) RETURN Wilson Guerra wilgueve@tutopia.com www.lawebdelprogramador.com