BUSQUEDA DE UN REGISTRO DIGITANDO UNA LETRA
Publicado por FIDEL AUGUSTO (1 intervención) el 10/06/2009 00:25:33
ENCONTRE ESTA RUTINA EN LA WEB Y LA MODIFIQUE PARA TENER COMO CONSULTA EN MI PROGRAMA DE ARTICULOS DE MI BASE DE DATOS ME FUNCIONA BIEN LO QUE QUIERO ES QUE CUANDO BUSQUE EN EL BROWSE EL PRODUCTO DIGITE LA PRIMERA LETRA Y ME APARESCA EN MI PANTALLA DE CONSULTA CON UN ENTER.SE LOS AGRADECERIA ENORMEMENTE EL PROGRAMA ESTA EN FOXPRO 2.6
SALUDOS DE PERU.
GRACIAS.
****************************************************
Select 4
index on armpcart to art
PUBLIC wCod, wdes
Store Space(9) To wCod
store Space(55) To wdes
Clear
ON KEY LABEL Alt+F1 DO FNAyuda WITH VARREAD( )
@1,1 SAY 'Codigo :' GET wCod PICTURE "!!!-99999" VALID FNCodigo(wCod) ;
MESSAGE "Digite Codigo de Empresa ó <ALT+F1> Si quiere Ayuda"
@2,1 SAY 'Nombre :' GET wdes PICTURE "@!" WHEN wCod = '9999999999'
READ
* La Opcion WHEN wkCod = '9999999999' que figura en el GET de wkNom y wkDir
* es una Mintira Util (Solo para que el Cursor NO se Detenga en estos Campos)
*
RELEASE wCod, wdes
RETURN
*
* FNAyuda
*
PROCEDURE FNAyuda
PARAMETERS pField
**
** El DO CASE es para que sirva como una rutina de ayuda
** para diferentes campos en una tabla o en tablas distintas.
**
sele 4
use armpsyst
ON KEY LABEL F1
ACTIVATE SCREEN
ON KEY LABEL ENTER KEYBOARD "{Ctrl+W}"
DEFINE WINDOWS WLISTADO FROM 20,3 TO 42,78 TITLE "Relaci¢n de Art¡culos"
ACTIVATE WINDOWS WLISTADO
BROWSE FIELDS armpcart : H="Codigo", armpnart : H="Producto";
NOMODIFY NOAPPEND NODELETE NOMENU
deactivate window all
ON KEY LABEL ENTER
DO CASE
CASE pField = "WCOD"
SELECT 4
IF LASTKEY() <> 27
wCod = armpsyst.armpcart
wdes = armpsyst.armpnart
SHOW GET wCod
SHOW GET wdes
_CUROBJ = OBJNUM(wCod)
KEYBOARD '{ENTER}'
ENDIF
CASE pField = ""
CASE pField = ""
ENDCASE
RETURN
*
* FNCodigo
*
FUNCTION FNCodigo
PARAMETERS pCod
sele 4
*USE armpsyst AGAIN ALIAS dd ORDER TAG 4
index on armpcart to art
IF Not SEEK(pCod, 'armpsyst')
WAIT WINDOW "ERROR !!! No Existe Codigo de Producto !!!" NOWAIT
RETURN(.F.)
ENDIF
wdes = armpsyst.armpnart
SHOW GET wdes
RETURN(.T.)
*****************************************************************
ADEMAS ENCONTRE ESTA RUTINA DONDE SI BUSCA POR LA LETRA DIGITADA
SET TALK OFF
DEFINE WINDOW example FROM 24,3 TO 41,76 TITLE ' P & F Dentals Products ' ;
FLOAT SHADOW SYSTEM COLOR SCHEME 1
*** Fill the array cityarray with city data ***
***Cityarray llenar la matriz con datos de la ciudad****
SELECT DISTINCT armpnart FROM armpsyst INTO ARRAY armpnartarray
SELECT armpsyst
*** Define a popup that contains the structure of customer ***
***Definir una ventana emergente que contiene la estructura del Armpsyst***
DEFINE POPUP popstru PROMPT STRUCTURE SCROLL MARGIN MARK CHR(16)
*** Define a popup containing data from the company field ***
***Definir una ventana emergente que contiene los datos de la empresa sobre el terreno***
DEFINE POPUP popfield PROMPT FIELD armpnart SCROLL MARGIN MARK CHR(16)
ACTIVATE WINDOW example
@ 1,3 SAY 'Structure Popup:'
*** Get information using predefined popstru popup ***
***Obtener información predefinida utilizando popstru emergente***
*@ 2,2 GET liststructure POPUP popstru SIZE 11, 20;
* DEFAULT FIELD(1,'armpsyst') WHEN refresh( );
* VALID dispitem(liststructure) COLOR SCHEME 9
*@ 13,3 SAY liststructure SIZE 1, 18
*@ 1,26 SAY 'Field Popup:'
*** Get information using predefined popfield popup ***
*@ 2,25 GET listfield POPUP popfield SIZE 11, 20 ;
* DEFAULT armpnart WHEN refresh( ) VALID dispitem(listfield) COLOR SCHEME 9
*@ 13,26 SAY listfield SIZE 1, 18
@ 1,2 SAY 'Lista de Productos:'
*** Get information using predefined array ***
***Obtener información predefinida utilizando popfield emergente****
@ 2,2 GET arrayitem FROM armpnartarray SIZE 11, 68 ;
DEFAULT armpnartarray(1) WHEN refresh( ) VALID dispitem(arrayitem);
COLOR SCHEME 2
@14,60 GET ok FUNCTION '*t !OK' DEFAULT 1 SIZE 1, 6
READ CYCLE SHOW popshow( ) && Activate gets
RELEASE WINDOW example
RELEASE POPUPS popstru, popfield
*FUNCTION refresh
*** Refresh window information without calling subroutine ***
***Actualizar ventana de información sin poner subrutina***
SHOW GETS OFF
*FUNCTION dispitem
***Display which item has been chosen***
***Mostrar que el tema se ha elegido***
PARAMETER items
WAIT WINDOW 'You have chosen: ' + ALLTRIM(ITEMs) NOWAIT ;
*FUNCTION popshow
*** Display current items for each list ***
***Mostrar los artículos en cada una de las listas***
*@13,3 say LISTSTRUCTURE SIZE 1, 18
*@13,26 say LISTFIELD SIZE 1, 18
@14,3 say arrayitem SIZE 1, 18
SALUDOS DE PERU.
GRACIAS.
****************************************************
Select 4
index on armpcart to art
PUBLIC wCod, wdes
Store Space(9) To wCod
store Space(55) To wdes
Clear
ON KEY LABEL Alt+F1 DO FNAyuda WITH VARREAD( )
@1,1 SAY 'Codigo :' GET wCod PICTURE "!!!-99999" VALID FNCodigo(wCod) ;
MESSAGE "Digite Codigo de Empresa ó <ALT+F1> Si quiere Ayuda"
@2,1 SAY 'Nombre :' GET wdes PICTURE "@!" WHEN wCod = '9999999999'
READ
* La Opcion WHEN wkCod = '9999999999' que figura en el GET de wkNom y wkDir
* es una Mintira Util (Solo para que el Cursor NO se Detenga en estos Campos)
*
RELEASE wCod, wdes
RETURN
*
* FNAyuda
*
PROCEDURE FNAyuda
PARAMETERS pField
**
** El DO CASE es para que sirva como una rutina de ayuda
** para diferentes campos en una tabla o en tablas distintas.
**
sele 4
use armpsyst
ON KEY LABEL F1
ACTIVATE SCREEN
ON KEY LABEL ENTER KEYBOARD "{Ctrl+W}"
DEFINE WINDOWS WLISTADO FROM 20,3 TO 42,78 TITLE "Relaci¢n de Art¡culos"
ACTIVATE WINDOWS WLISTADO
BROWSE FIELDS armpcart : H="Codigo", armpnart : H="Producto";
NOMODIFY NOAPPEND NODELETE NOMENU
deactivate window all
ON KEY LABEL ENTER
DO CASE
CASE pField = "WCOD"
SELECT 4
IF LASTKEY() <> 27
wCod = armpsyst.armpcart
wdes = armpsyst.armpnart
SHOW GET wCod
SHOW GET wdes
_CUROBJ = OBJNUM(wCod)
KEYBOARD '{ENTER}'
ENDIF
CASE pField = ""
CASE pField = ""
ENDCASE
RETURN
*
* FNCodigo
*
FUNCTION FNCodigo
PARAMETERS pCod
sele 4
*USE armpsyst AGAIN ALIAS dd ORDER TAG 4
index on armpcart to art
IF Not SEEK(pCod, 'armpsyst')
WAIT WINDOW "ERROR !!! No Existe Codigo de Producto !!!" NOWAIT
RETURN(.F.)
ENDIF
wdes = armpsyst.armpnart
SHOW GET wdes
RETURN(.T.)
*****************************************************************
ADEMAS ENCONTRE ESTA RUTINA DONDE SI BUSCA POR LA LETRA DIGITADA
SET TALK OFF
DEFINE WINDOW example FROM 24,3 TO 41,76 TITLE ' P & F Dentals Products ' ;
FLOAT SHADOW SYSTEM COLOR SCHEME 1
*** Fill the array cityarray with city data ***
***Cityarray llenar la matriz con datos de la ciudad****
SELECT DISTINCT armpnart FROM armpsyst INTO ARRAY armpnartarray
SELECT armpsyst
*** Define a popup that contains the structure of customer ***
***Definir una ventana emergente que contiene la estructura del Armpsyst***
DEFINE POPUP popstru PROMPT STRUCTURE SCROLL MARGIN MARK CHR(16)
*** Define a popup containing data from the company field ***
***Definir una ventana emergente que contiene los datos de la empresa sobre el terreno***
DEFINE POPUP popfield PROMPT FIELD armpnart SCROLL MARGIN MARK CHR(16)
ACTIVATE WINDOW example
@ 1,3 SAY 'Structure Popup:'
*** Get information using predefined popstru popup ***
***Obtener información predefinida utilizando popstru emergente***
*@ 2,2 GET liststructure POPUP popstru SIZE 11, 20;
* DEFAULT FIELD(1,'armpsyst') WHEN refresh( );
* VALID dispitem(liststructure) COLOR SCHEME 9
*@ 13,3 SAY liststructure SIZE 1, 18
*@ 1,26 SAY 'Field Popup:'
*** Get information using predefined popfield popup ***
*@ 2,25 GET listfield POPUP popfield SIZE 11, 20 ;
* DEFAULT armpnart WHEN refresh( ) VALID dispitem(listfield) COLOR SCHEME 9
*@ 13,26 SAY listfield SIZE 1, 18
@ 1,2 SAY 'Lista de Productos:'
*** Get information using predefined array ***
***Obtener información predefinida utilizando popfield emergente****
@ 2,2 GET arrayitem FROM armpnartarray SIZE 11, 68 ;
DEFAULT armpnartarray(1) WHEN refresh( ) VALID dispitem(arrayitem);
COLOR SCHEME 2
@14,60 GET ok FUNCTION '*t !OK' DEFAULT 1 SIZE 1, 6
READ CYCLE SHOW popshow( ) && Activate gets
RELEASE WINDOW example
RELEASE POPUPS popstru, popfield
*FUNCTION refresh
*** Refresh window information without calling subroutine ***
***Actualizar ventana de información sin poner subrutina***
SHOW GETS OFF
*FUNCTION dispitem
***Display which item has been chosen***
***Mostrar que el tema se ha elegido***
PARAMETER items
WAIT WINDOW 'You have chosen: ' + ALLTRIM(ITEMs) NOWAIT ;
*FUNCTION popshow
*** Display current items for each list ***
***Mostrar los artículos en cada una de las listas***
*@13,3 say LISTSTRUCTURE SIZE 1, 18
*@13,26 say LISTFIELD SIZE 1, 18
@14,3 say arrayitem SIZE 1, 18
Valora esta pregunta
0