Tesis ProtoTipo Biblioteca
Tesis ProtoTipo Biblioteca
Tesis ProtoTipo Biblioteca
CARRERA PROFESIONAL:
COMPUTACION E INFORMATICA
PRESENTADO POR:
BALDARRAGO, Jimmy Fabricio
BARREDA GOMEZ, Yordan.
OMATE MOQUEGUA
2008
MINISTERIO DE EDUCACION
DIRECCION REGIONAL DE EDUCACION MOQUEGUA
CARRERA PROFESIONAL:
COMPUTACION E INFORMATICA
PROTOTIPO DE UN SOFTWARE DE GESTION PARA
MEJORAR LA ATENCION EN LA BIBLIOTECA DEL
ISTP OMATE
PARA OPTAR EL TITULO PROFESIONAL DE TECNICO EN:
COMPUTACION E INFORMATICA
APROBADO POR:
PRESIDENTE:
_________________
_________________
_________________
ASESOR:
_________________
OMATE PERU
2008
INDICE
PRESENTACION
07
RESUMEN
08
INTRODUCCION
09
CAPITULO I
10
1. MARCO TEORICO
10
10
10
11
11
13
14
14
14
14
15
16
16
17
17
18
19
19
20
20
20
21
22
22
23
25
28
32
34
35
35
CAPITULO II
37
2. Problema
37
37
2.2. Justificacin
38
2.3. Objetivos
39
39
CAPITULO III
40
40
40
43
43
44
45
45
50
53
54
55
55
CONCLUSIONES
56
RECOMENDACIONES
57
BIBLIOGRAFIA
58
ANEXOS
59
PRESENTACIN
Seor Director del Instituto Superior Tecnolgico Publico de Omate,
Seor Jefe de Departamento, seores profesores y miembros del jurado
calificador
de
presentamos
la
a
Carrera
Profesional
consideracin
PROTOTIPO DE UN
de
de
ustedes
Computacin
este
Informtica
documento
Titulado
RESUMEN
El presente proyecto de tesis denominado PROTOTIPO DE UN
SOFTWARE DE GESTION PARA MEJORAR LA ATENCION EN LA BIBLIOTECA DEL
ISTP OMATE ha sido desarrollado con la finalidad de mejorar la atencin en
la biblioteca del Instituto Superior Tecnolgico Publico Omate, la cual tiene una
poblacin estudiantil de 65 alumnos y as mismo personal docente y
administrativo.
Se debe tener presente que estamos en el siglo XXI y que el avance de
la
tecnologa
en
la
rama
de
la
computacin
esta
evolucionando
del PROTOTIPO DE UN
SOFTWARE DE GESTION
INTRODUCCIN
a que se constituyen en
el Primero
CAPITULO I
MARCO TEORICO
1.1. ANTECEDENTES DE ESTUDIO
Se han realizado investigaciones en el Instituto Superior Tecnolgico
Publico Omate en el rea de Computacin e Informtica relacionados al
tema en mencin, as tenemos por ejemplo el trabajo de investigacin
desarrollado por el seor Rolando Ticona Bedoya denominado: Base de
Datos para el Control de Ingresos y Egresos Econmicos del I.S.T.P.
Omate, en la cual se modela una base de datos para organizar y
administrar los ingresos y egresos econmicos de la institucin en
mencin.
Por lo cual se tiene conocimiento que no existe en la institucin un
sistema que permita administrar la gestin en la biblioteca del I.S.T.P.
Omate.
Por esta razon planteamos el siguiente trabajo denominado PROTOTIPO
DE UN SOFTWARE DE GESTION PARA MEJORAR LA ATENCION EN
LA BIBLIOTECA DEL ISTP OMATE como un aporte a la investigacin
en el rea de computacin e informtica.
1.2. BASES TEORICAS
La elaboracin de un prototipo de un software de gestin para mejorar la
atencin en la biblioteca del Instituto Superior Tecnolgico Publico Omate,
esta basado en las teoras de las bases de datos y elaboracin del
prototipo, teniendo en cuenta el avance tecnolgico y cientfico en este
mundo globalizado, por lo cual hemos considerado las siguientes bases
tericas:
10
ratn, etc.),
11
12
13
14
o estructurada.
Es
16
17
Una
organizada
para
dar
servicios
eficientemente
muchas
19
Una clase de modelo lgico de bases de datos que tiene una estructura
arborescente. Un registro subdivide en segmentos que se interconectan
en relaciones padre e hijo y muchos ms. Los primeros sistemas
administradores de bases de datos eran jerrquicos. Puede representar
dos tipos de relaciones entre los datos: relaciones de uno a uno y
relaciones de uno a muchos.
1.4.2. Modelo de datos en red:
Es una variacin del modelo de datos jerrquico. De hecho las bases de
datos pueden traducirse de jerrquicas a en redes y viceversa con el
objeto de optimizar la velocidad y la conveniencia del procesamiento.
Mientras que las estructuras jerrquicas describen relaciones
de
muchos a muchos.
1.4.3. Modelo relacional de datos:
Es el ms reciente de estos modelos, supera algunas de las limitaciones
de los otros dos anteriores. El modelo relacional de datos representa
todos los datos en la base de datos como sencillas tablas de dos
dimensiones llamadas relaciones.
20
El
21
Los grupos de
puede ser
Los cambios
22
Permiten
Los sistemas
Adems, las
no
convencional
(como
imgenes
estticas
en
23
Tabla
Es una coleccin de registros pertenecientes a una misma entidad.
Datos Diferenciales
a)
Biblioteca
Lugar
destinado
al
depsito
de
informacin
registrada,
Libro.
Conjunto de varias paginas de papel, papiro u otra materia en la
que se pueda escribir, unidas entre si y que contiene textos,
ilustraciones o msica. Al contrario de los monumentos en los
que aparecen textos, esculpidos, los libros se pueden
transportar fcilmente y, a diferencia de los diarios personales,
que pueden tener forma de libro, estn concebidos para ser
divulgados al publico.
_____________________________________________________________________________________________________________
1 En ingls "Non profit institutions"
2 MAGAN WALS, Jos Antonio. El concepto de biblioteca en la actualidad: bibliotecas realesfrente a bibliotecas virtuales. Tratado bsico
de biblioteconoma. Madrid : UniversidadComplutense, 1995. pp. 21-48
3 MANIFIESTO de la UNESCO para bibliotecas pblicas. Madrid ; Salamanca : Fundacin Germn Snchez Ruiprez, 1995
27
28
crecimiento
en
proporcin
al
resto
de
los
sectores
29
_______________________________________________________________________________________________
6 Ramos Simn, L.F. Las publicaciones electrnicas transformarn el sector de la edicin cientfica y las funciones del
bibliotecario en la Universidad: Cuadernos De Documentacin Multimedia, vol. 6-7. (1998)
30
Si bien hay que poner de manifiesto que esta facilidad para la edicin
hace de Internet un voluminoso almacn de informacin de muy diversos
contenidos, calidad y utilidad -debido en buena parte al carcter
descentralizado de la red-, lo que ha llevado a que algunos autores la
hayan comparado con una gran biblioteca sin catlogos, pues no
responde a criterios de informacin estructurada orientada a la
recuperacin, lo que hace de ella un depsito catico para la publicacin
y distribucin de documentos de gran variedad de contenidos, formatos y
perdurabilidad provenientes de todo el mundo. 7
Todos estos aspectos que afectan al proceso de investigacin, edicin,
difusin y consumo de la informacin. Tambin tienen su incidencia en el
proceso de informacin y comunicacin que desarrolla la biblioteca de
investigacin, abriendo a sta nuevas posibilidades como entidad
gestora del conocimiento8 Este concepto abarca todo el proceso antes
mencionado, desde la relacin bidireccional produccin-consumo de
informacin hasta la difusin de la misma.
INVESTIGACION
DIFUSION
RESULTADOS
EDICION
31
_______________________________________________________________________________________________
9 Dubln Core http://purl.org/DC
Miller, Paul. Metadata for masses http://www.ariadne.ac.uk./issue5/metadata-masses
Powel, A. Dublin Core managemet. http://www.ariadne.ac.uk./issue10/dublin
10 Lpez de Sonsaga, Arantxa. Z39.50 un estndar virtual o real? Jornades Catalanes de Documentai (7.1999.
Barcelona) pp. 479-486
32
los
usuarios
pueden
acceder
las
colecciones
con
supone
una
reorganizacin
de
los
procesos
tcnicos
incremente
electrnicos, tarde
digitales,
stas
su
o
complejidad,
temprano, dominen
aunque
en
las
los
recursos
bibliotecas
33
_______________________________________________________________________________________________
13 Prez Alarcn, Adoracin; Serrano Muoz, Jordi, and Enrech Larrea, Marta. Una biblioteca virtual para una
comunidad virtual. Jornadas Espaolas De Documentacin (6. 1998.Valencia); p. 715-728.
34
35
informacin
al usuario
de
que
peridicamente
incorporndose a la biblioteca18.
De esta manera la biblioteca no slo es transmisora de informacin, sino
que se convierte en generadora y distribuidora de informacin. 19
______________________________________________________________________________________________
17 tienne, Anne-Sophie. Actualit du droit d'auteur dans la socit de l'information. Bulletin des Bibliothques de
France. 1998; 43(3): 8-12.
18 InfoDOC : lista de informacin en Biblioteconoma y Documentacin de la Biblioteca de la Facultad de Traduccin y
Documentacin http://www.jcl.bcyl.es/InfoDOC
19 Prez Alarcn, Adoraci Op. Cit
36
CAPITULO II
2.- PROBLEMA
2.1. DESCRIPCION Y PLANTEAMIENTO DEL PROBLEMA
Estando en la era digital, del conocimiento en un mundo globalizado,
donde no existen limites para acceder a la informacin, la automatizacin
de los procesos y servicios en las instituciones publicas y privadas son
necesarias para una mejor atencin al usuario final.
El instituto Superior Tecnolgico Publico Omate como centro formador se
ve en serias limitaciones y dificultades probablemente por la influencia de
la nueva tecnologa, los cambios bruscos de la era del conocimiento, en
relacin con el manejo del material bibliogrfico y la informacin
digitalizada,
son
elementos
necesarios
para
complementar
los
37
2.2. JUSTIFICACION.
Debido a que los alumnos, docentes y comunidad requieren de
informacin
para
la
realizacin
de
trabajos,
investigaciones,
38
2.3. OBJETIVOS.
a) Objetivo General
Elaborar un software de gestin que nos permita mejorar la atencin a
los usuarios de la biblioteca del ISTP Omate.
b)
Objetivos Especficos
39
CAPITULO III
3
40
La tabla fi_bi sirve para guardar los datos de las fichas de biblioteca generadas:
41
La tabla in_di es usada para administrar los datos de los ndices de material de
biblioteca
La tabla te_fi sirve para tratar temporalmente los datos de ficha de biblioteca
42
La tabla te_in sirve para tratar temporalmente los datos de ndices antes de ser
debidamente registrados
Ingrese
IdUsuario
Ingrese
Contrasea
de Acceso
44
Permite Visualizar,
ingresar o modificar
el cdigo
Permite Visualizar,
ingresar o modificar
el ttulo
Permite Visualizar,
ingresar o modificar
el tipo (libro, cd, etc)
Permite Visualizar,
ingresar o modificar
el autor
Permite Visualizar,
ingresar o modificar
datos de edicin
Permite Visualizar,
ingresar o modificar
descripcin general
Permite Visualizar,
ingresar o modificar
de qu rea o carrera
se considera el
material
Permite Visualizar,
ingresar o modificar
descripcin general
46
Nuevo
Registro
Modificar
Registro
Buscar
Registro
Eliminar
Registro
Grabar
Registro
Cancelar
Salir
HAGA <CLICK> o
PRESIONE <ENTER>
aqu para iniciar una
Bsqueda Nueva
HAGA <CLICK> o
PRESIONE <ENTER>
aqu para Mostrar
todos los Registros
Ejemplo de Busqueda
47
HAGA <CLICK> o
HAGA <CLICK> o
PRESIONE <ENTER> PRESIONE <ENTER>
aqu para Regresar Al aqu para Imprimir la
Formulario Anterior Relacin de Material de
Biblioteca
VISUALIZA EL(LOS)
REGISTROS
ENCONTRADOS EN
BASE DE DATOS
48
Presione <CLICK> o
<ENTER> Para Ingresar
Nuevos Registros de
ndices
Luego de seleccionar el
nmero de registro Haga
<CLICK> o <ENTER> aqu
para eliminarlo
50
51
54
55
CONCLUSIONES
1. Se logro desarrollar de manera satisfactoria el prototipo de un software de
Gestion para mejorar la atencin en la biblioteca del I.S.T.P.O.
2. Se logro implementar el software de Gestin para el manejo de la
informacin sobre material bibliogrfico.
3. Se logro optimizar la atencin a los usuarios, mejorando la bsqueda de la
informacin sobre algn material bibliogrfico.
4. Se ha automatizado el acceso a los materiales bibliogrficos los cuales se
pueden visualizar mediante ventanas su estado y/o situacin respectiva.
RECOMENDACIONES
56
BIBLIOGRAFIA
57
58
ANEXOS
59
FORM1.INIT
SET SYSM TO
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
PUBLIC I,MATRIB,Y,TEX,VTEX,WTEX1,WTEX2,WTEX,XI,VACCOD
Y=3
I=1
WITH THISFORM
.REFRESH
.MOVABLE=.F.
.LABEL1.CAPTION=ALLT(DA_EN.NOM_ENT)
.LABEL2.CAPTION=ALLT(DA_EN.DIR_ENT)+" - "+ALLT(DA_EN.DIS_ENT)
.LABEL3.CAPTION="TELFONO : "+ALLT(DA_EN.TEL_ENT)
.LABEL4.CAPTION="RUC N "+ALLT(DA_EN.RUC_ENT)
.LABEL5.CAPTION="DATOS DE ACCESO"
DECLARE MATRIB[16]
MATRIB[1]="D"
MATRIB[2]="DA"
MATRIB[3]="DAT"
MATRIB[4]="DATO"
MATRIB[5]="DATOS"
MATRIB[6]="DATOS "
MATRIB[7]="DATOS D"
MATRIB[8]="DATOS DE"
MATRIB[9]="DATOS DE "
MATRIB[10]="DATOS DE A"
MATRIB[11]="DATOS DE AC"
MATRIB[12]="DATOS DE ACC"
MATRIB[13]="DATOS DE ACCE"
MATRIB[14]="DATOS DE ACCES"
MATRIB[15]="DATOS DE ACCESO"
.TEXT1.SETFOCUS
.REFRESH
ENDWITH
TIMER.TIMER
IF THISFORM.LABEL1.FORECOLOR=RGB(0,0,0)
THISFORM.LABEL1.FORECOLOR=RGB(0,0,255)
THISFORM.LABEL2.FORECOLOR=RGB(0,0,255)
ELSE
THISFORM.LABEL1.FORECOLOR=RGB(0,0,0)
THISFORM.LABEL2.FORECOLOR=RGB(0,0,0)
ENDIF
TIMER2.TIMER
IF THISFORM.LABEL3.FORECOLOR=RGB(0,0,255)
THISFORM.LABEL3.FORECOLOR=RGB(0,0,0)
THISFORM.LABEL4.FORECOLOR=RGB(0,0,0)
ELSE
THISFORM.LABEL3.FORECOLOR=RGB(0,0,255)
THISFORM.LABEL4.FORECOLOR=RGB(0,0,255)
ENDIF
TIMER3.TIMER
IF THISFORM.IMAGE1.VISIBLE=.F.
THISFORM.IMAGE1.VISIBLE=.T.
ELSE
THISFORM.IMAGE1.VISIBLE=.F.
ENDIF
TIMER4.TIMER
IF I<16
THISFORM.LABEL5.CAPTION=MATRIB(I)
I=I+1
ELSE
I=1
ENDIF
COMMAND1.CLICK
WITH THISFORM
XI=1
VACCOD=UPPE(ALLT(.TEXT1.VALUE))
TEX=ALLT(.TEXT2.VALUE)
VTEX=LEN(TEX)
WTEX=""
WTEX1=""
WTEX2=""
SELE * FROM CO_DI WHERE VACCOD==UPPE(COD_USE) INTO CURS AZT
SELE AZT
WTEX2=ALLT(AZT.NU1_USE)
DO CASE
CASE EMPTY(.TEXT1.VALUE).OR.EMPTY(.TEXT2.VALUE)
Y=Y-1
WAIT WIND " ... NO INGRESO VALOR... " TIME 1
WAIT WIND " ... TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES) ... " TIME 1
IF Y=0
.TEXT2.VALUE=""
WAIT WIND " ... CONSIGA EL ID CORRECTO Y/O LA CLAVE VLIDA ... " TIME 1
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
RELEASE I,MATRIB,Y,TEX,VTEX,WTEX1,WTEX2,WTEX,XI,VACCOD
.RELEASE
QUIT
ELSE
.TEXT1.SETFOCUS
.COMMAND2.ENABLED=.T.
ENDIF
60
OTHERWISE
DO WHILE XI<(VTEX+1)
WTEX=ASC(SUBST(TEX,XI,1))
WTEX1=ALLT(WTEX1)+ALLT(STR(WTEX))
XI=XI+1
ENDDO
.REFRESH
SET EXACT ON
IF VAL(WTEX1)<>VAL(WTEX2)
Y=Y-1
TEX=""
VTEX=0
WTEX1=""
WAIT WIND " ... CONSIGA EL ID CORRECTO Y/O LA CLAVE VLIDA ... " TIME 1
WAIT WIND " ... ACCESO DENEGADO ... " TIME 1
WAIT WIND " ... TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES) ... " TIME 1
IF Y=0
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
.TEXT2.VALUE=""
RELEASE I,MATRIB,Y,TEX,VTEX,WTEX1,WTEX2,WTEX,XI,VACCOD
.RELEASE
QUIT
ELSE
.TEXT2.VALUE=""
.TEXT2.SETFOCUS
ENDIF
ELSE
WAIT WIND " ... PASSWORD CORRECTO ... BIENVENIDO AL SISTEMA ... " TIME 1
CLOSE DATA
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
_SCREEN.CONTROLBOX=.T.
_SCREEN.CLOSABLE=.T.
_SCREEN.FONTSIZE=17
_SCREEN.PICTURE=""
_SCREEN.ICON="BOOKS05.ICO"
_SCREEN.WINDOWSTATE=2
USE DA_EN
_SCREEN.CAPTION=" S O F T W A R E D E G E S T I N D E B I B L I O T E C A :
USE
DO ME_BI.MPR
RELEASE I,MATRIB,Y,TEX,VTEX,WTEX1,WTEX2,WTEX,XI
.RELEASE
ENDIF
ENDCASE
ENDWITH
"+ALLT(NOM_ENT)
COMMAND2.CLICK
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
USE DA_EN
IF MESSAGEBOX(" DESEA CANCELAR ACCESO? ",4+32,"BIBLIOTECA "+ALLT(DA_EN.NOM_ENT))=6
_SCREEN.PICTURE=""
_SCREEN.ICON=""
SET SYSM TO DEFA
RELEASE I,MATRIB,Y,TEX,VTEX,WTEX1,WTEX2,WTEX,XI,VACCOD
THISFORM.RELEASE
QUIT
ELSE
THISFORM.TEXT1.SETFOCUS
ENDIF
TEXT2.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND1.SETFOCUS
ENDIF
CONJUNTO DE FORMULARIOS FICHAS DE BIBLIOTECA
EN EL FORMULARIO 1
FORM1.INIT
SET SAFE OFF
SET TALK OFF
SET SYSM TO
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
SET DATE DMY
PUBLIC A,D,I,L,N,O,W,R,S,T,X,Y,DD,RE,T1,T2,XI,NRE,PA,CAP,WCOM,WSA,WTIE,WTIE1,WTIE2,WTIE3,WSTO,WTOT,WWX,WXW,WCOSEM,OPC;
VASI,VCOD,VPAP,VREC,VTOT,VPLI,VDIO,VMEO,VAO,TEXTO,M,VALOR,WASI,WNOM,WCOD,VGRD1,VGRD2,VGRD3,WAUT,FEC1,FEC2,TIPREP
SELECT TE_FI
ZAP
WITH THISFORM
VGRD1=.GRID1
VGRD2=.GRID2
VGRD3=.GRID3
T1=0.00
T2=0.00
VASI=""
VCOD=""
VPAP=""
VREC=""
RE=0.00
VTOT=0.00
*VPLI=""
W=0
VDIO=0
VMEO=0
VAO=0
WASI=""
61
WCOD=""
DD=""
L=""
I=""
O=""
Y=""
NRE=0
T=1
R=""
X=0
N=0
M=0
V1=0
WNUMDE=0
OPC=0
WCOM=""
WXW=""
WSA=""
WAUT=""
WWX=""
WTIE=""
WTIE1=""
WTIE3=""
WNOM=""
WCOSEM=""
TEXTO=""
CAP=""
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM3.HIDE
THISFORMSET.FORM4.HIDE
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM3.ENABLED=.F.
THISFORMSET.FORM4.ENABLED=.F.
THISFORM.SHOW
SET TALK OFF
SELEC DA_EN
.CONTAINER4.LABEL9.CAPTION=ALLT(DA_EN.NOM_ENT)
SELEC FI_BI
GO BOTTOM
IF MONTH(DATE())>MONTH(FI_BI.FEC_FIC)
.TEXCONTAR1.VALUE="0001"
ELSE
L=LEN(ALLT(STR(FI_BI.NUM_FIC)))
IF LEN(ALLT(STR(FI_BI.NUM_FIC+1)))=L
.TEXCONTAR1.VALUE=REPL("0",4-L)+ALLT(STR(FI_BI.NUM_FIC+1))
ELSE
.TEXCONTAR1.VALUE=REPL("0",4-(L+1))+ALLT(STR(FI_BI.NUM_FIC+1))
ENDIF
ENDIF
VGRD1.RECORDSOURCE=""
VGRD2.RECORDSOURCE=""
VGRD3.RECORDSOURCE=""
VGRD1.ENABLED=.F.
VGRD2.ENABLED=.F.
VGRD3.ENABLED=.F.
VGRD1.VISIBLE=.F.
VGRD2.VISIBLE=.F.
VGRD3.VISIBLE=.F.
.SETALL("ENABLED",.F.,"COMMANDBUTTON")
.TEXNOM.ENABLED=.F.
.TEXCODIGO.ENABLED=.F.
.TEXT1.ENABLED=.F.
.TEXT5.ENABLED=.F.
.TEXCODIGO.ENABLED=.F.
.COMCANCEL.ENABLED=.F.
.COMMAND1.ENABLED=.F.
.COMMAND2.ENABLED=.F.
.COMMAND3.ENABLED=.T.
.COMMAND4.ENABLED=.T.
.COMMAND5.ENABLED=.T.
.COMMAND6.ENABLED=.T.
.COMMAND7.ENABLED=.F.
.CONTAINER3.COMOBSER.ENABLED=.T.
.COMBO1.ENABLED=.F.
.COMBO1.VALUE=""
.TEXNOM.VALUE=""
.TEXCODIGO.VALUE=""
.TEXT1.VALUE=""
.TEXT5.VALUE=0
.GRID1.VISIBLE=.F.
.GRID2.VISIBLE=.F.
.COMBO1.VISIBLE=.F.
.COMM1.ENABLED=.T.
.COMM2.ENABLED=.T.
.COMM1.VISIBLE=.T.
.COMM2.VISIBLE=.T.
.COMM1.SETFOCUS
.REFRESH
ENDWITH
COMMAND2.GOTFOCUS
THISFORM.MENSAJE.VALUE="<<EDITA>> LOS DATOS AGREGADOS EN EL VISUALIZADOR INFERIOR"
COMMAND2.CLICK
SELE TE_FI
THISFORMSET.FORM2.CONTAINER1.SPINNER1.SPINNERHIGHVALUE=RECC()
IF RECCO()=0
ELSE
62
NRE=1
GO RECORD NRE
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.ENABLED=.T.
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.CONTAINER1.SPINNER1.VALUE=1
ENDIF
TEXT1.INTERACTIVECHANGE
SET EXACT ON
VGRD2=THISFORM.GRID2
VGRD2.RECORDSOURCE=""
VGRD2.ENABLED=.T.
VGRD2.VISIBLE=.T.
VGRD2.COLUMN1.ENABLED=.T.
VGRD2.TABSTOP=.T.
IF LASTKEY()<>13
TEXTO=UPPE(ALLT(THISFORM.TEXT1.VALUE))
N=LEN(TEXTO)
IF N=0
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND6.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE=""
ELSE
SELEC COD_LIB,TIT_LIB,AUT_LIB FROM LI_BR WHERE ATLINE(TEXTO,TIT_LIB)=1.AND.UPPER(DIS_LIB)="SI" INTO CURSOR TINGRES
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE="TINGRES"
ENDIF
ELSE
VGRD2.COLUMN1.TEXT1.SETFOCUS
ENDIF
THISFORM.REFRESH
TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
DO CASE
CASE LASTKEY()=13.AND.EMPTY(THISFORM.TEXT1.VALUE)=.F.
THISFORM.COMMAND2.ENABLED=.T.
VGRD2.COLUMN1.TEXT1.SETFOCUS
ENDCASE
TEXT1.GOTFOCUS
THISFORM.MENSAJE.VALUE="DIGITAR EL NOMBRE DEL MATERIAL QUE SOLICITA EL USUARIO"
TEXFECHA.GOTFOCUS
THISFORM.MENSAJE.VALUE="MUESTRA LA FECHA PARA LA NUEVA FICHA A GENERAR"
TEXCONTAR1.GOTFOCUS
THISFORM.MENSAJE.VALUE="MUESTRA EL NUMERO PARA LA NUEVA FICHA A GENERAR"
COMMAND1.CLICK
VGRD3.RECORDSOURCE=""
SELE TINGRES
DO CASE
CASE THISFORM.TEXT1.VALUE=""
SELE TE_FI
IF RECC()=0
ELSE
VGRD3.RECORDSOURCE="TE_FI"
ENDIF
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT1.SETFOCUS
CASE RECC()=0
SELE TE_FI
IF RECC()=0
ELSE
VGRD3.RECORDSOURCE="TE_FI"
ENDIF
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT1.SETFOCUS
OTHERWISE
SELE TE_FI
APPE BLAN
THISFORM.TEXT5.VALUE=RECC()
REPLA TE_FI.NUM_ORD WITH THISFORM.TEXT5.VALUE
REPL TE_FI.TIT_LIB WITH ALLT(THISFORM.TEXT1.VALUE)
REPL TE_FI.AUT_LIB WITH ALLT(THISFORM.TEXT2.VALUE)
REPL TE_FI.COD_LIB WITH ALLT(THISFORM.TEXT3.VALUE)
SELE TE_FI
GO TOP
VGRD3.VISIBLE=.T.
VGRD3.RECORDSOURCE="TE_FI"
ENDCASE
THISFORM.REFRESH
COMMAND1.GOTFOCUS
THISFORM.MENSAJE.VALUE="ENVIA LA INFORMACIN AL VISUALIZADOR INFERIOR PARA GENERAR FICHA"
COMCANCEL.CLICK
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT2.VALUE=""
THISFORM.TEXT3.VALUE=""
63
THISFORM.COMMAND6.ENABLED=.T.
THISFORM.TEXT1.ENABLED=.T.
VGRD2.ENABLED=.F.
VGRD2.COLUMN1.ENABLED=.F.
VGRD2.VISIBLE=.F.
VGRD2.TABSTOP=.F.
THISFORM.TEXT1.SETFOCUS
THISFORM.TEXT5.VALUE=0
COMCANCEL.GOTFOCUS
THISFORM.MENSAJE.VALUE="<<CANCELA>> LA SELECCION DE MATERIAL SOLICITADO"
GRID2.COLUMN1.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE TINGRES
WCOD=ALLT(TINGRES.COD_LIB)
SELE LI_BR
LOCATE FOR ALLT(LI_BR.COD_LIB)==ALLT(WCOD)
IF FOUND()
THISFORM.TEXT1.VALUE=UPPE(ALLT(TIT_LIB))
THISFORM.TEXT2.VALUE=UPPE(ALLT(AUT_LIB))
THISFORM.TEXT3.VALUE=UPPE(ALLT(COD_LIB))
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
ENDIF
ENDIF
GRID2.COLUMN1.TEXT1.DBLCLICK
SELE TINGRES
WCOD=ALLT(TINGRES.COD_LIB)
SELE LI_BR
LOCATE FOR ALLT(LI_BR.COD_LIB)==ALLT(WCOD)
IF FOUND()
THISFORM.TEXT1.VALUE=UPPE(ALLT(TIT_LIB))
THISFORM.TEXT2.VALUE=UPPE(ALLT(AUT_LIB))
THISFORM.TEXT3.VALUE=UPPE(ALLT(COD_LIB))
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
ENDIF
GRID2.COLUMN1.TEXT1.GOTFOCUS
THISFORM.MENSAJE.VALUE="HAGA <<DOBLE CLICK O ENTER>> EN EL MATERIAL QUE SOLICITA EL USUARIO"
GRID2.COLUMN2.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE TINGRES
WCOD=ALLT(TINGRES.COD_LIB)
SELE LI_BR
LOCATE FOR ALLT(LI_BR.COD_LIB)==ALLT(WCOD)
IF FOUND()
THISFORM.TEXT1.VALUE=UPPE(ALLT(TIT_LIB))
THISFORM.TEXT2.VALUE=UPPE(ALLT(AUT_LIB))
THISFORM.TEXT3.VALUE=UPPE(ALLT(COD_LIB))
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
ENDIF
ENDIF
GRID2.COLUMN2.TEXT1.DBLCLICK
SELE TINGRES
WCOD=ALLT(TINGRES.COD_LIB)
SELE LI_BR
LOCATE FOR ALLT(LI_BR.COD_LIB)==ALLT(WCOD)
IF FOUND()
THISFORM.TEXT1.VALUE=UPPE(ALLT(TIT_LIB))
THISFORM.TEXT2.VALUE=UPPE(ALLT(AUT_LIB))
THISFORM.TEXT3.VALUE=UPPE(ALLT(COD_LIB))
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
ENDIF
GRID2.COLUMN2.TEXT1.GOTFOCUS
THISFORM.MENSAJE.VALUE="HAGA <<DOBLE CLICK O ENTER>> EN EL MATERIAL QUE SOLICITA EL USUARIO"
GRID2.COLUMN3.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE TINGRES
WCOD=ALLT(TINGRES.COD_LIB)
SELE LI_BR
64
65
SELE CL_IE
LOCA FOR ALLT(CL_IE.APCLI)==ALLT(WNOM)
IF FOUND()
THISFORM.TEXNOM.VALUE=WNOM
WCOSEM=ALLT(ESCLI)
THISFORM.TEXCODIGO.VALUE=CL_IE.COCLI
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.TEXT1.ENABLED=.T.
THISFORM.TEXT1.SETFOCUS
ENDIF
THISFORM.REFRESH
ENDIF
GRID1.COLUMN2.TEXT1.GOTFOCUS
THISFORM.MENSAJE.VALUE=" HAGA << CLICK O ENTER >> EN EL NOMBRE DEL USUARIO INTERNO"
COMOBSER.CLICK
SELE FI_BI
GO TOP
IF RECC()=0
THISFORM.COMM1.SETFOCUS
ELSE
ENDIF
THISFORM.REFRESH
COMMAND6.CLICK
IF MESSAGEBOX("... DESEA GENERAR REPORTE?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM3.ENABLED=.T.
THISFORMSET.FORM3.SHOW
THISFORMSET.FORM3.TEXT1.SETFOCUS
ELSE
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
ENDIF
THISFORM.REFRESH
COMMAND6.GOTFOCUS
THISFORM.MENSAJE.VALUE="<<GENERA E IMPRIME>> UN REPORTE ESPECIFICADO"
COMMAND5.GOTFOCUS
THISFORM.MENSAJE.VALUE="TERMINA LA EJECUCIN DEL MODULO FICHAS DE BIBLIOTECA"
COMMAND5.CLICK
VGRD1=""
VGRD2=""
VGRD3=""
RELE A,D,I,L,N,O,W,R,S,T,X,Y,DD,RE,T1,T2,XI,NRE,PA,CAP,WCOM,WSA,WTIE,WTIE1,WTIE2,WTIE3,WSTO,WTOT,WWX,WXW,WCOSEM,OPC;
VASI,VCOD,VPAP,VREC,VTOT,VPLI,VDIO,VMEO,VAO,TEXTO,M,VALOR,WASI,WNOM,WCOD,VGRD1,VGRD2,VGRD3,WAUT,FEC1,FEC2,TIPREP
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
COMMAND3.GOTFOCUS
THISFORM.MENSAJE.VALUE="GENERA UNA NUEVA FICHA DE BIBLIOTECA"
COMMAND3.CLICK
SELE TE_FI
IF RECC()=0
ELSE
IF MESSAGEBOX("... DESEA GENERAR FICHA?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.F.
XI=0
S=0
X=0
M=0
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.COMMAND6.ENABLED=.T.
SELEC TE_FI
XI=RECCOUNT()
FOR M=1 TO XI
SELE TE_FI
GO RECO M
WCOD=ALLT(COD_LIB)
WNOM=ALLT(TIT_LIB)
WAUT=ALLT(AUT_LIB)
SELE FI_BI
APPE BLAN
REPL NUM_FIC WITH VAL(THISFORM.TEXCONTAR1.VALUE)
REPL NOM_CLI WITH ALLT(THISFORM.TEXNOM.VALUE)
REPL COD_CLI WITH ALLT(THISFORM.TEXCODIGO.VALUE)
REPL TIT_LIB WITH WNOM
REPL AUT_LIB WITH WAUT
REPL COD_LIB WITH WCOD
REPL FEC_FIC WITH THISFORM.TEXFECHA.VALUE
REPL DIS_LIB WITH "NO"
SELE LI_BR
LOCA FOR ALLT(LI_BR.COD_LIB)==WCOD
IF FOUND()
REPL DIS_LIB WITH "NO"
ELSE
66
WAIT WIND " ... DATOS EN TABLA DE MATERIAL DE BIBLIOTECA ALTERADOS ... " TIME 1.2
ENDIF
SELE IN_DI
SET FILTER TO ALLT(IN_DI.COD_LIB)==WCOD
REPL ALL DIS_LIB WITH "NO"
SET FILTER TO
ENDFOR
IF OPC=2
SELE CL_IE
LOCA FOR ALLT(COCLI)==ALLT(THISFORM.TEXCODIGO.VALUE)
IF FOUND()
ELSE
WTIE1=ALLT(THISFORM.TEXNOM.VALUE)
WTIE2=THISFORM.TEXFECHA.VALUE
WTIE3="EXTERNO"
APPE BLAN
REPL COCLI WITH ALLT(THISFORM.TEXCODIGO.VALUE)
REPL APCLI WITH WTIE1
REPL ESCLI WITH "*"
REPL FICLI WITH WTIE2
REPL OCCLI WITH WTIE3
REPL SECLI WITH WTIE3
REPL GRCLI WITH "*"
ENDIF
ENDIF
THISFORM.COMMAND7.ENABLED=.T.
ELSE
THISFORM.TEXT1.SETFOCUS
ENDIF
THISFORM.REFRESH
ENDIF
COMMAND4.GOTFOCUS
THISFORM.MENSAJE.VALUE="<<REINICIALIZA>> SELECCION DE DATOS PARA GENERAR NUEVA FICHA"
COMMAND4.CLICK
THISFORM.INIT
WAIT WIND "<<REINICIANDO>> SELECCION DE DATOS PARA GENERAR NUEVA FICHA" TIME 1
COMM1.GOTFOCUS
THISFORM.MENSAJE.VALUE="PRESIONE CLICK, O ENTER SI LA PERSONA ES DE LA ENTIDAD"
COMM1.CLICK
OPC=1
THISFORM.GRID1.TABSTOP=.T.
THISFORM.COMM1.ENABLED=.F.
THISFORM.COMM2.ENABLED=.F.
THISFORM.CONTAINER2.ENABLED=.F.
THISFORM.COMBO1.VISIBLE=.T.
THISFORM.COMBO1.ENABLED=.T.
THISFORM.COMBO1.SETFOCUS
COMM2.GOTFOCUS
THISFORM.MENSAJE.VALUE="HAGA <CLICK O ENTER> PARA INGRESAR DATOS DE PERSONAS FORNEAS A LA ENTIDAD"
COMM2.CLICK
OPC=2
THISFORM.COMM1.ENABLED=.F.
THISFORM.COMM2.ENABLED=.F.
THISFORM.CONTAINER2.ENABLED=.F.
THISFORM.TEXCODIGO.ENABLED=.T.
THISFORM.TEXCODIGO.VALUE=""
THISFORM.GRID1.ENABLED=.F.
THISFORM.GRID1.VISIBLE=.F.
THISFORM.TEXNOM.VALUE=""
THISFORM.TEXNOM.ENABLED=.T.
THISFORM.TEXNOM.SETFOCUS
COMBO1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13.AND.EMPTY(THISFORM.COMBO1.VALUE)
ELSE
IF LASTKEY()=13.AND.EMPTY(THISFORM.COMBO1.VALUE)=.F.
THISFORM.COMBO1.ENABLED=.F.
THISFORM.TEXNOM.ENABLED=.T.
THISFORM.TEXNOM.SETFOCUS
ENDIF
ENDIF
COMBO1.GOTFOCUS
THISFORM.MENSAJE.VALUE="CON EL <MOUSE> O DIRECCIONALES ELEGIR OCUPACION DE USUARIO, LUEGO PULSE <ENTER>"
COMBO1.CLICK
THISFORM.TEXNOM.ENABLED=.T.
TEXNOM.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=2.AND.VGRD1.VISIBLE=.T.
VGRD1.TABSTOP=.T.
67
VGRD1.COLUMN1.TEXT1.SETFOCUS
WWX=ALLT(THISFORM.TEXNOM.VALUE)
CASE OPC=2.AND.VGRD1.VISIBLE=.F.
WAIT WIND "... INGRESE SU DNI ..." TIME 1
THISFORM.TEXCODIGO.SETFOCUS
CASE OPC=1.AND.VGRD1.VISIBLE=.T.
VGRD1.TABSTOP=.T.
VGRD1.COLUMN1.TEXT1.SETFOCUS
WWX=ALLT(THISFORM.TEXNOM.VALUE)
CASE OPC=1.AND.VGRD1.VISIBLE=.F.
WAIT WIND " ... UN MOMENTO INGRESANDO NUEVO USUARIO INTERNO... ! " TIME 1
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM3.ENABLED=.F.
THISFORMSET.FORM4.ENABLED=.T.
THISFORMSET.FORM4.COSEM.VALUE=THISFORM.COMBO1.VALUE
THISFORMSET.FORM4.TEXAP.VALUE=THISFORM.TEXNOM.VALUE+ " "
THISFORMSET.FORM4.COGRU.VALUE=""
THISFORMSET.FORM4.COESP.VALUE=""
THISFORMSET.FORM4.TEXCO.VALUE=""
THISFORMSET.FORM4.TEXAP.SETFOCUS
THISFORMSET.FORM4.SHOW
ENDCASE
ENDIF
TEXNOM.INTERACTIVECHANGE
WITH THISFORM
WWX=ALLT(.TEXNOM.VALUE)
VGRD1.RECORDSOURCE=""
VGRD1.ENABLED=.F.
VGRD1.VISIBLE=.F.
VGRD1.SETALL("ENABLED",.T.,"COLUMN")
VGRD1.COLUMN2.ENABLED=.F.
VGRD1.TABSTOP=.T.
IF LASTKEY()<>13
TEXTO=ALLT(.TEXNOM.VALUE)
N=LEN(TEXTO)
IF N=0
VGRD1.RECORDSOURCE=""
VGRD1.VISIBLE=.F.
VGRD1.ENABLED=.F.
ELSE
DO CASE
CASE OPC=1.AND.ALLT(.COMBO1.VALUE)="ALUMNO"
SELE APCLI,COCLI,ESCLI,SECLI FROM CL_IE WHERE (ATLINE(TEXTO,APCLI)==1).AND.ALLT(UPPE(OCCLI))="ALUMNO" INTO CURSOR TCLIENT
CASE OPC=1.AND.ALLT(.COMBO1.VALUE)="DOCENTE"
SELE APCLI,COCLI,ESCLI,SECLI FROM CL_IE WHERE (ATLINE(TEXTO,APCLI)==1).AND.ALLT(UPPE(OCCLI))="DOCENTE" INTO CURSOR TCLIENT
CASE OPC=1.AND.ALLT(.COMBO1.VALUE)="PERS.ADM./SERV."
SELE APCLI,COCLI,ESCLI,SECLI FROM CL_IE WHERE (ATLINE(TEXTO,APCLI)==1).AND.ALLT(UPPE(OCCLI))="PERS.ADM./SERV." INTO CURSOR TCLIENT
CASE OPC=2
SELE APCLI,COCLI,ESCLI,SECLI FROM CL_IE WHERE (ATLINE(TEXTO,APCLI)==1).AND.ALLT(UPPE(OCCLI))="EXTERNO" INTO CURSOR TCLIENT
ENDCASE
SELE TCLIENT
IF RECC()=0
VGRD1.RECORDSOURCE=""
VGRD1.VISIBLE=.F.
VGRD1.ENABLED=.F.
ELSE
WCOSEM=ESCLI
VGRD1.RECORDSOURCE = "TCLIENT"
VGRD1.VISIBLE=.T.
VGRD1.ENABLED=.T.
THISFORM.REFRESH
ENDIF
ENDIF
ENDIF
ENDWITH
TEXNOM.GOTFOCUS
THISFORM.MENSAJE.VALUE="PARA *NUEVO* USUARIO, DIGITE APELLIDOS Y NOMBRES LUEGO <ENTER>; SI EXISTE USUARIO DIGITA APELLIDOS Y
NOMBRES LUEGO <ENTER>"
TEXCODIGO.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=2
DO CASE
CASE LEN(ALLT(THIS.VALUE))<=7
WAIT WIND "*** INGRESE BIEN EL D.N.I. ***" TIME 1
THISFORM.TEXCODIGO.SETFOCUS
CASE LEN(ALLT(THIS.VALUE))=8
THISFORM.COMCANCEL.ENABLED=.T.
THISFORM.TEXT1.ENABLED=.T.
THISFORM.TEXT1.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXCODIGO.VALUE))>=9
WAIT WIND "*** INGRESE BIEN EL D.N.I. ***" TIME 1
THISFORM.TEXCODIGO.SETFOCUS
OTHERWISE
ENDCASE
ENDCASE
ENDIF
TEXCODIGO.GOTFOCUS
DO CASE
CASE OPC=1
THISFORM.MENSAJE.VALUE=" << DIGITE >> EL CODIGO DEL DOCENTE O ALUMNO Y PRESIONE ENTER"
68
CASE OPC=2
THISFORM.MENSAJE.VALUE=" << DIGITE >> EL D. N. I. DE LA PERSONA FORNEA Y PRESIONE ENTER"
ENDCASE
TEXT2.INTERACTIVECHANGE
SET EXACT ON
VGRD2=THISFORM.GRID2
VGRD2.RECORDSOURCE=""
VGRD2.ENABLED=.T.
VGRD2.VISIBLE=.T.
VGRD2.COLUMN1.ENABLED=.T.
VGRD2.TABSTOP=.T.
IF LASTKEY()<>13
TEXTO=UPPE(ALLT(THISFORM.TEXT1.VALUE))
N=LEN(TEXTO)
IF N=0
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND6.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE=""
ELSE
SELEC COD_LIB,TIT_LIB,AUT_LIB FROM LI_BR WHERE ATLINE(TEXTO,TIT_LIB)=1.AND.UPPER(ALLT(DIS_LIB))="SI" INTO CURSOR TINGRES
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE="TINGRES"
ENDIF
ELSE
VGRD2.COLUMN1.TEXT1.SETFOCUS
ENDIF
THISFORM.REFRESH
TEXT2.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
DO CASE
CASE LASTKEY()=13.AND.EMPTY(THISFORM.TEXT1.VALUE)=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.GRID2.COLUMN1.TEXT1.SETFOCUS
ENDCASE
TEXT2.GOTFOCUS
THISFORM.MENSAJE.VALUE="DIGITAR EL NOMBRE DEL MATERIAL QUE SOLICITA EL USUARIO"
TEXT3.GOTFOCUS
THISFORM.MENSAJE.VALUE="DIGITAR EL NOMBRE DEL MATERIAL QUE SOLICITA EL USUARIO"
TEXT3.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
DO CASE
CASE LASTKEY()=13.AND.EMPTY(THISFORM.TEXT1.VALUE)=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.GRID2.COLUMN1.TEXT1.SETFOCUS
ENDCASE
TEXT3.INTERACTIVECHANGE
SET EXACT ON
VGRD2=THISFORM.GRID2
VGRD2.RECORDSOURCE=""
VGRD2.ENABLED=.T.
VGRD2.VISIBLE=.T.
VGRD2.COLUMN1.ENABLED=.T.
VGRD2.TABSTOP=.T.
IF LASTKEY()<>13
TEXTO=UPPE(ALLT(THISFORM.TEXT1.VALUE))
N=LEN(TEXTO)
IF N=0
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND6.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE=""
ELSE
SELEC COD_LIB,TIT_LIB,AUT_LIB FROM LI_BR WHERE ATLINE(TEXTO,TIT_LIB)=1.AND.UPPER(ALLT(DIS_LIB))="SI" INTO CURSOR TINGRES
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMCANCEL.ENABLED=.T.
VGRD2.RECORDSOURCE="TINGRES"
ENDIF
ELSE
VGRD2.COLUMN1.TEXT1.SETFOCUS
ENDIF
THISFORM.REFRESH
COMMAND7.GOTFOCUS
THISFORM.MENSAJE.VALUE="IMPRIME UNA NUEVA FICHA DE BIBLIOTECA"
COMMAND7.CLICK
WTIE=ALLT(THISFORM.TEXCONTAR1.VALUE)
WTIE1=ALLT(THISFORM.TEXNOM.VALUE)
WTIE2=THISFORM.TEXFECHA.VALUE
IF OPC=1
WTIE3=ALLT(THISFORM.COMBO1.VALUE)
ELSE
WTIE3="EXTERNO"
ENDIF
REPORT FORM FICHAS NOCONSOLE PREVIEW
69
EN EL FORMULARIO 2
SPINNER1.LOSTFOCUS
SELE TE_FI
IF THISFORM.CONTAINER1.SPINNER1.VALUE>RECCOUNT().OR.THISFORM.CONTAINER1.SPINNER1.VALUE<1
WAIT WIND " ... INGRESO INCORRECTO ... " TIME 1
THISFORM.CONTAINER1.SPINNER1.VALUE=1
NRE=THISFORM.CONTAINER1.SPINNER1.VALUE
GO RECORD NRE
ELSE
NRE=THISFORM.CONTAINER1.SPINNER1.VALUE
GO RECORD NRE
ENDIF
COMMAND3.CLICK
SELE TE_FI
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.REFRESH
THISFORMSET.FORM1.TEXT5.VALUE=RECC()
THISFORMSET.FORM1.TEXT1.SETFOCUS
COMMAND2.CLICK
SELE TE_FI
IF MESSAGEBOX(" ELIMINAR REGISTRO(S) ? ",4+32,DA_EN.NOM_ENT)=6
VGRD3.RECORDSOURCE=""
VGRD3.ENABLED=.F.
VGRD3.VISIBLE=.F.
DELETE ALL
PACK
THISFORMSET.FORM1.TEXT5.VALUE=RECCOUNT()
WAIT WINDOW " ... REGISTRO(S) ELIMINADO(S) ... " TIME 1
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.TEXT1.SETFOCUS
THISFORMSET.REFRESH
ELSE
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
THISFORM.CONTAINER1.COMMAND2.SETFOCUS
THISFORM.CONTAINER1.SPINNER1.VALUE=1
NRE=1
GO RECORD NRE
ENDIF
THISFORM.REFRESH
COMMAND1.CLICK
SELE TE_FI
IF MESSAGEBOX(" ... ELIMINAR REGISTRO "+ ALLT(STR(NRE))+" ... ? ",4+32,DA_EN.NOM_ENT)=6
VGRD3.RECORDSOURCE=""
DELETE
PACK
WAIT WINDOW " ... REGISTRO "+ALLT(STR(NRE))+""+" ELIMINADO ... " TIME 1
THISFORMSET.FORM1.TEXT5.VALUE=RECCOUNT()
FOR I=1 TO RECC()
GO RECO I
REPL NUM_ORD WITH RECNO()
ENDFOR
VGRD3.RECORDSOURCE="TE_FI"
SELE TE_FI
GO TOP
IF RECCOUNT()=0
VGRD3.ENABLED=.F.
VGRD3.VISIBLE=.F.
THISFORM.CONTAINER1.COMMAND3.CLICK
ELSE
THISFORM.CONTAINER1.SPINNER1.VALUE=1
THISFORM.CONTAINER1.SPINNER1.SPINNERHIGHVALUE=RECCOUNT()
THISFORM.CONTAINER1.COMMAND1.SETFOCUS
VGRD3.RECORDSOURCE="TE_FI"
THISFORM.CONTAINER1.SPINNER1.VALUE=1
THISFORM.REFRESH
ENDIF
ELSE
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
THISFORM.CONTAINER1.COMMAND1.SETFOCUS
THISFORM.CONTAINER1.SPINNER1.VALUE=1
NR=1
GO RECORD NR
ENDIF
THISFORM.REFRESH
EN EL FORMULARIO 3
FORM3.INIT
THISFORM.TEXT1.VALUE=DATE()
THISFORM.TEXT2.VALUE=DATE()
THISFORM.CHECK1.VALUE=0
THISFORM.CHECK2.VALUE=0
70
COMMAND1.CLICK
SELE FI_BI
SET FILTER TO
THISFORMSET.FORM3.ENABLED=.F.
THISFORMSET.FORM3.HIDE
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.COMMAND6.SETFOCUS
THISFORMSET.FORM1.REFRESH
COMMAND2.CLICK
THISFORM.TEXT1.VALUE=DATE()
THISFORM.TEXT2.VALUE=DATE()
THISFORM.CHECK1.VALUE=0
THISFORM.CHECK2.VALUE=0
THISFORM.TEXT1.SETFOCUS
COMMAND3.CLICK
A=0
B=0
A=THISFORM.CHECK1.VALUE
B=THISFORM.CHECK2.VALUE
DO CASE
CASE THISFORM.TEXT1.VALUE>THISFORM.TEXT2.VALUE
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1.2
THISFORM.TEXT1.SETFOCUS
CASE THISFORM.CHECK1.VALUE=0.AND.THISFORM.CHECK2.VALUE=0
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1.2
THISFORM.CHECK1.SETFOCUS
CASE A=1.AND.B=0
SELE FI_BI
TIPREP="PRESTADOS"
SET FILTER TO FEC_FIC>=THISFORM.TEXT1.VALUE.AND.FEC_FIC<=THISFORM.TEXT2.VALUE.AND.DIS_LIB="NO"
FEC1=THISFORM.TEXT1.VALUE
FEC2=THISFORM.TEXT2.VALUE
REPORT FORM PREDEV NOCONSOLE PREVI
CASE A=0.AND.B=1
SELE FI_BI
TIPREP="DEVUELTOS"
SET FILTER TO FEC_FIC>=THISFORM.TEXT1.VALUE.AND.FEC_FIC<=THISFORM.TEXT2.VALUE.AND.DIS_LIB="SI"
FEC1=THISFORM.TEXT1.VALUE
FEC2=THISFORM.TEXT2.VALUE
REPORT FORM PREDEV NOCONSOLE PREVI
CASE A=1.AND.B=1
SELE FI_BI
TIPREP="PRESTADOS Y DEVUELTOS"
SET FILTER TO FEC_FIC>=THISFORM.TEXT1.VALUE.AND.FEC_FIC<=THISFORM.TEXT2.VALUE
FEC1=THISFORM.TEXT1.VALUE
FEC2=THISFORM.TEXT2.VALUE
REPORT FORM PREDEV NOCONSOLE PREVI
ENDCASE
EN EL FORMULARIO 4
COMMAND2.GOTFOCUS
THISFORMSET.FORM1.MENSAJE.VALUE=" ELIMINA LA NUEVA INFORMACIN Y REINICIALIZA EL PROGRAMA"
COMMAND2.CLICK
THISFORMSET.FORM4.HIDE
THISFORMSET.FORM4.ENABLED=.F.
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.INIT
THISFORMSET.FORM1.REFRESH
TEXAP.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()<>13
ELSE
IF EMPTY(THISFORM.TEXAP.VALUE)
ELSE
WAP=ALLT(THISFORM.TEXAP.VALUE)
THISFORM.COSEM.ENABLED=.T.
THISFORM.COSEM.SETFOCUS
ENDIF
ENDIF
COSEM.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
SET EXACT ON
IF LASTKEY()=13
DO CASE
CASE ALLT(THIS.VALUE)="ALUMNO"
THISFORM.COGRU.VALUE="*"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="DOCENTE"
THISFORM.COGRU.VALUE="*"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="PERS.ADM./SERV."
THISFORM.COGRU.VALUE="*"
THISFORM.COESP.VALUE="*"
71
THISFORM.TEXCO.SETFOCUS
ENDCASE
ENDIF
COGRU.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
SET EXACT ON
IF LASTKEY()=13
DO CASE
CASE ALLT(THIS.VALUE)="*"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="A"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="B"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="C"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="D"
THISFORM.COESP.SETFOCUS
CASE ALLT(THIS.VALUE)="E"
THISFORM.COESP.SETFOCUS
ENDCASE
ENDIF
COMMAND1.GOTFOCUS
THISFORMSET.FORM1.MENSAJE.VALUE="GRABA LOS NUEVOS DATOS DEL USUARIO"
COMMAND1.CLICK
IF LASTKEY()=13
WCOSE=THISFORM.COSEM.VALUE
WCOES=THISFORM.COESP.VALUE
DO CASE
CASE THISFORM.COSEM.VALUE="DOCENTE".AND.THISFORM.COESP.VALUE=""
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.COESP.SETFOCUS
CASE EMPTY(THISFORM.TEXAP.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXAP.SETFOCUS
CASE THISFORM.COSEM.VALUE=""
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.COSEM.SETFOCUS
CASE THISFORM.COGRU.VALUE=""
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.COGRU.SETFOCUS
CASE EMPTY(THISFORM.TEXCO.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXCO.SETFOCUS
OTHERWISE
SELE CL_IE
LOCATE FOR ALLT(CL_IE.COCLI)=THISFORM.TEXCO.VALUE
IF FOUND()
WAIT WIND " ... CDIGO YA EXISTE ... " TIME 1
THISFORM.TEXCO.SETFOCUS
ELSE
APPEND BLANK
R=RECNO()
REPLA CL_IE.APCLI WITH THISFORM.TEXAP.VALUE
REPLA CL_IE.COCLI WITH THISFORM.TEXCO.VALUE
REPLA CL_IE.ESCLI WITH WCOES
REPLA CL_IE.GRCLI WITH THISFORM.COGRU.VALUE
REPLA CL_IE.FICLI WITH DATE()
DO CASE
CASE THISFORM.COSEM.VALUE="PERS.ADM./SERV."
REPLA CL_IE.OCCLI WITH "PERS.ADM./SERV."
REPLA CL_IE.SECLI WITH WCOSE
CASE THISFORM.COSEM.VALUE="DOCENTE"
REPLA CL_IE.OCCLI WITH "DOCENTE"
REPLA CL_IE.SECLI WITH WCOSE
CASE THISFORM.COSEM.VALUE<>"DOCENTE".OR.THISFORM.COSEM.VALUE<>"PERS.ADM./SERV."
REPLA CL_IE.OCCLI WITH "ALUMNO"
REPLA CL_IE.SECLI WITH WCOSE
ENDCASE
WAIT WIND " GRABANDO EN EL "+ALLT(STR(R))+" REGISTRO" TIME 1.5
THISFORMSET.FORM4.HIDE
THISFORMSET.FORM4.ENABLED=.F.
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.TEXNOM.VALUE=THISFORM.TEXAP.VALUE
THISFORMSET.FORM1.TEXCODIGO.VALUE=THISFORM.TEXCO.VALUE
THISFORMSET.FORM1.COMBO1.VALUE=THISFORM.COSEM.VALUE
THISFORMSET.FORM1.TEXNOM.ENABLED=.F.
THISFORMSET.FORM1.TEXCODIGO.ENABLED=.F.
THISFORMSET.FORM1.GRID1.ENABLED=.F.
THISFORMSET.FORM1.GRID1.VISIBLE=.F.
THISFORMSET.FORM1.COMBO1.ENABLED=.F.
THISFORMSET.FORM1.TEXT1.ENABLED=.T.
THISFORMSET.FORM1.TEXT1.SETFOCUS
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.REFRESH
ENDIF
ENDCASE
ENDIF
COESP.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
SET EXACT ON
WCOESP=THISFORM.COESP.VALUE
IF LASTKEY()=13
72
DO CASE
CASE ALLT(THIS.VALUE)<>""
THISFORM.TEXCO.SETFOCUS
ENDCASE
ENDIF
COMMAND4.CLICK
THISFORM.TEXCO.VALUE=""
THISFORM.TEXAP.VALUE=""
THISFORM.COSEM.VALUE=""
THISFORM.COGRU.VALUE=""
THISFORM.COESP.VALUE=""
THISFORM.TEXAP.SETFOCUS
COMMAND4.GOTFOCUS
THISFORMSET.FORM1.MENSAJE.VALUE="LIMPIA LOS TEXTOS PARA QUE SEAN NUEVAMENTE LLENADOS"
TEXCO.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXCO.VALUE)
ELSE
DO CASE
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))<=5.AND.OPC=1.AND.ALLT(THISFORMSET.FORM1.COMBO1.VALUE)="ALUMNO"
WAIT WIND "... INGRESE BIEN EL CODIGO (6 CARACTERES) ..." TIME 1
THISFORM.TEXCO.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))<=7.AND.OPC=1.AND.ALLT(THISFORMSET.FORM1.COMBO1.VALUE)="DOCENTE"
WAIT WIND "... INGRESE BIEN EL CODIGO (DNI: 8 CARACTERES) ..." TIME 1
THISFORM.TEXCO.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))<=7.AND.OPC=1.AND.ALLT(THISFORMSET.FORM1.COMBO1.VALUE)="PERS.ADM./SERV."
WAIT WIND "... INGRESE BIEN EL CODIGO (DNI: 8 CARACTERES) ..." TIME 1
THISFORM.TEXCO.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))<=8.AND.OPC=2
WAIT WIND "... INGRESE BIEN EL CODIGO (DNI: 8 CARACTERES) ..." TIME 1
THISFORM.TEXCO.SETFOCUS
OTHERWISE
WCO=ALLT(THISFORM.TEXCO.VALUE)
SELE CL_IE
GO TOP
LOCATE FOR (ALLT(CL_IE.COCLI)=ALLT(WCO)).AND.(ALLT(CL_IE.SECLI)=ALLT(THISFORM.COSEM.VALUE))
IF FOUND()
IF MESSAGEBOX ("...DESEA REINTENTAR OPERACIN?...",4+32,".... CDIGO LOCALIZADO !!! ....")=6
THISFORM.TEXCO.VALUE=""
THISFORM.TEXCO.ENABLED=.T.
THISFORM.TEXCO.SETFOCUS
ELSE
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
ENDIF
ELSE
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDCASE
ENDIF
ENDIF
FORMULARIO CONSULTA BIBLIOGRFICA
FORM1.INIT
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
SET SAFETY OFF
SET ANSI ON
SET TALK OFF
SET STAT OFF
SET SYSM TO
WITH THISFORM
PUBLIC OPC,WCOD,WNOM,NRE,OPC,NOMC,TEXTO,GRD1,GRD2,N,R,X,Y,NUM,WCO,XZ,Z,L,X1,YY,COLI,WTEX,WLIB,WTEM
WLIB=""
WTEM=""
WTEX=""
COLI=""
XZ=0
Z=0
L=0
X1=0
YY=0
NUM=0
WCOD=""
WNOM=""
OPC=0
NOMC=""
TEXTO=""
N=0
N1=0
WCO=""
.COMBO1.VISIBLE=.F.
.COMBO1.ENABLED=.F.
.COMBO2.VISIBLE=.F.
.COMBO2.ENABLED=.F.
.TEXBUS.VISIBLE=.F.
.TEXBUS.ENABLED=.F.
.TEXLIB.VALUE=""
.TEXAUT.VALUE=""
.COMBO1.VALUE=""
.COMBO2.VALUE=""
.TEXBUS.VALUE=""
73
.OPTIONGROUP1.OPTION1.VALUE=1
.OPTIONGROUP1.OPTION2.VALUE=0
.OPTIONGROUP1.OPTION1.SETFOCUS
GRD1=.GRID1
GRD2=.GRID2
GRD1.RECORDSOURCE=""
GRD1.VISIBLE=.F.
GRD1.ENABLED=.F.
GRD2.RECORDSOURCE=""
GRD2.VISIBLE=.F.
GRD2.ENABLED=.F.
.REFRESH
ENDWITH
COMMAND1.CLICK
SET EXACT OFF
GRD1.RECORDSOURCE=""
GRD2.RECORDSOURCE=""
IF THISFORM.COMBO2.ENABLED=.F.
TEXTO=ALLT(THISFORM.TEXBUS.VALUE)
ELSE
TEXTO=ALLT(THISFORM.COMBO2.VALUE)
ENDIF
N=LEN(TEXTO)
IF N=0
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIMEO 1.2
DO CASE
CASE THISFORM.COMBO2.ENABLED=.F.
THISFORM.COMBO1.SETFOCUS
CASE THISFORM.TEXBUS.ENABLED=.F.
THISFORM.COMBO2.SETFOCUS
ENDCASE
ELSE
DO CASE
CASE OPC=2
SELEC COD_LIB,IND_LIB,DES_LIB,DIS_LIB,CAR_LIB FROM IN_DI WHERE ATLINE(TEXTO,UPPER(&NOMC))=1 INTO CURSOR TEMP
GRD1.RECORDSOURCE="TEMP"
GRD1.VISIBLE=.T.
GRD1.ENABLED=.T.
GRD1.COLUMN1.TEXT1.SETFOCUS
GRD2.RECORDSOURCE=""
GRD2.VISIBLE=.F.
GRD2.ENABLED=.F.
CASE OPC=1
SELEC * FROM LI_BR WHERE ATLINE(TEXTO,UPPER(&NOMC))=1 INTO CURSOR TEMP
GRD1.RECORDSOURCE=""
GRD1.VISIBLE=.F.
GRD1.ENABLED=.F.
GRD2.RECORDSOURCE="TEMP"
GRD2.VISIBLE=.T.
GRD2.ENABLED=.T.
GRD2.COLUMN1.TEXT1.SETFOCUS
ENDCASE
ENDIF
COMMAND2.CLICK
THISFORM.INIT
COMMAND3.CLICK
RELEASE OPC,WCOD,WNOM,NRE,OPC,NOMC,TEXTO,GRD1,GRD2,N,R,X,Y,NUM,WCO,XZ,Z,L,X1,YY,COLI,WTEX,WLIB,WTEM
DO ME_BI.MPR
THISFORM.RELEASE
TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT1.GOTFOCUS
SELEC TEMP
WLIB=ALLT(TEMP.COD_LIB)
WTEM=ALLT(TEMP.IND_LIB)
SELE LI_BR
LOCA FOR ALLT(COD_LIB)==WLIB
IF FOUND()
THISFORM.TEXLIB.VALUE=TIT_LIB
THISFORM.TEXAUT.VALUE=AUT_LIB
ENDIF
GRID1.COLUMN1.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN2.TEXT1.GOTFOCUS
SELEC TEMP
WLIB=ALLT(TEMP.COD_LIB)
WTEM=ALLT(TEMP.IND_LIB)
SELE LI_BR
LOCA FOR ALLT(COD_LIB)==WLIB
IF FOUND()
THISFORM.TEXLIB.VALUE=TIT_LIB
74
THISFORM.TEXAUT.VALUE=AUT_LIB
ENDIF
GRID1.COLUMN2.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN3.TEXT1.GOTFOCUS
SELEC TEMP
WLIB=ALLT(TEMP.COD_LIB)
WTEM=ALLT(TEMP.IND_LIB)
SELE LI_BR
LOCA FOR ALLT(COD_LIB)==WLIB
IF FOUND()
THISFORM.TEXLIB.VALUE=TIT_LIB
THISFORM.TEXAUT.VALUE=AUT_LIB
ENDIF
GRID1.COLUMN3.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN4.TEXT1.GOTFOCUS
SELEC TEMP
WLIB=ALLT(TEMP.COD_LIB)
WTEM=ALLT(TEMP.IND_LIB)
SELE LI_BR
LOCA FOR ALLT(COD_LIB)==WLIB
IF FOUND()
THISFORM.TEXLIB.VALUE=TIT_LIB
THISFORM.TEXAUT.VALUE=AUT_LIB
ENDIF
GRID1.COLUMN4.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN5.TEXT1.GOTFOCUS
SELEC TEMP
WLIB=ALLT(TEMP.COD_LIB)
WTEM=ALLT(TEMP.IND_LIB)
SELE LI_BR
LOCA FOR ALLT(COD_LIB)==WLIB
IF FOUND()
THISFORM.TEXLIB.VALUE=TIT_LIB
THISFORM.TEXAUT.VALUE=AUT_LIB
ENDIF
GRID1.COLUMN5.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND2.SETFOCUS
ENDIF
COMBO1.INTERACTIVECHANGE
IF OPC=1
THISFORM.COMBO2.VISIBLE=.F.
THISFORM.COMBO2.ENABLED=.F.
THISFORM.TEXBUS.VISIBLE=.T.
THISFORM.TEXBUS.ENABLED=.T.
DO CASE
CASE ALLT(THIS.VALUE)="CODIGO"
NOMC="COD_LIB"
CASE ALLT(THIS.VALUE)="TITULO"
NOMC="TIT_LIB"
CASE ALLT(THIS.VALUE)="TIPO"
NOMC="TIP_LIB"
CASE ALLT(THIS.VALUE)="AUTOR"
NOMC="AUT_LIB"
CASE ALLT(THIS.VALUE)="EDITORIAL"
NOMC="EDI_LIB"
CASE ALLT(THIS.VALUE)="DISPONIBLE"
NOMC="DIS_LIB"
THISFORM.COMBO2.VISIBLE=.T.
THISFORM.COMBO2.ENABLED=.T.
THISFORM.TEXBUS.VISIBLE=.F.
THISFORM.TEXBUS.ENABLED=.F.
THISFORM.COMBO2.CLEAR
THISFORM.COMBO2.ADDITEM("SI")
THISFORM.COMBO2.ADDITEM("NO")
CASE ALLT(THIS.VALUE)="CARRERA PROFESIONAL"
NOMC="CAR_LIB"
OTHERWISE
THISFORM.COMBO1.VALUE=""
ENDCASE
ELSE
IF OPC=2
THISFORM.COMBO2.VISIBLE=.F.
75
THISFORM.COMBO2.ENABLED=.F.
THISFORM.TEXBUS.VISIBLE=.T.
THISFORM.TEXBUS.ENABLED=.T.
DO CASE
CASE ALLT(THIS.VALUE)="CODIGO"
NOMC="COD_LIB"
CASE ALLT(THIS.VALUE)="TEMA"
NOMC="IND_LIB"
CASE ALLT(THIS.VALUE)="DISPONIBLE"
NOMC="DIS_LIB"
THISFORM.COMBO2.VISIBLE=.T.
THISFORM.COMBO2.ENABLED=.T.
THISFORM.TEXBUS.VISIBLE=.F.
THISFORM.TEXBUS.ENABLED=.F.
THISFORM.COMBO2.CLEAR
THISFORM.COMBO2.ADDITEM("SI")
THISFORM.COMBO2.ADDITEM("NO")
CASE ALLT(THIS.VALUE)="CARRERA PROFESIONAL"
NOMC="CAR_LIB"
OTHERWISE
THISFORM.COMBO1.VALUE=""
ENDCASE
ENDIF
ENDIF
GRID2.COLUMN1.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMMAND3.SETFOCUS
ENDIF
OPTIONGROUP1.CLICK
WITH THISFORM
OPC=THIS.VALUE
.COMBO1.VISIBLE=.T.
.COMBO1.ENABLED=.T.
.TEXBUS.VISIBLE=.T.
.TEXBUS.ENABLED=.T.
.COMBO1.VALUE=""
.COMBO2.VALUE=""
.TEXBUS.VALUE=""
.OPTIONGROUP1.OPTION1.SETFOCUS
GRD1.RECORDSOURCE=""
GRD1.VISIBLE=.F.
GRD1.ENABLED=.F.
GRD2.RECORDSOURCE=""
GRD2.VISIBLE=.F.
GRD2.ENABLED=.F.
DO CASE
CASE OPC=1
.COMBO1.CLEAR
.COMBO1.ADDITEM("CODIGO")
.COMBO1.ADDITEM("TITULO")
.COMBO1.ADDITEM("TIPO")
.COMBO1.ADDITEM("AUTOR")
.COMBO1.ADDITEM("EDITORIAL")
.COMBO1.ADDITEM("DISPONIBLE")
.COMBO1.ADDITEM("CARRERA PROFESIONAL")
.COMBO1.SETFOCUS
CASE OPC=2
.COMBO1.CLEAR
.COMBO1.ADDITEM("CODIGO")
.COMBO1.ADDITEM("TEMA")
.COMBO1.ADDITEM("DISPONIBLE")
.COMBO1.ADDITEM("CARRERA PROFESIONAL")
.COMBO1.SETFOCUS
ENDCASE
.REFRESH
ENDWITH
TEXBUS.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.COMBO1.VALUE).OR.EMPTY(THISFORM.TEXBUS.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDIF
TEXLIB.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.COMBO1.VALUE).OR.EMPTY(THISFORM.TEXBUS.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDIF
TEXAUT.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.COMBO1.VALUE).OR.EMPTY(THISFORM.TEXBUS.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDIF
76
77
.TEXNOM.SETFOCUS
.TEXCOD.VALUE=ALLT(LI_BR.COD_LIB)
.TEXTIT.VALUE=ALLT(LI_BR.TIT_LIB)
.TEXAUT.VALUE=ALLT(LI_BR.AUT_LIB)
ELSE
.INIT
ENDIF
ENDIF
ELSE
WAIT WIND " ... CODIGO NO EXISTE ... " TIME 1
.INIT
ENDIF
ENDIF
.REFRESH
ENDWITH
COMMAND2.CLICK
THISFORM.INIT
COMMAND3.CLICK
SELE TE_IN
IF RECCOUNT()=0
THISFORM.TEXCOD.SETFOCUS
ELSE
IF MESSAGEBOX (" ... GRABAR REGISTRO ... ",32+4," ... EDICIN DE DATOS ... ")=6
WCOD=ALLT(THISFORM.TEXCOD.VALUE)
SELE TE_IN
GO TOP
XZ=RECCOUNT()
Z=1
DO WHILE Z<(XZ+1)
SELE TE_IN
GO RECORD Z
WNOM=SUBS(ALLT(TE_IN.TEM_BUS),1)
SELE IN_DI
APPE BLAN
GO BOTTOM
REPL COD_LIB WITH WCOD
REPL IND_LIB WITH WNOM
REPL DES_LIB WITH WDES
REPL DIS_LIB WITH WDIS
REPL CAR_LIB WITH WCAR
SELE TE_IN
Z=Z+1
ENDDO
WAIT WIND " ... REGISTROS GRABADOS ... " TIME 1.5
THISFORM.INIT
ELSE
THISFORM.TEXNOM.SETFOCUS
ENDIF
ENDIF
COMMAND4.CLICK
RELEASE WCOD,WDES,WDIS,WCAR,WNOM,NRE,OPC,NOMC,TEXTO,VGRID,N,R,X,Y,NUM,WCO1,XZ,Z,L,X1,YY,WNUM
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
COMMAND6.CLICK
SELE TE_IN
THISFORMSET.FORM2.SPINNER1.SPINNERHIGHVALUE=RECCOUNT()
IF RECCOUNT()=0
THISFORM.TEXNOM.VALUE=""
THISFORM.TEXNOM.SETFOCUS
THISFORM.GRID1.ENABLED=.F.
ELSE
NRE=1
GO RECORD NRE
THISFORMSET.FORM1.VISIBLE=.T.
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.VISIBLE=.T.
THISFORMSET.FORM2.ENABLED=.T.
THISFORMSET.FORM2.SPINNER1.VALUE=1
ENDIF
COMMAND5.CLICK
THISFORM.REFRESH
DO CASE
CASE LASTKEY()=13.AND. EMPTY(THISFORM.TEXCOD.VALUE)=.T.
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXCOD.SETFOCUS
CASE LASTKEY()=13.AND. EMPTY(THISFORM.TEXNOM.VALUE)=.T.
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXNOM.SETFOCUS
CASE LASTKEY()=13.AND. EMPTY(THISFORM.TEXCOD.VALUE)=.F..AND. EMPTY(THISFORM.TEXNOM.VALUE)=.F.
WNUM=THISFORM.TEXT1.VALUE
SELE TE_IN
THISFORM.GRID1.ENABLED=.T.
THISFORM.GRID1.VISIBLE=.T.
APPEND BLANK
NRE=RECCOUNT()
REPLA TE_IN.NUM WITH NRE
REPLA TE_IN.TEM_BUS WITH ALLT(SUBS(THISFORM.TEXNOM.VALUE,1))
REPLA TE_IN.TEM_PAG WITH WNUM
THISFORM.TEXNOM.VALUE=""
78
THISFORM.TEXNOM.SETFOCUS
GO TOP
THISFORM.GRID1.RECORDSOURCE="TE_IN"
THISFORM.TEXT1.VALUE=0
ENDCASE
TEXTIT.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXCOD.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDIF
TEXAUT.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXCOD.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDIF
EN EL FORMULARIO 2
SPINNER1.LOSTFOCUS
SELE TE_IN
IF THISFORM.SPINNER1.VALUE>RECCOUNT().OR.THISFORM.SPINNER1.VALUE<1
WAIT WIND " ... INGRESO INCORRECTO ... " TIME 1.5
THISFORM.SPINNER1.VALUE=1
NRE=THISFORM.SPINNER1.VALUE
GO RECORD NRE
ELSE
NRE=THISFORM.SPINNER1.VALUE
GO RECORD NRE
ENDIF
COMMAND3.CLICK
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.REFRESH
THISFORMSET.FORM1.TEXNOM.ENABLED=.T.
THISFORMSET.FORM1.TEXNOM.VALUE=""
THISFORMSET.FORM1.TEXNOM.SETFOCUS
COMMAND2.CLICK
IF MESSAGEBOX(" ELIMINAR REGISTRO(S) ? ",4+32," DE INDICE(S)")=6
THISFORMSET.FORM1.GRID1.RECORDSOURCE=""
DELETE ALL
PACK
WAIT WINDOW " ... REGISTRO(S) ELIMINADO(S) ... " TIME 1
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.GRID1.ENABLED=.F.
THISFORMSET.FORM1.TEXNOM.ENABLED=.T.
THISFORMSET.FORM1.TEXNOM.VALUE=""
THISFORMSET.FORM1.TEXNOM.SETFOCUS
THISFORMSET.FORM1.GRID1.RECORDSOURCE="TE_IN"
THISFORMSET.REFRESH
ELSE
WAIT WINDOW " ... CANCELANDO OPERACIN ... " TIME 1
THISFORM.COMMAND2.SETFOCUS
THISFORM.SPINNER1.VALUE=1
NRE=1
GO RECORD NRE
ENDIF
COMMAND1.CLICK
IF MESSAGEBOX(" ... ELIMINAR REGISTRO "+ ALLT(STR(NRE))+" ... ? ",48+4," INDICE(S) ")=6
SELE TE_IN
THISFORMSET.FORM1.GRID1.RECORDSOURCE=""
GO RECORD NRE
DELETE
PACK
WAIT WINDOW " ... REGISTRO "+ALLT(STR(NRE))+""+" ELIMINADO ... " TIME 1.5
THISFORMSET.FORM1.GRID1.RECORDSOURCE="TE_IN"
SELEC TE_IN
R=RECCOUNT()
NR=1
DO WHILE NR<R.OR.NR=R
REPLA NUM WITH NR
IF.NOT.EOF()
SKIP
ENDIF
NR=NR+1
ENDDO
R=0
NR=0
79
SELEC TE_IN
IF RECCOUNT()=0
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.GRID1.ENABLED=.F.
THISFORMSET.FORM1.TEXNOM.ENABLED=.T.
THISFORMSET.FORM1.TEXNOM.VALUE=""
ELSE
THISFORM.SPINNER1.VALUE=1
THISFORM.SPINNER1.SPINNERHIGHVALUE=RECCOUNT()
THISFORM.COMMAND1.SETFOCUS
THISFORM.SPINNER1.VALUE=1
NRE=1
GO RECORD NRE
THISFORM.REFRESH
ENDIF
ELSE
WAIT WINDOW " ... CANCELANDO OPERACIN ... " TIME 1.5
THISFORM.COMMAND1.SETFOCUS
THISFORM.SPINNER1.VALUE=1
NRE=1
GO RECORD NRE
ENDIF
THISFORM.REFRESH
CONJUNTO DE FORMULARIOS DATOS DE MATERIAL BIBLIOGRFICO
EN EL FORMULARIO 1
FORM1.INIT
*SET DELE OFF
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
SET CENTURY ON
SET SYSM TO
SET DATE DMY
SET STAT OFF
WITH THISFORM
PUBLIC COD,TIT,TIP,AUT,EDI,DES,CAR,DIS,NRE,OPC,NOMC,TEXTO,VGRID,N,R,X,Y,NUM,XZ,Z,L
N=0
R=0
X=0
Y=0
L=0
XZ=0
Z=0
NUM=0
COD=""
TIT=""
TIP=""
AUT=""
EDI=""
DES=""
CAR=""
DIS=""
OPC=0
NOMC=""
TEXTO=""
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM2.ENABLED=.F.
.SETALL("ENABLED",.T.,"COMMANDBUTTON")
.TEXCOD.CONTROLSOURCE="LI_BR.COD_LIB"
.TEXTIT.CONTROLSOURCE="LI_BR.TIT_LIB"
.TEXTIP.CONTROLSOURCE="LI_BR.TIP_LIB"
.TEXAUT.CONTROLSOURCE="LI_BR.AUT_LIB"
.TEXEDI.CONTROLSOURCE="LI_BR.EDI_LIB"
.TEXDES.CONTROLSOURCE="LI_BR.DES_LIB"
.TEXCAR.CONTROLSOURCE="LI_BR.CAR_LIB"
.TEXDIS.CONTROLSOURCE="LI_BR.DIS_LIB"
.TEXCAR.ENABLED=.F.
.TEXDIS.ENABLED=.F.
.COMMAND9.ENABLED=.F.
.COMMAND10.ENABLED=.F.
.SETALL("ENABLED",.F.,"TEXTBOX")
THISFORMSET.FORM2.HIDE
.REFRESH
SELE LI_BR
DO CASE
CASE RECCOUNT()=0.OR.RECCOUNT()=1
.COMMAND1.ENABLED=.F.
.COMMAND2.ENABLED=.F.
.COMMAND3.ENABLED=.F.
.COMMAND4.ENABLED=.F.
.COMMAND5.SETFOCUS
.TEXT1.VALUE=" 1 REGISTRO O NO EXISTE REGISTROS"
CASE RECNO()=RECCOUNT()
.COMMAND3.ENABLED=.F.
.COMMAND4.ENABLED=.F.
.COMMAND2.SETFOCUS
.TEXT1.VALUE=ALLT(STR(NRE))+" REGISTRO"
CASE RECNO()=1
.COMMAND1.ENABLED=.F.
.COMMAND2.ENABLED=.F.
.COMMAND3.SETFOCUS
.TEXT1.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
OTHERWISE
80
.COMMAND1.ENABLED=.T.
.COMMAND2.ENABLED=.T.
.COMMAND3.ENABLED=.T.
.COMMAND4.ENABLED=.T.
NRE=RECNO()
.TEXT1.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDCASE
.REFRESH
ENDWITH
TEXTIT.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXTIT.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXTIT.VALUE)
ELSE
THISFORM.TEXTIP.SETFOCUS
ENDIF
ENDIF
TEXTIP.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXTIP.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXTIT.VALUE)
ELSE
THISFORM.TEXAUT.SETFOCUS
ENDIF
ENDIF
TEXCOD.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXCOD.VALUE)
ELSE
THISFORM.TEXTIT.SETFOCUS
ENDIF
ENDIF
TEXCOD.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND1.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND1.CLICK
SELE LI_BR
GO TOP
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.T.
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.TEXT1.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
COMMAND5.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND5.CLICK
SELE LI_BR
OPC=1
NRE=RECNO()
THISFORM.SETALL("ENABLED",.F.,"COMMANDBUTTON")
THISFORM.SETALL("CONTROLSOURCE","","TEXTBOX")
THISFORM.TEXCAR.CONTROLSOURCE=""
THISFORM.TEXDIS.CONTROLSOURCE=""
THISFORM.SETALL("VALUE","","TEXTBOX")
THISFORM.TEXCOD.VALUE=COD
THISFORM.TEXTIT.VALUE=TIT
THISFORM.TEXTIP.VALUE=TIP
THISFORM.TEXAUT.VALUE=AUT
THISFORM.TEXEDI.VALUE=EDI
THISFORM.TEXDES.VALUE=DES
THISFORM.TEXCAR.VALUE=CAR
THISFORM.TEXDIS.VALUE=DIS
THISFORM.SETALL("ENABLED",.T.,"TEXTBOX")
THISFORM.TEXCAR.ENABLED=.T.
THISFORM.TEXDIS.ENABLED=.T.
THISFORM.COMMAND9.ENABLED=.T.
THISFORM.COMMAND10.ENABLED=.T.
THISFORM.TEXT1.ENABLED=.F.
THISFORM.TEXT1.VALUE=" NUEVO REGISTRO "
THISFORM.TEXCOD.SETFOCUS
THISFORM.REFRESH
COMMAND6.GOTFOCUS
81
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND6.CLICK
SELE LI_BR
IF RECCOUNT()=0
ELSE
OPC=2
NRE=RECNO()
THISFORM.SETALL("ENABLED",.F.,"COMMANDBUTTON")
THISFORM.SETALL("ENABLED",.T.,"TEXTBOX")
COD=SUBS(ALLT(LI_BR.COD_LIB),1)
TIT=SUBS(ALLT(LI_BR.TIT_LIB),1)
TIP=SUBS(ALLT(LI_BR.TIP_LIB),1)
AUT=SUBS(ALLT(LI_BR.AUT_LIB),1)
EDI=SUBS(ALLT(LI_BR.EDI_LIB),1)
DES=SUBS(ALLT(LI_BR.DES_LIB),1)
CAR=SUBS(ALLT(LI_BR.CAR_LIB),1)
DIS=SUBS(ALLT(LI_BR.DIS_LIB),1)
THISFORM.SETALL("CONTROLSOURCE","","TEXTBOX")
THISFORM.TEXCAR.CONTROLSOURCE=""
THISFORM.TEXDIS.CONTROLSOURCE=""
THISFORM.TEXCOD.VALUE=COD
THISFORM.TEXTIT.VALUE=TIT
THISFORM.TEXTIP.VALUE=TIP
THISFORM.TEXAUT.VALUE=AUT
THISFORM.TEXEDI.VALUE=EDI
THISFORM.TEXDES.VALUE=DES
THISFORM.TEXCAR.VALUE=CAR
THISFORM.TEXDIS.VALUE=DIS
THISFORM.TEXCAR.ENABLED=.T.
THISFORM.TEXDIS.ENABLED=.T.
THISFORM.COMMAND9.ENABLED=.T.
THISFORM.COMMAND10.ENABLED=.T.
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT+" "+ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.TEXT1.ENABLED=.F.
THISFORM.TEXCOD.SETFOCUS
ENDIF
THISFORM.REFRESH
COMMAND7.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND7.CLICK
SELEC LI_BR
IF RECCOUNT()=0
ELSE
R=RECNO()
THISFORM.TEXT1.ENABLED=.F.
THISFORMSET.FORM1.HIDE
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.ENABLED=.T.
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.COMBO1.ENABLED=.T.
THISFORMSET.FORM2.TEXT1.VALUE=""
THISFORMSET.FORM2.TEXT1.ENABLED=.F.
VGRID.ENABLED=.F.
THISFORMSET.FORM2.COMMAND2.ENABLED=.F.
VGRID.RECORDSOURCE=""
VGRID.VISIBLE=.F.
THISFORMSET.FORM2.COMBO1.SETFOCUS
ENDIF
THISFORM.REFRESH
COMMAND8.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND8.CLICK
SELE LI_BR
IF RECC()=0
ELSE
NRE=RECNO()
THISFORM.TEXT1.VALUE=" ... ELIMINAR "+ALLT(STR(NRE))+" REGISTRO ... "
IF RECCOUNT()=0
ELSE
IF RECCOUNT()>0
IF MESSAGEBOX(" DESEA ELIMINAR REGISTRO? ",4+32,"BIBILIOTECA")=6
SELE LI_BR
GO RECORD NRE
COD=COD_LIB
DELE
PACK
SELE IN_DI
SET FILTER TO COD_LIB==COD
DELE ALL
PACK
WAIT WINDOW " ... REGISTRO "+ALLT(STR(NRE))+" ELIMINADO ... " TIME 1
THISFORM.INIT
ELSE
WAIT WINDOW " ... CANCELANDO OPERACIN ... " TIME 1
GO RECORD NRE
ENDIF
ENDIF
ENDIF
ENDIF
82
THISFORM.REFRESH
COMMAND9.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND9.CLICK
SET EXACT ON
SET ANSI ON
DO CASE
CASE EMPTY(THISFORM.TEXCOD.VALUE).OR.LEN(THISFORM.TEXCOD.VALUE)<5
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXCOD.SETFOCUS
CASE EMPTY(THISFORM.TEXTIT.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXTIT.SETFOCUS
CASE EMPTY(THISFORM.TEXTIP.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXTIP.SETFOCUS
CASE EMPTY(THISFORM.TEXAUT.VALUE).AND.OPC>1
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXAUT.SETFOCUS
CASE EMPTY(THISFORM.TEXDES.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXDES.SETFOCUS
CASE EMPTY(THISFORM.TEXCAR.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXCAR.SETFOCUS
CASE EMPTY(THISFORM.TEXDIS.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXDIS.SETFOCUS
OTHERWISE
COD=ALLT(THISFORM.TEXCOD.VALUE)
TIT=ALLT(THISFORM.TEXTIT.VALUE)
TIP=ALLT(THISFORM.TEXTIP.VALUE)
AUT=ALLT(THISFORM.TEXAUT.VALUE)
EDI=ALLT(THISFORM.TEXEDI.VALUE)
DES=ALLT(THISFORM.TEXDES.VALUE)
CAR=ALLT(THISFORM.TEXCAR.VALUE)
DIS=ALLT(THISFORM.TEXDIS.VALUE)
IF MESSAGEBOX (" ... GRABAR REGISTRO ... ",32+4," ... EDICIN DE DATOS ... ")=6
SELE LI_BR
SET DELETE OFF
DO CASE
CASE OPC=1
SEEK COD ORDER COD_LIB
IF FOUND()=.T.
WAIT WIND " ... CDIGO YA EXISTE ... " TIME 1
THISFORM.TEXCOD.SETFOCUS
ELSE
SELE LI_BR
APPEND BLANK
GO BOTTOM
R=RECNO()
REPLA LI_BR.COD_LIB WITH ALLT(COD)
REPLA LI_BR.TIT_LIB WITH ALLT(TIT)
REPLA LI_BR.TIP_LIB WITH ALLT(TIP)
REPLA LI_BR.AUT_LIB WITH ALLT(AUT)
REPLA LI_BR.EDI_LIB WITH ALLT(EDI)
REPLA LI_BR.DES_LIB WITH ALLT(DES)
REPLA LI_BR.CAR_LIB WITH ALLT(CAR)
REPLA LI_BR.DIS_LIB WITH ALLT(DIS)
WAIT WIND " GRABADO "+ALLT(STR(R))+" REGISTRO" TIME 1
SELE LI_BR
GO RECORD NRE
THISFORM.INIT
ENDIF
CASE OPC=2
SELE LI_BR
GO RECORD NRE
REPL LI_BR.COD_LIB WITH ALLT(COD)
REPL LI_BR.TIT_LIB WITH ALLT(TIT)
REPL LI_BR.TIP_LIB WITH ALLT(TIP)
REPL LI_BR.AUT_LIB WITH ALLT(AUT)
REPL LI_BR.EDI_LIB WITH ALLT(EDI)
REPL LI_BR.DES_LIB WITH ALLT(DES)
REPL LI_BR.CAR_LIB WITH ALLT(CAR)
REPL LI_BR.DIS_LIB WITH ALLT(DIS)
WAIT WIND " MODIFICADO "+ALLT(STR(NRE))+" REGISTRO" TIME 1
SELE LI_BR
THISFORM.INIT
ENDCASE
ELSE
THISFORM.TEXCOD.SETFOCUS
ENDIF
ENDCASE
COMMAND10.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND10.CLICK
IF OPC=1.OR.OPC=2
SET ESCAPE OFF
SELE LI_BR
IF RECC()=0
THISFORM.INIT
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
SET ESCAPE OFF
83
ELSE
GO RECORD NRE
THISFORM.INIT
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
ENDIF
ENDIF
THISFORM.REFRESH
COMMAND11.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND11.CLICK
RELEASE COD,TIT,TIP,AUT,EDI,DES,CAR,DIS,NRE,OPC,NOMC,TEXTO,VGRID,N,R,X,Y,NUM,XZ,Z,L
SET CENTURY ON
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
COMMAND2.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND2.CLICK
SELE LI_BR
IF NOT BOF()
SKIP-1
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
THISFORM.TEXT1.VALUE=ALLT(STR(RECN()))+" REGISTRO"
ENDIF
IF RECN()=1
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.TEXT1.VALUE=ALLT(STR(RECN()))+" REGISTRO"
ENDIF
THISFORM.REFRESH
COMMAND3.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND3.CLICK
SELE LI_BR
IF.NOT.EOF()
SKIP +1
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.TEXT1.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
ENDIF
IF RECNO()=RECCOUNT()
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.TEXT1.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
ENDIF
THISFORM.REFRESH
COMMAND4.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
COMMAND4.CLICK
SELE LI_BR
GO BOTTOM
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.TEXT1.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
TEXAUT.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXAUT.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXTIT.VALUE)
ELSE
THISFORM.TEXEDI.SETFOCUS
ENDIF
ENDIF
TEXEDI.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXEDI.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXTIT.VALUE)
ELSE
THISFORM.TEXDES.SETFOCUS
ENDIF
84
ENDIF
TEXDES.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXDES.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXDES.VALUE)
ELSE
THISFORM.TEXCAR.SETFOCUS
ENDIF
ENDIF
TEXDIS.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXDIS.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXDIS.VALUE)
ELSE
THISFORM.COMMAND9.SETFOCUS
ENDIF
ENDIF
TEXCAR.GOTFOCUS
THISFORM.TEXT1.VALUE=THIS.TOOLTIPTEXT
TEXCAR.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
IF EMPTY(THISFORM.TEXCAR.VALUE)
ELSE
THISFORM.TEXDIS.SETFOCUS
ENDIF
ENDIF
EN EL FORMULARIO 2
FORM2.INIT
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
VGRID=THISFORM.GRID1
PUBLIC CLI
CLI=1
COMMAND3.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMMAND3.CLICK
THISFORM.COMBO1.VALUE=""
THISFORM.GRID1.RECORDSOURCE=""
SELE LI_BR
GO RECORD R
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.ENABLED=.T.
RELEASE CLI
TEXT1.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE TEMP
IF RECCOUNT()=0
ELSE
SELE TEMP
GO TOP
VGRID.TABSTOP=.T.
VGRID.SETALL("ENABLED",.T.,"COLUMN")
DO CASE
CASE NOMC="COD_LIB"
VGRID.COLUMN1.TEXT1.SETFOCUS
CASE NOMC="TIT_LIB"
VGRID.COLUMN2.TEXT1.SETFOCUS
CASE NOMC="AUT_LIB"
VGRID.COLUMN4.TEXT1.SETFOCUS
ENDCASE
ENDIF
ENDIF
TEXT1.INTERACTIVECHANGE
SET EXACT ON
VGRID.RECORDSOURCE=""
VGRID.ENABLED=.T.
VGRID.SETALL("ENABLED",.F.,"COLUMN")
VGRID.TABSTOP=.F.
85
THISFORM.COMMAND2.ENABLED=.F.
IF LASTKEY()<>13
TEXTO=ALLT(THISFORM.TEXT1.VALUE)
N=LEN(TEXTO)
IF N=0
VGRID.RECORDSOURCE=""
VGRID.VISIBLE=.F.
ELSE
SELEC * FROM LI_BR WHERE ATLINE(TEXTO,UPPER(&NOMC))=1 INTO CURSOR TEMP
VGRID.RECORDSOURCE = "TEMP"
VGRID.VISIBLE=.T.
ENDIF
ENDIF
THISFORM.REFRESH
COMMAND1.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMMAND1.CLICK
NOMC=""
TEXTO=""
N=0
THISFORM.GRID1.RECORDSOURCE=""
THISFORM.COMBO1.VALUE=""
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT1.ENABLED=.F.
THISFORM.COMBO1.ENABLED=.T.
THISFORM.COMBO1.SETFOCUS
COMMAND2.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMMAND2.CLICK
THISFORM.COMBO1.VALUE=""
THISFORMSET.FORM1.REFRESH
SELE LI_BR
GO RECORD NRE
THISFORMSET.FORM1.INIT
COMBO1.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMBO1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
THISFORM.COMBO1.ENABLED=.F.
THISFORM.TEXT1.ENABLED=.T.
THISFORM.TEXT1.SETFOCUS
ENDIF
COMBO1.INTERACTIVECHANGE
SET EXACT ON
THISFORM.GRID1.ENABLED=.F.
DO CASE
CASE ALLT(THIS.VALUE)="CODIGO"
NOMC="COD_LIB"
CASE ALLT(THIS.VALUE)="TITULO"
NOMC="TIT_LIB"
CASE ALLT(THIS.VALUE)="AUTOR"
NOMC="AUT_LIB"
OTHERWISE
THISFORM.COMBO1.VALUE=""
THISFORM.REFRESH
ENDCASE
COMMAND4.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMMAND4.CLICK
THISFORM.COMBO1.VALUE=""
THISFORM.COMBO1.ENABLED=.F.
THISFORM.GRID1.RECORDSOURCE=""
SELECT * FROM LI_BR INTO CURSOR TEMP
THISFORM.GRID1.RECORDSOURCE="TEMP"
VGRID=THISFORM.GRID1
THISFORM.GRID1.ENABLED=.T.
THISFORM.GRID1.TABSTOP=.T.
VGRID.SETALL("ENABLED",.T.,"COLUMN")
THISFORM.GRID1.COLUMN1.TEXT1.SETFOCUS
COMMAND5.GOTFOCUS
THISFORM.TEXT2.VALUE=THIS.TOOLTIPTEXT
COMMAND5.CLICK
REPORT FORM LIBROS NOCONSOLE PREVIEW
GRID1.COLUMN1.TEXT1.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
86
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN2.TEXT1.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN2.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN3.TEXT1.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN3.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT4.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT4.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT5.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT5.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT6.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
87
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT6.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT7.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT7.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT8.GOTFOCUS
SELE TEMP
SELE LI_BR
SEEK TEMP.COD_LIB ORDER COD_LIB
IF FOUND()
NRE=RECNO()
THISFORM.TEXT2.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT8.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE LI_BR
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
CONJUNTO DE FORMULARIOS MANTENIMIENTO DE USUARIOS
EN EL PRIMER FORMULARIO
FORM1.INIT
SET SYSM TO
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
SET DATE DMY
PUBLIC WCO,WAP,WOC,WTEX,NRE,OPC,X,NOMC,TEXTO,N,R,X,Y
WCO=""
WAP=""
WTEX=""
WOC=""
X=0
OPC=0
NOMC=""
TEXTO=""
NRE=0
N=0
R=0
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM1.ENABLED=.T.
THISFORMSET.FORM2.ENABLED=.F.
THISFORM.CONTAINER1.VISIBLE=.T.
THISFORM.SPINNER1.VISIBLE=.T.
THISFORM.COMMAND12.VISIBLE=.T.
THISFORM.LABEL8.VISIBLE=.T.
THISFORM.SPINNER1.ENABLED=.T.
THISFORM.COMMAND12.ENABLED=.T.
THISFORM.COESPT.ENABLED=.T.
THISFORM.COESPC.ENABLED=.F.
THISFORM.COESPT.VISIBLE=.T.
THISFORM.COESPC.VISIBLE=.F.
SELE DA_EN
THISFORM.CONTAINER2.LABEL1.CAPTION=ALLT(DA_EN.NOM_ENT)
THISFORM.CONTAINER2.LABEL2.CAPTION=ALLT(DA_EN.DIR_ENT)
THISFORM.CONTAINER2.LABEL3.CAPTION=ALLT(DA_EN.DIS_ENT)+" - FONO : "+ALLT(DA_EN.TEL_ENT)
SELE CL_IE
THISFORM.SPINNER1.SPINNERHIGHVALUE=RECCOUNT()
THISFORM.TEXCO.CONTROLSOURCE="CL_IE.COCLI"
THISFORM.TEXAP.CONTROLSOURCE="CL_IE.APCLI"
THISFORM.COSEM.CONTROLSOURCE="CL_IE.OCCLI"
THISFORM.COESPT.CONTROLSOURCE="CL_IE.ESCLI"
THISFORM.COGRU.CONTROLSOURCE="CL_IE.GRCLI"
THISFORM.SETALL("ENABLED",.F.,"TEXTBOX")
88
THISFORM.SETALL("ENABLED",.F.,"COMBOBOX")
THISFORM.SETALL("ENABLED",.T.,"COMMANDBUTTON")
THISFORM.COMMAND9.ENABLED=.F.
THISFORM.COMMAND10.ENABLED=.F.
DO CASE
CASE RECNO()=RECCOUNT()
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
CASE RECCOUNT()=0.OR.RECCOUNT()=1
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.CONTAINER1.ENABLED=.F.
THISFORM.MENSAJE.VALUE=" 1 REGISTRO NO EXISTE O, NO EXISTE REGISTROS"
CASE RECNO()=1
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.MENSAJE.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
OTHERWISE
NRE=RECNO()
THISFORM.MENSAJE.VALUE=ALLT(STR(NRE))+" REGISTRO"
ENDCASE
THISFORM.REFRESH
COMMAND5.CLICK
OPC=1
R=RECNO()
THISFORM.CONTAINER1.VISIBLE=.F.
THISFORM.SPINNER1.VISIBLE=.F.
THISFORM.COMMAND12.VISIBLE=.F.
THISFORM.LABEL8.VISIBLE=.F.
THISFORM.SPINNER1.ENABLED=.F.
THISFORM.COMMAND12.ENABLED=.F.
THISFORM.SETALL("CONTROLSOURCE","","TEXTBOX")
THISFORM.SETALL("CONTROLSOURCE","","COMBOBOX")
THISFORM.SETALL("VALUE","","TEXTBOX")
THISFORM.SETALL("VALUE","","COMBOBOX")
THISFORM.TEXCO.VALUE=WCO
THISFORM.TEXAP.VALUE=WAP
THISFORM.COSEM.VALUE=WOC
THISFORM.COESPT.ENABLED=.F.
THISFORM.COESPC.ENABLED=.T.
THISFORM.COESPT.VISIBLE=.F.
THISFORM.COESPC.VISIBLE=.T.
THISFORM.SETALL("ENABLED",.F.,"COMMANDBUTTON")
THISFORM.SETALL("ENABLED",.T.,"TEXTBOX")
THISFORM.SETALL("ENABLED",.T.,"COMBOBOX")
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
THISFORM.COMMAND9.ENABLED=.T.
THISFORM.COMMAND10.ENABLED=.T.
THISFORM.TEXAP.ENABLED=.T.
THISFORM.TEXAP.SETFOCUS
THISFORM.REFRESH
COMMAND6.CLICK
SELE CL_IE
THISFORM.CONTAINER1.VISIBLE=.F.
THISFORM.SPINNER1.VISIBLE=.F.
THISFORM.COMMAND12.VISIBLE=.F.
THISFORM.LABEL8.VISIBLE=.F.
THISFORM.SPINNER1.ENABLED=.F.
THISFORM.COMMAND12.ENABLED=.F.
OPC=2
R=RECN()
THISFORM.SETALL("ENABLED",.F.,"COMMANDBUTTON")
THISFORM.SETALL("ENABLED",.T.,"TEXTBOX")
THISFORM.SETALL("ENABLED",.T.,"COMBOBOX")
WCO=SUBS(ALLT(CL_IE.COCLI),1)
WAP=SUBS(ALLT(CL_IE.APCLI),1)
WOC=SUBS(ALLT(CL_IE.OCCLI),1)
THISFORM.SETALL("CONTROLSOURCE","","TEXTBOX")
THISFORM.TEXCO.VALUE=WCO
THISFORM.TEXAP.VALUE=WAP
THISFORM.COSEM.VALUE=WOC
THISFORM.COESPT.ENABLED=.F.
THISFORM.COESPC.ENABLED=.T.
THISFORM.COESPT.VISIBLE=.F.
THISFORM.COESPC.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
THISFORM.COMMAND9.ENABLED=.T.
THISFORM.COMMAND10.ENABLED=.T.
THISFORM.TEXAP.ENABLED=.T.
THISFORM.TEXAP.SETFOCUS
THISFORM.REFRESH
COMMAND7.CLICK
SELEC CL_IE
IF RECCOUNT()=0
ELSE
R=RECNO()
THISFORMSET.FORM1.HIDE
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM2.ENABLED=.T.
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.COMBO1.ENABLED=.T.
THISFORMSET.FORM2.TEXT1.VALUE=""
THISFORMSET.FORM2.TEXT1.ENABLED=.F.
THISFORMSET.FORM2.GRID1.ENABLED=.F.
89
THISFORMSET.FORM2.COMMAND2.ENABLED=.F.
THISFORMSET.FORM2.GRID1.RECORDSOURCE=""
THISFORMSET.FORM2.GRID1.RECORDSOURCE="TEMVI1"
THISFORMSET.FORM2.COMBO1.SETFOCUS
ENDIF
THISFORM.REFRESH
COMMAND8.CLICK
SELE CL_IE
NRE=RECN()
THISFORM.MENSAJE.VALUE=" ... ELIMINAR "+ALLT(STR(NRE))+" REGISTRO ... "
IF RECCOUNT()=0
ELSE
IF RECC()>0
IF MESSAGEBOX(" DESEA ELIMINAR REGISTRO? ",4+32,"USUARIOS DE BIBLIOTECA "+DA_EN.NOM_ENT)=6
DELE
WAIT WIND " ... REGISTRO "+ALLT(STR(NRE))+" ELIMINADO ... " TIME 1
THISFORM.INIT
ELSE
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
THISFORM.MENSAJE.VALUE=ALLT(STR(NRE))+" REGISTRO ... "
GO RECO NRE
ENDIF
ENDIF
ENDIF
THISFORM.REFRESH
COMMAND9.CLICK
WAP=THISFORM.TEXAP.VALUE
WCO=THISFORM.TEXCO.VALUE
WCOSE=THISFORM.COSEM.VALUE
WCOES=THISFORM.COESPC.VALUE
DO CASE
CASE THISFORM.COSEM.VALUE="DOCENTE".AND.THISFORM.COESP.VALUE=""
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.COESPC.SETFOCUS
CASE EMPTY(THISFORM.TEXAP.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXAP.SETFOCUS
CASE THISFORM.COSEM.VALUE=""
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.COSEM.SETFOCUS
CASE EMPTY(THISFORM.TEXCO.VALUE)
WAIT WINDOW " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXCO.SETFOCUS
OTHERWISE
SELE CL_IE
GO TOP
DO CASE
CASE OPC=1
SELE CL_IE
LOCATE FOR ALLT(CL_IE.COCLI)=THISFORM.TEXCO.VALUE
IF FOUND()
WAIT WIND " ... CDIGO YA EXISTE ... " TIME 1
THISFORM.TEXCO.SETFOCUS
ELSE
APPE BLAN
R=RECNO()
REPL CL_IE.FICLI WITH DATE()
REPL CL_IE.APCLI WITH THISFORM.TEXAP.VALUE
REPL CL_IE.COCLI WITH THISFORM.TEXCO.VALUE
REPL CL_IE.ESCLI WITH WCOES
REPL CL_IE.GRCLI WITH THISFORM.COGRU.VALUE
DO CASE
CASE ALLT(THISFORM.COSEM.VALUE)="PERS.ADM./SERV."
REPL CL_IE.OCCLI WITH "PERS.ADM./SERV."
REPL CL_IE.SECLI WITH WCOSE
CASE ALLT(THISFORM.COSEM.VALUE)="DOCENTE"
REPL CL_IE.OCCLI WITH "DOCENTE"
REPL CL_IE.SECLI WITH WCOSE
CASE ALLT(THISFORM.COSEM.VALUE)<>"DOCENTE".OR.ALLT(THISFORM.COSEM.VALUE)<>"PERS.ADM./SERV."
REPL CL_IE.OCCLI WITH "ALUMNO"
REPL CL_IE.SECLI WITH WCOSE
ENDCASE
WAIT WIND " ... GRABANDO EN EL "+ALLT(STR(R))+" REGISTRO" TIME 1
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO ... "
THISFORM.INIT
ENDIF
CASE OPC=2
SELE CL_IE
GO TOP
LOCATE FOR ALLT(CL_IE.COCLI)=WCO
NRE=RECNO()
IF ALLT(CL_IE.COCLI)=WCO
WAIT WIND " ... CDIGO YA EXISTE ... " TIME 1
IF MESSAGEBOX ("...SEGURO(A) QUE EL CDIGO NO SE REPITE?...",4+32,".... CDIGO LOCALIZADO !!! ....")=6
GO RECORD NRE
REPLA CL_IE.FICLI WITH DATE()
REPLA CL_IE.APCLI WITH THISFORM.TEXAP.VALUE
REPLA CL_IE.COCLI WITH THISFORM.TEXCO.VALUE
REPLA CL_IE.ESCLI WITH WCOES
REPLA CL_IE.GRCLI WITH THISFORM.COGRU.VALUE
DO CASE
CASE ALLT(THISFORM.COSEM.VALUE)="PERS.ADM./SERV."
REPLA CL_IE.OCCLI WITH "PERS.ADM./SERV."
REPLA CL_IE.SECLI WITH WCOSE
CASE ALLT(THISFORM.COSEM.VALUE)="DOCENTE"
REPLA CL_IE.OCCLI WITH "DOCENTE"
REPLA CL_IE.SECLI WITH WCOSE
90
CASE ALLT(THISFORM.COSEM.VALUE)<>"DOCENTE".OR.ALLT(THISFORM.COSEM.VALUE)<>"PERS.ADM./SERV."
REPLA CL_IE.OCCLI WITH "ALUMNO"
REPLA CL_IE.SECLI WITH WCOSE
ENDCASE
WAIT WIND " ... MODIFICADO "+ALLT(STR(R))+" REGISTRO" TIME 1
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO ... "
THISFORM.INIT
ELSE
THISFORM.TEXCO.SETFOCUS
ENDIF
ELSE
GO RECORD R
REPL CL_IE.FICLI WITH DATE()
REPL CL_IE.APCLI WITH THISFORM.TEXAP.VALUE
REPL CL_IE.COCLI WITH THISFORM.TEXCO.VALUE
REPL CL_IE.ESCLI WITH WCOES
REPL CL_IE.GRCLI WITH THISFORM.COGRU.VALUE
DO CASE
CASE ALLT(THISFORM.COSEM.VALUE)="PERS.ADM./SERV."
REPL CL_IE.OCCLI WITH "PERS.ADM./SERV."
REPL CL_IE.SECLI WITH WCOSE
CASE ALLT(THISFORM.COSEM.VALUE)="DOCENTE"
REPL CL_IE.OCCLI WITH "DOCENTE"
REPL CL_IE.SECLI WITH WCOSE
CASE ALLT(THISFORM.COSEM.VALUE)<>"DOCENTE".OR.ALLT(THISFORM.COSEM.VALUE)<>"PERS.ADM./SERV."
REPL CL_IE.OCCLI WITH "ALUMNO"
REPL CL_IE.SECLI WITH WCOSE
ENDCASE
WAIT WIND " MODIFICADO "+ALLT(STR(R))+" REGISTRO" TIME 1
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO ... "
THISFORM.INIT
ENDIF
ENDCASE
ENDCASE
THISFORM.REFRESH
COMMAND10.CLICK
THISFORM.REFRESH
THISFORM.INIT
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
COMMAND10.CLICK
RELEASE WCODA,WEPRA,WNOAR,WUNIA,WFINA,WCANA,NRE,OPC, NR
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
COMMAND1.CLICK
SELE CL_IE
GO TOP
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.T.
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
COMMAND2.CLICK
SELE CL_IE
IF NOT BOF()
SKIP-1
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
ENDIF
IF RECN()=1
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
ENDIF
THISFORM.MENSAJE.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
COMMAND3.CLICK
SELE CL_IE
IF.NOT.EOF()
SKIP +1
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
ENDIF
IF RECNO()=RECCOUNT()
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
ENDIF
THISFORM.MENSAJE.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
COMMAND4.CLICK
SELE CL_IE
GO BOTTOM
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(RECNO()))+" REGISTRO"
THISFORM.REFRESH
COSEM.LOSTFOCUS
91
SET EXACT ON
WCOSEM=THISFORM.COSEM.VALUE
IF LASTKEY()=13
DO CASE
CASE ALLT(THIS.VALUE)="I"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="II"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="III"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="IV"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="V"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="VI"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="VII"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="VIII"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="IX"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="X"
IF MESSAGEBOX("... INGRESAR GRUPO ?...",4+32," BIBLIOTECA "+DA_EN.NOM_ENT)=6
THISFORM.COGRU.ENABLED=.T.
ELSE
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDIF
CASE ALLT(THIS.VALUE)="DOCENTE"
THISFORM.COGRU.VALUE="*"
THISFORM.TEXCO.SETFOCUS
CASE ALLT(THIS.VALUE)="PERS.ADM./SERV."
THISFORM.COGRU.VALUE="*"
THISFORM.COESP.VALUE="*"
THISFORM.TEXCO.SETFOCUS
ENDCASE
ENDIF
COGRU.LOSTFOCUS
SET EXACT ON
WCOGRU=THISFORM.COGRU.VALUE
IF LASTKEY()=13
DO CASE
CASE ALLT(THIS.VALUE)="*"
THISFORM.TEXCO.ENABLED=.T.
CASE ALLT(THIS.VALUE)="A"
THISFORM.TEXCO.ENABLED=.T.
CASE ALLT(THIS.VALUE)="B"
THISFORM.TEXCO.ENABLED=.T.
CASE ALLT(THIS.VALUE)="C"
THISFORM.TEXCO.ENABLED=.T.
CASE ALLT(THIS.VALUE)="D"
THISFORM.TEXCO.ENABLED=.T.
92
CASE ALLT(THIS.VALUE)="E"
THISFORM.TEXCO.ENABLED=.T.
ENDCASE
ENDIF
COESPC.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()<>13
*
THISFORM.COESP.ROWSOURCETYPE=6
*
THISFORM.COESP.RECORDSOURCE="ESPE.NOESP"
ELSE
THISFORM.COSEM.ENABLED=.T.
ENDIF
TEXCO.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()<>13
THISFORM.TEXCO.ENABLED=.T.
ELSE
IF EMPTY(THISFORM.TEXCO.VALUE)
ELSE
DO CASE
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))<=5
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))=7
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))=6.AND.(THISFORM.COSEM.VALUE="DOCENTE")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))=6.AND.(THISFORM.COSEM.VALUE="PERS. ADM./ SERV.")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="I")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="II")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="III")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="IV")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="V")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE (LEN(ALLT(THISFORM.TEXCO.VALUE))=8).AND.(THISFORM.COSEM.VALUE="VI")
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
CASE LEN(ALLT(THISFORM.TEXCO.VALUE))>=9
WAIT WIND "... INGRESE BIEN EL CODIGO ..." TIME 1
*THISFORM.TEXCO.SETFOCUS
THISFORM.TEXCO.ENABLED=.T.
OTHERWISE
WCO=ALLT(THISFORM.TEXCO.VALUE)
SELE CLIENT
GO TOP
LOCATE FOR (ALLT(CLIENT.COCLI)=ALLT(WCO)).AND.(ALLT(CLIENT.SECLI)=ALLT(THISFORM.COSEM.VALUE))
IF FOUND()
IF MESSAGEBOX ("... DESEA VOLVER A ESCRIBIR EL CODIGO ?...",4+32,".... CDIGO LOCALIZADO !!! ....")=6
THISFORM.TEXCO.ENABLED=.T.
ELSE
THISFORM.COMMAND9.CLICK
ENDIF
ELSE
THISFORM.COMMAND9.CLICK
ENDIF
ENDCASE
ENDIF
ENDIF
TEXAP.LOSTFOCUS
IF LASTKEY()<>13
ELSE
IF EMPTY(THISFORM.TEXAP.VALUE)
ELSE
WAP=ALLT(THISFORM.TEXAP.VALUE)
THISFORM.COESPC.ENABLED=.T.
ENDIF
ENDIF
SPINNER1.LOSTFOCUS
SELE CL_IE
IF THISFORM.SPINNER1.VALUE<=0.OR.THISFORM.SPINNER1.VALUE>RECC()
93
EN EL FORMULARIO 2
FORM2.INIT
THISFORM.COMBO1.ENABLED=.T.
THISFORM.TEXT1.ENABLED=.F.
VGRID=THISFORM.GRID1
THISFORM.MENSAJE.VISIBLE=.F
GRID1.COLUMN1.TEXT1.GOTFOCUS
SELE TEMVI1
SELE CL_IE
LOCATE FOR TEMVI1.COCLI=CL_IE.COCLI
IF FOUND()
R=RECNO()
THISFORM.MENSAJE.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE CL_IE
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN2.TEXT1.GOTFOCUS
SELE TEMVI1
SELE CL_IE
LOCATE FOR TEMVI1.COCLI=CL_IE.COCLI
IF FOUND()
R=RECNO()
THISFORM.MENSAJE.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO"
ENDIF
GRID1.COLUMN2.TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE CL_IE
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT3.GOTFOCUS
SELE TEMVI1
SELE CL_IE
LOCATE FOR TEMVI1.COCLI=CL_IE.COCLI
IF FOUND()
R=RECNO()
THISFORM.MENSAJE.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO"
94
ENDIF
GRID1.COLUMN1.TEXT3.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE CL_IE
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT4.GOTFOCUS
SELE TEMVI1
SELE CL_IE
LOCATE FOR TEMVI1.COCLI=CL_IE.COCLI
IF FOUND()
R=RECNO()
THISFORM.MENSAJE.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT4.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE CL_IE
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
GRID1.COLUMN1.TEXT5.GOTFOCUS
SELE TEMVI1
SELE CL_IE
LOCATE FOR TEMVI1.COCLI=CL_IE.COCLI
IF FOUND()
R=RECNO()
THISFORM.MENSAJE.VISIBLE=.T.
THISFORM.MENSAJE.VALUE=ALLT(STR(R))+" REGISTRO"
ENDIF
GRID1.COLUMN1.TEXT5.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE CL_IE
NRE=RECNO()
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND2.SETFOCUS
ENDIF
COMBO1.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
COMBO1.INTERACTIVECHANGE
SET EXACT ON
THISFORM.GRID1.ENABLED=.F.
DO CASE
CASE ALLT(THIS.VALUE)="CODIGO"
NOMC="COCLI"
CASE ALLT(THIS.VALUE)="APELLIDOS Y NOMBRES"
NOMC="APCLI"
CASE ALLT(THIS.VALUE)="ESPECIALIDAD"
NOMC="ESCLI"
CASE ALLT(THIS.VALUE)="SEMESTRE"
NOMC="SECLI"
OTHERWISE
THISFORM.COMBO1.VALUE=""
THISFORM.REFRESH
ENDCASE
COMBO1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF THIS.VALUE=""
ELSE
IF LASTKEY()=13
THISFORM.COMBO1.ENABLED=.F.
THISFORM.TEXT1.ENABLED=.T.
ENDIF
ENDIF
TEXT1.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
TEXT1.INTERACTIVECHANGE
THISFORM.GRID1.RECORDSOURCE=""
VGRID=THISFORM.GRID1
THISFORM.GRID1.ENABLED=.T.
VGRID.SETALL("ENABLED",.F.,"COLUMN")
THISFORM.GRID1.TABSTOP=.F.
THISFORM.COMMAND2.ENABLED=.F.
IF LASTKEY()<>13
TEXTO=ALLT(THISFORM.TEXT1.VALUE)
95
N=LEN(TEXTO)
IF N=0
THISFORM.GRID1.RECORDSOURCE=""
ELSE
SELEC COCLI,APCLI,ESCLI,SECLI,FICLI FROM CL_IE WHERE ATLINE(TEXTO,CL_IE.&NOMC)=1 INTO CURSOR TEMVI1
THISFORM.GRID1.RECORDSOURCE="TEMVI1"
ENDIF
ENDIF
THISFORM.REFRESH
TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
SELE TEMVI1
IF RECC()=0
ELSE
SELE TEMVI1
GO TOP
THISFORM.GRID1.TABSTOP=.T.
THISFORM.GRID1.SETALL("ENABLED",.T.,"COLUMN")
DO CASE
CASE NOMC="COCLI"
THISFORM.GRID1.COLUMN1.TEXT1.SETFOCUS
CASE NOMC="NOCLI"
THISFORM.GRID1.COLUMN2.TEXT1.SETFOCUS
CASE NOMC="ESCLI"
THISFORM.GRID1.COLUMN3.TEXT1.SETFOCUS
CASE NOMC="SECLI"
THISFORM.GRID1.COLUMN4.TEXT1.SETFOCUS
ENDCASE
ENDIF
ENDIF
COMMAND3.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
COMMAND3.CLICK
THISFORM.COMBO1.VALUE=""
THISFORM.GRID1.RECORDSOURCE=""
SELE CL_IE
GO RECORD R
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM2.ENABLED=.F.
THISFORMSET.FORM1.SHOW
THISFORMSET.FORM1.ENABLED=.T.
COMMAND1.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
COMMAND1.CLICK
NOMC=""
TEXTO=""
N=0
THISFORM.MENSAJE.VISIBLE=.F.
THISFORM.GRID1.RECORDSOURCE=""
THISFORM.COMBO1.VALUE=""
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT1.ENABLED=.F.
THISFORM.COMBO1.ENABLED=.T.
THISFORM.COMBO1.SETFOCUS
COMMAND2.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
COMMAND2.CLICK
THISFORM.COMBO1.VALUE=""
THISFORMSET.FORM1.REFRESH
SELE CL_IE
GO RECORD R
THISFORMSET.FORM1.INIT
COMMAND4.GOTFOCUS
THISFORM.MENSAJE.VALUE=THIS.TOOLTIPTEXT
COMMAND4.CLICK
THISFORM.COMBO1.VALUE=""
THISFORM.COMBO1.ENABLED=.F.
THISFORM.GRID1.RECORDSOURCE=""
SELE COCLI,APCLI,ESCLI,SECLI,FICLI, .T. FROM CL_IE INTO CURSOR TEMVI1
THISFORM.GRID1.RECORDSOURCE="TEMVI1"
VGRID=THISFORM.GRID1
THISFORM.GRID1.ENABLED=.T.
THISFORM.GRID1.TABSTOP=.T.
VGRID.SETALL("ENABLED",.T.,"COLUMN")
THISFORM.GRID1.COLUMN1.TEXT1.SETFOCUS
CONJUNTO DE FORMULARIOS MODIFICACIN DE PASSWORD
EN EL FORMULARIO 1
FORM1.INIT
96
97
THISFORMSET.RELEASE
ELSE
.TEXT2.VALUE=""
.TEXT1.SETFOCUS
ENDIF
ELSE
SET EXACT ON
IF ALLT(WTEX1)==ALLT(WTEX2)
WAIT WIND" ... PASSWORD CORRECTO ... CONTINUANDO OPERACIN ... " TIME 1
RELEASE XI,Y,TEX,VTEX,WTEX,WTEX1,WTEX2
THISFORMSET.FORM1.ENABLED=.F.
THISFORMSET.FORM1.VISIBLE=.F.
THISFORMSET.FORM1.HIDE
THISFORMSET.FORM2.ENABLED=.T.
THISFORMSET.FORM2.VISIBLE=.T.
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.LABEL3.CAPTION="LONGITUD DE PASSWORD "+ALLT(STR(XXX))+" CARACTERES"
ELSE
Y=Y-1
TEX=""
VTEX=0
WTEX1=""
WAIT WIND " ... LOS DATOS NO COINCIDEN ... " TIME 1
WAIT WIND " ... TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES) ... " TIME 1
.LABEL2.CAPTION="TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES)"
IF Y=0
.LABEL2.CAPTION="TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES)"
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
RELEASE WLEN,XI,Y,TEX,VTEX,WTEX,WTEX1,WTEX2,XXX,X1,X2,NUM,TEXTO1,TEXTO2,VTEXT1,VTEXT2,WTEXT1,WTEXT2,WTEXTO1,WTEXTO2
THISFORMSET.RELEASE
ELSE
THISFORM.TEXT1.VALUE=""
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.LABEL2.CAPTION="TIENE "+ALLT(STR(Y))+" OPORTUNIDAD(ES)"
THISFORM.TEXT1.SETFOCUS
THISFORM.COMMAND2.ENABLED=.T.
ENDIF
ENDIF
ENDIF
ENDCASE
ENDWITH
TEXT2.LOSTFOCUS
XI=1
TEX=ALLT(THISFORM.TEXT1.VALUE)
VTEX=LEN(TEX)
WTEX=""
WTEX1=""
WTEX2=""
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
EN EL SEGUNDO FORMULARIO
TEXT1.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13.AND.EMPTY(THISFORM.TEXT1.VALUE)=.F.
X1=1
TEXTO1=ALLT(THISFORM.TEXT1.VALUE)
VTEXT1=LEN(TEXTO1)
WTEXTO1=""
THISFORM.LABEL1.VISIBLE=.T.
THISFORM.TEXT2.VISIBLE=.T.
THISFORM.REFRESH
ENDIF
TEXT2.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13.AND.EMPTY(THISFORM.TEXT2.VALUE)=.F.
X2=1
TEXTO2=ALLT(THISFORM.TEXT2.VALUE)
VTEXT2=LEN(TEXTO2)
WTEXTO2=""
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND1.SETFOCUS
THISFORM.REFRESH
ENDIF
COMMAND1.CLICK
DO CASE
CASE LEN(ALLT(THISFORM.TEXT1.VALUE))<XXX.OR.LEN(ALLT(THISFORM.TEXT1.VALUE))>XXX
WAIT WIND " ... LONGITUD DE PASSWORD "+ ALLT(STR(XXX)) +" CARACTERES ... " TIME 1.2
THISFORM.TEXT1.ENABLED=.T.
THISFORM.TEXT1.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXT2.VALUE))<XXX.OR.LEN(ALLT(THISFORM.TEXT2.VALUE))>XXX
WAIT WIND " ... LONGITUD DE PASSWORD "+ ALLT(STR(XXX)) +" CARACTERES ... " TIME 1.2
THISFORM.TEXT2.ENABLED=.T.
THISFORM.TEXT2.SETFOCUS
CASE EMPTY(THISFORM.TEXT1.VALUE)
WAIT WIND "...NO INGRESO VALOR..." TIME 2
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.TEXT1.SETFOCUS
98
THISFORM.LABEL1.VISIBLE=.F.
THISFORM.TEXT2.VISIBLE=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
CASE EMPTY(THISFORM.TEXT2.VALUE)
WAIT WINDOW"...NO INGRESO VALOR..." TIME 1.2
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.TEXT1.SETFOCUS
THISFORM.LABEL1.VISIBLE=.F.
THISFORM.TEXT2.VISIBLE=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
OTHERWISE
DO WHILE X1<(VTEXT1+1)
WTEXT1=ASC(SUBST(TEXTO1,X1,1))
WTEXTO1=ALLT(WTEXTO1)+ALLT(STR(WTEXT1))
X1=X1+1
ENDDO
DO WHILE X2<(VTEXT2+1)
WTEXT2=ASC(SUBST(TEXTO2,X2,1))
WTEXTO2=ALLT(WTEXTO2)+ALLT(STR(WTEXT2))
X2=X2+1
ENDDO
SET EXACT ON
IF ALLT(WTEXTO1)==ALLT(WTEXTO2)
SELE CO_DI
LOCA FOR VACCOD==ALLT(UPPE(COD_USE))
IF FOUND()
REPL CO_DI.NU1_USE WITH WTEXTO2
REPL CO_DI.NU2_USE WITH XXX
WAIT WIND" ... PASSWORD HA SIDO GRABADO ... OPERACIN TERMINADA ... " TIME 1.2
RELE XXX,NUM,X1,X2,TEXTO1,TEXTO2,VTEXT1,VTEXT2,WTEXT1,WTEXT2,WTEXTO1,WTEXTO2
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
ENDIF
ELSE
TEXTO1=""
TEXTO2=""
VTEXT1=0
VTEXT2=0
WTEXT1=0
WTEXT2=0
WAIT WIND " ... LOS DATOS NO COINCIDEN ... " TIME 1
WAIT WIND " ... RETOMANDO OPERACIN ... " TIME 1
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT2.VALUE=""
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.TEXT1.SETFOCUS
THISFORM.LABEL1.VISIBLE=.F.
THISFORM.TEXT2.VISIBLE=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
ENDIF
ENDCASE
COMMAND2.CLICK
WAIT WIND " ... CANCELANDO OPERACIN ... " TIME 1
RELEASE XXX,NUM,X1,X2,TEXTO1,TEXTO2,VTEXT1,VTEXT2,WTEXT1,WTEXT2,WTEXTO1,WTEXTO2
SET PATH TO "FO_RM,IC_ON,PR_OG,TA_BL,IN_FO"
DO ME_BI.MPR
THISFORMSET.RELEASE
COMMAND3.CLICK
THISFORMSET.FORM3.ENABLED=.T.
THISFORMSET.FORM3.VISIBLE=.T.
THISFORMSET.FORM2.HIDE
THISFORMSET.FORM3.SHOW
EN EL FORMULARIO 3
TEXT1.LOSTFOCUS
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.T.
COMMAND1.CLICK
SELEC CO_DI
XXX=THISFORM.TEXT1.VALUE
IF XXX=0
WAIT WIND "INGRESE NMERO ENTRE 4 Y 12...." TIME 1.2
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.TEXT1.VALUE=0
THISFORM.TEXT1.SETFOCUS
THISFORM.COMMAND2.ENABLED=.T.
ELSE
IF XXX>3.AND.XXX<13
WAIT WIND " ... LONGITUD DE PASSWORD ES "+ALLT(STR(XXX))+" CARACTERES ... " TIME 1.2
THISFORM.TEXT1.VALUE=0
THISFORMSET.FORM3.HIDE
THISFORMSET.FORM2.SHOW
THISFORMSET.FORM2.TEXT1.SETFOCUS
99
100
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.TEXT12.VALUE=""
THISFORM.TEXT13.VALUE=""
THISFORM.LABEL14.ENABLED=.F.
THISFORM.LABEL14.VISIBLE=.F.
THISFORM.TEXT1.SETFOCUS
ELSE
OPC=2
THISFORM.COMMAND1.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
THISFORM.SETALL("ENABLED",.F.,"TEXTBOX")
THISFORM.TEXT1.VALUE=ALLT(SUBS(DA_EN.NOM_ENT,1))
THISFORM.TEXT2.VALUE=ALLT(SUBS(DA_EN.DIR_ENT,1))
THISFORM.TEXT3.VALUE=ALLT(SUBS(DA_EN.TEL_ENT,1))
THISFORM.TEXT5.VALUE=ALLT(SUBS(DA_EN.DIS_ENT,1))
THISFORM.TEXT6.VALUE=ALLT(SUBS(DA_EN.PRO_ENT,1))
THISFORM.TEXT7.VALUE=ALLT(SUBS(DA_EN.REG_ENT,1))
THISFORM.TEXT8.VALUE=ALLT(SUBS(DA_EN.RUC_ENT,1))
THISFORM.COMMAND2.SETFOCUS
ENDIF
COMMAND1.CLICK
DO CASE
CASE EMPTY(THISFORM.TEXT1.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT1.SETFOCUS
CASE EMPTY(THISFORM.TEXT2.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT2.SETFOCUS
CASE EMPTY(THISFORM.TEXT3.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT3.SETFOCUS
CASE EMPTY(THISFORM.TEXT5.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT5.SETFOCUS
CASE EMPTY(THISFORM.TEXT6.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT6.SETFOCUS
CASE EMPTY(THISFORM.TEXT7.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT7.SETFOCUS
CASE VAL(THISFORM.TEXT8.VALUE)=0.OR.LEN(ALLT(THISFORM.TEXT8.VALUE))<11
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT8.SETFOCUS
OTHERWISE
IF OPC=1
DO CASE
CASE EMPTY(THISFORM.TEXT12.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT12.SETFOCUS
CASE EMPTY(THISFORM.TEXT13.VALUE)
WAIT WIND " ... INGRESO DE DATOS INCORRECTO ... " TIME 1
THISFORM.TEXT13.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXT12.VALUE))<4.OR.LEN(ALLT(THISFORM.TEXT12.VALUE))>12
WAIT WIND " ... LONGITUD MNIMA 4, LONGITUD MXIMA 12 ... " TIME 1
THISFORM.TEXT12.SETFOCUS
CASE LEN(ALLT(THISFORM.TEXT13.VALUE))<4.OR.LEN(ALLT(THISFORM.TEXT13.VALUE))>12
WAIT WIND " ... LONGITUD MNIMA 4, LONGITUD MXIMA 12 ... " TIME 1
THISFORM.TEXT13.SETFOCUS
OTHERWISE
XI=1
TEX1=ALLT(THISFORM.TEXT12.VALUE)
VTEX1=LEN(TEX1)
WTEX1=0
WTEXT1=""
DO WHILE XI<(VTEX1+1)
WTEX1=ASC(SUBST(TEX1,XI,1))
WTEXT1=ALLT(WTEXT1)+ALLT(STR(WTEX1))
XI=XI+1
ENDDO
YI=1
TEX2=ALLT(THISFORM.TEXT13.VALUE)
VTEX2=LEN(TEX2)
WTEX2=0
WTEXT2=""
DO WHILE YI<(VTEX2+1)
WTEX2=ASC(SUBST(TEX2,YI,1))
WTEXT2=ALLT(WTEXT2)+ALLT(STR(WTEX2))
YI=YI+1
ENDDO
IF VAL(ALLT(WTEXT1))=VAL(ALLT(WTEXT2))
SELE CO_DI
APPE BLAN
REPL NU1_USE WITH WTEXT2
REPL NU2_USE WITH VTEX2
REPL COD_USE WITH AD_MIN
SELE DA_EN
APPE BLAN
REPL NOM_ENT WITH ALLT(THISFORM.TEXT1.VALUE)
REPL DIR_ENT WITH ALLT(THISFORM.TEXT2.VALUE)
REPL TEL_ENT WITH ALLT(THISFORM.TEXT3.VALUE)
REPL DIS_ENT WITH ALLT(THISFORM.TEXT5.VALUE)
REPL PRO_ENT WITH ALLT(THISFORM.TEXT6.VALUE)
REPL REG_ENT WITH ALLT(THISFORM.TEXT7.VALUE)
REPL RUC_ENT WITH ALLT(THISFORM.TEXT8.VALUE)
WAIT WIND " ... DATOS REGISTRADOS ... " TIME 1
RELEASE OPC,XI,YI,TEX1,TEX2,VTEX1,VTEX2,WTEX1,WTEX2,WTEXT1,WTEXT2
CLOSE DATA
101
102
"+ALLT(NOM_ENT)
IF LASTKEY()=13
DO CASE
CASE OPC=1
CASE OPC=2
IF EMPTY(THISFORM.TEXT5.VALUE)
ELSE
THISFORM.TEXT6.SETFOCUS
ENDIF
ENDCASE
ENDIF
TEXT6.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=1
CASE OPC=2
IF EMPTY(THISFORM.TEXT6.VALUE)
ELSE
THISFORM.TEXT7.SETFOCUS
ENDIF
ENDCASE
ENDIF
TEXT7.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=1
CASE OPC=2
IF EMPTY(THISFORM.TEXT7.VALUE)
ELSE
THISFORM.TEXT8.SETFOCUS
ENDIF
ENDCASE
ENDIF
TEXT8.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=1
THISFORM.COMMAND1.SETFOCUS
CASE OPC=2
IF EMPTY(THISFORM.TEXT8.VALUE).OR.VAL(THISFORM.TEXT8.VALUE)=0
ELSE
*THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDCASE
ENDIF
TEXT12.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=1
IF EMPTY(THISFORM.TEXT12.VALUE)
ELSE
THISFORM.TEXT13.ENABLED=.T.
THISFORM.TEXT13.VISIBLE=.T.
THISFORM.LABEL14.ENABLED=.T.
THISFORM.LABEL14.VISIBLE=.T.
ENDIF
ENDCASE
ENDIF
COMMAND4.CLICK
IF OPC=1
IF MESSAGEBOX(" DESEA SALIR DEL SISTEMA? ",4+32,"BIBLIOTECA "+ALLT(DA_EN.NOM_ENT))=6
RELEASE OPC,XI,YI,TEX1,TEX2,VTEX1,VTEX2,WTEX1,WTEX2,WTEXT1,WTEXT2
THISFORM.RELEASE
QUIT
ELSE
THISFORM.TEXT1.SETFOCUS
THISFORM.REFRESH
ENDIF
ELSE
THISFORM.INIT
ENDIF
TEXT13.KEYPRESS
LPARAMETERS nKeyCode, nShiftAltCtrl
IF LASTKEY()=13
DO CASE
CASE OPC=1
IF EMPTY(THISFORM.TEXT12.VALUE)
ELSE
THISFORM.COMMAND1.SETFOCUS
ENDIF
ENDCASE
ENDIF
FORMULARIO SALIR
FORM1.INIT
103
104