Está en la página 1de 17

II PARCIAL, SEMESTRE I

INSTITUTO GUBERNAMENTAL SANTIAGO RIERA VASQUEZ


CODIGO: 0503000093MO2
Omoa, Cortes

“TE QUEREMOS ESTUDIANDO EN CASA”

Bachillerato Técnico Profesional en Informática


PROGRAMACION III- PARCIAL 2
GRADO: DUODECIMO SECCION: ______

NOMBRE DEL ALUMNO: ________________________________________

NOMBRE DEL MAESTRO: _______________________________________

1
II PARCIAL, SEMESTRE I

Introducción:
En este material didáctico encontrara el contenido que permita adquirir los
conocimientos específicos directamente relacionados con los requerimientos
de las competencias definidas en el plan de estudios.

Debe entender que este material es una guía en su proceso de aprendizaje y


no pretende reemplazar la asistencia a las clases en línea. Por lo que la
asistencia al espacio virtual de esta clase es necesaria para adquirir dichos
conocimientos.

Unidad de competencia:
Desarrollar sistemas de información que necesiten el uso, manejo y
administración de bases de datos locales y en red.

Descripción de la Clase.
Desarrollo de sistemas de información en donde se integran programas,
utilidades o servicios de manejos de bases de datos. La clase de
programación III utilizara como programa principal el lenguaje Visual FoxPro
9.0 el cual será proporcionado por el profesor que sirva la asignatura.

Instrucciones:
- Lea el contenido con detenimiento.
- Desarrolle las actividades propuestas de forma individual.
- Mantenga este material limpio y ordenado, ya que lo presentará como
evidencia de su trabajo.
- En la plataforma virtual estará disponible una biblioteca la cual puede
ser consultada, para ampliar el contenido presentado en este material.

2
II PARCIAL, SEMESTRE I

TEMAS DEL PARCIAL 1

OBJETIVO CONTENIDO EVALUACION


Crear un formulario que permita - Formulario de control de Crear Interfaz de usuario (10%)
controlar el acceso a un sistema usuarios.
Escribir los códigos en el formulario
informático. - Evento Load
(10%)
- Evento Init
Identificar las diferencias entre los
-Enlazar con la tabla. Resolver Guía de Trabajo (10%)
eventos Load y Evento Init.

Crear una interfaz para introducir - Formulario de Ingreso de datos. Crear la interfaz (10%)
datos a una tabla. - Crear Interfaz de usuario
- Objeto PageFrame
Programar un objeto image enlazado a Desarrollar los códigos en el
-Objeto Image
una tabla. formulario (10%)
Crear botones de desplazamiento de Resolver Guía de Trabajo (10%)
registros en una tabla
Crear un ambiente de ejecución para - Ambiente de trabajo Desarrollar los códigos (10%)
nuestro sistema. -Definir el menú colgante
-Definir fondos de pantallas e
iconos. Resolver Guía de Trabajo (10%)

3
II PARCIAL, SEMESTRE I

RUBRICA DE EVALUACION

CONTENIDO VALOR
Material Impreso 20 %
Asistencia a clases Virtuales 5%
Desarrollo de Practicas en la 50%
aplicación. (FoxPro)
Evaluación Virtual 25%
Total 100%

4
II PARCIAL, SEMESTRE I

FORMULARIO DE CONTROL DE USUARIOS

LABEL 1 TXTUSUARIO

LABEL 2

TXTCLAVE
LABEL 3

COMMAND1

COMMAND2

5
II PARCIAL, SEMESTRE I

CODIGOS DEL FORMULARIO USUARIO


EVENTO INIT DEL FORMULARIO
THISFORM.LABEl1.Caption ="SELECCIONE EL USUARIO Y CONTRASEÑA"
THISFORM.LABel1.BackColor= RGB(128,255,128)

PUBLIC USUARIO,CLAVE AS String


PUBLIC X AS Integer
X=0

EVENTO LOAD DEL FORMULARIO


IF !USED("usuarios")
USE C:\isrvprogramacion\tablas\usuarios.dbf IN 0 ALIAS usuarios SHARED
ENDIF

BOTON ACEPTAR
USUARIO=THISFORM.TXTUSUARIO.Value
CLAVE2=THISFORM.TXTCLAVE.Value
IF EMPTY(THISFORM.TXTusuario.Value)
MESSAGEBOX("DEBE INGRESAR UN USUARIO")
THISFORM.TXTUSUARIO.SetFocus
ELSE
IF EMPTY(THISFORM.TXTCLAve.Value)
MESSAGEBOX("DEBE ESCRIBIR UNA CLAVE")
THISFORM.TXTCLAve.SetFocus
ELSE
SELECT USUARIOS
SET ORDER TO USUARIO && USUARIO
SEEK ALLTRIM(USUARIO)
IF !FOUND()
MESSAGEBOX("ESTE USUARIO NO EXISTE")
ELSE
IF CLAVE2=USUARIOS.CLAVE
MESSAGEBOX("BIENVENIDO AL SISTEMA")
***DO INICIO.PRG*** ESTE ESTARA TEMPORALMENTE DESHABILTADO
ELSE
MESSAGEBOX("LA CLAVE ES INCORRECTA")
ENDIF
ENDIF
ENDIF
ENDIF

NOTA

ANTES DEBE CREAR LA TABLA CON EL NOMBRE USUARIO. LOS CAMPOS SERAN USUARIO
Y CLAVE. AMBOS CAMPOS DEBEN ESTAR INDEXADOS.

6
II PARCIAL, SEMESTRE I

GUIA DE TRABAJO 1

1 ______________________ Evento que permite cargar las tablas a la memoria de la


computadora.

2 ___________________________ Comando que permite declarar las variables como


públicas.

3 ___________________________ Propiedad que permite cambiar el color de fondo de


los objetos label.

4 ___________________________ Propiedad que permite cambiar el titulo de los


objetos.

5 ___________________________ Es también conocido como un apodo. El cual se le


aplica a las tablas para que sea más fácil cargarlas en la memoria de la PC.

1 ¿Qué es un código RGB?

2 ¿Qué diferencia hay entre el evento Init y evento load?

3 ¿Qué diferencia hay en cargar una tabla como shared o exclusive?

4 ¿Qué función realiza el código seek alltrim?

5 ¿Qué función tiene la opción Set Main en el administrador de proyecto?

7
II PARCIAL, SEMESTRE I

FORMULARIO DE INGRESO DE DATOS

El primer paso es crear la tabla que recibirá los datos que se ingresaran en el formulario.
Dicha tabla se llamará Carnets y tendrá la siguiente estructura.

Una vez creada la tabla crearemos la interfaz del formulario. Que tendrá
la siguiente estructura:

8
II PARCIAL, SEMESTRE I

CODIGOS DEL EVENTO INIT


PUBLIC opt1,opt2 as Boolean

thisform.pageframe1.page1.combo1.AddItem ("I Ciclo Común de Cultura


General")
thisform.pageframe1.page1.combo1.AddItem ("II Ciclo Común de Cultura
General")
thisform.pageframe1.page1.combo1.AddItem ("III Ciclo Común de Cultura
General")
thisform.pageframe1.page1.combo1.AddItem ("I Bach.Técnico Profesional en
Informatica")
thisform.pageframe1.page1.combo1.AddItem ("II Bach. Tec. en computacion
con CC y LL")
thisform.pageframe1.page1.combo1.AddItem ("III Bach. Tec. en computacion
con CC y LL")
thisform.pageframe1.page1.combo1.AddItem ("I Bach. Administracion de
Empresas")
thisform.pageframe1.page1.combo1.AddItem ("II Bach. Administracion de
Empresas")
thisform.pageframe1.page1.combo1.AddItem ("III Bach. Administracion de
Empresas")
thisform.pageframe1.page1.combo1.AddItem ("I Bach. Tecnico P.en
Contaduria y Finanzas")

9
II PARCIAL, SEMESTRE I

thisform.pageframe1.page1.combo1.AddItem ("II Perito Mercantil y Contador


Publico")
thisform.pageframe1.page1.combo1.AddItem ("III Perito Mercantil y
Contador Publico ")
thisform.pageframe1.page1.combo1.AddItem ("I Bach. Téc. Indudstrial en
Electricidad")
thisform.pageframe1.page1.combo1.AddItem ("II Bach. Téc. Indudstrial en
Electricidad")
thisform.pageframe1.page1.combo1.AddItem ("III Bach. Téc. Indudstrial en
Electricidad")
thisform.pageframe1.page1.combo2.AddItem ("1-Matutina")
thisform.pageframe1.page1.combo2.AddItem ("2-Matutina")
thisform.pageframe1.page1.combo2.AddItem ("3-Matutina")
thisform.pageframe1.page1.combo2.AddItem ("2-Vespertina")
thisform.pageframe1.page1.combo2.AddItem ("U-Vespertina")
thisform.pageframe1.page1.combo2.AddItem ("1-Nocturna")
thisform.pageframe1.page1.combo2.AddItem ("2-Nocturna")
thisform.pageframe1.page1.combo2.AddItem ("U-Nocturna")

CODIGOS DEL EVENTO LOAD


SET DELETED ON
IF !USED("carnets")
USE C:\isrvprogramacion\tablas/carnets.dbf IN 0 ALIAS carnets SHARED
ENDIF

CODIGOS OBTENER FOTO


cArchivo = GetFile()
thisform.pageframe1.page1.text1.Value =cArchivo
thisform.pageframe1.page1.image2.Picture=cArchivo

CODIGOS DE VER TODOS LOS CARNETS


REPORT FORM d:/carnets/carnets.frx preview

CODIGOS DEL BOTON NUEVO


opt1=.t.
opt2=.f.
thisform.pageframe1.page1.txtapellidos.Enabled = .T.
thisform.pageframe1.page1.txtnombre.Enabled = .T.
thisform.pageframe1.page1.txtrne.Enabled = .T.
thisform.pageframe1.page1.combo1.Enabled = .T.
thisform.pageframe1.page1.combo2.Enabled = .T.
thisform.pageframe1.page1.txtrne.SetFocus

thisform.pageframe1.page1.txtapellidos.value=""
thisform.pageframe1.page1.txtnombre.value=""
thisform.pageframe1.page1.txtrne.value=""

10
II PARCIAL, SEMESTRE I

thisform.pageframe1.page1.combo1.value=""
thisform.pageframe1.page1.combo2.value=""
thisform.pageframe1.page1.text1.Value =""

CODIGOS DEL BOTON GUARDAR


IF opt1=.t.
IF EMPTY( thisform.pageframe1.page1.txtrne.Value)
MESSAGEBOX("Registro invalido")
ELSE
SELECT carnets
SET ORDER TO RNE && RNE
SEEK ALLTRIM(thisform.pageframe1.page1.txtrne.Value)
IF FOUND()
MESSAGEBOX("Este registro ya existe")
ELSE
APPEND BLANK
replace rne WITH thisform.pageframe1.page1.txtrne.Value
replace nombre WITH thisform.pageframe1.page1.txtnombre.Value
replace apellidos WITH thisform.pageframe1.page1.txtapellidos.Value
replace curso WITH thisform.pageframe1.page1.combo1.Value
replace seccion WITH thisform.pageframe1.page1.combo2.Value
Replace foto WITH thisform.pageframe1.page1.text1.Value
MESSAGEBOX("Registro almacenado correctamente")
thisform.pageframe1.page1.txtapellidos.Enabled = .f.
Thisform.pageframe1.page1.txtnombre.Enabled = .f.
thisform.pageframe1.page1.txtrne.Enabled = .f.
thisform.pageframe1.page1.combo1.Enabled = .f.
thisform.pageframe1.page1.combo2.Enabled = .f.
thisform.pageframe1.page1.text1.Value =""
ENDIF
ENDIF
else
IF opt2=.t.
replace rne WITH thisform.pageframe1.page1.txtrne.Value
replace nombre WITH thisform.pageframe1.page1.txtnombre.Value
replace apellidos WITH thisform.pageframe1.page1.txtapellidos.Value
replace curso WITH thisform.pageframe1.page1.combo1.Value
replace seccion WITH thisform.pageframe1.page1.combo2.Value
Replace foto WITH thisform.pageframe1.page1.text1.Value
MESSAGEBOX("Registro almacenado correctamente")
thisform.pageframe1.page1.txtapellidos.Enabled = .f.
thisform.pageframe1.page1.txtnombre.Enabled = .f.
thisform.pageframe1.page1.txtrne.Enabled = .f.
thisform.pageframe1.page1.combo1.Enabled = .f.
thisform.pageframe1.page1.combo2.Enabled = .f.
thisform.pageframe1.page1.text1.Value =""
ENDIF
ENDIF

CODIGOS DEL BOTON BUSCAR


SELECT carnets
vrne=INPUTBOX("Escriba el RNE a buscar")
SET ORDER TO RNE && RNE

11
II PARCIAL, SEMESTRE I

SEEK ALLTRIM(vrne)
IF FOUND()
thisform.pageframe1.page1.txtrne.Value=rne
thisform.pageframe1.page1.txtnombre.Value = nombre
thisform.pageframe1.page1.txtapellidos.Value =apellidos
thisform.pageframe1.page1.combo1.Value =curso
thisform.pageframe1.page1.combo2.Value =seccion
thisform.pageframe1.page1.text1.Value =foto
ELSE
MESSAGEBOX("Este Registro no existe")
endif

CODIGOS DEL BOTON ELIMINAR


IF EMPTY(thisform.pageframe1.page1.txtrne.Value )
MESSAGEBOX("no hay registro para eliminar")
ELSE
DELETE
MESSAGEBOX("Registro eliminado con exito")
thisform.pageframe1.page1.txtapellidos.value=""
thisform.pageframe1.page1.txtnombre.value=""
thisform.pageframe1.page1.txtrne.value=""
thisform.pageframe1.page1.combo1.value=""
thisform.pageframe1.page1.combo2.value=""
ENDIF
CODIGOS DEL BOTON SALIR
thisform.Release

CODIGOS DEL BOTON DESPLAZAR ARRIBA


GO TOP
Thisform.Refresh
thisform.pageframe1.page1.txtrne.Value=rne
thisform.pageframe1.page1.txtnombre.Value = nombre
thisform.pageframe1.page1.txtapellidos.Value =apellidos
thisform.pageframe1.page1.combo1.Value =curso
thisform.pageframe1.page1.combo2.Value =seccion
Thisform.pageframe1.page1.text1.Value =foto

CODIGOS DEL BOTON DESPLAZAR ADELANTE


IF !EOF()
SKIP
thisform.pageframe1.page1.txtrne.Value=rne
thisform.pageframe1.page1.txtnombre.Value = nombre
thisform.pageframe1.page1.txtapellidos.Value =apellidos
thisform.pageframe1.page1.combo1.Value =curso
thisform.pageframe1.page1.combo2.Value =seccion
thisform.pageframe1.page1.text1.Value =foto
ENDIF

12
II PARCIAL, SEMESTRE I

IF EOF()
GO BOTTOM
ENDIF
ThisForm.Refresh

CODIGOS DEL BOTON DESPLAZAR ATRÁS


SELECT carnets
SET ORDER TO RNE && RNE

IF !BOF()
SKIP -1
thisform.pageframe1.page1.txtrne.Value=rne
thisform.pageframe1.page1.txtnombre.Value = nombre
thisform.pageframe1.page1.txtapellidos.Value =apellidos
thisform.pageframe1.page1.combo1.Value =curso
thisform.pageframe1.page1.combo2.Value =seccion
thisform.pageframe1.page1.text1.Value =foto
Thisform.Refresh

ENDIF

CODIGOS DEL BOTON DESPLAZAR ABAJO


GO bottom
Thisform.Refresh
thisform.pageframe1.page1.txtrne.Value=rne
thisform.pageframe1.page1.txtnombre.Value = nombre
thisform.pageframe1.page1.txtapellidos.Value =apellidos
thisform.pageframe1.page1.combo1.Value =curso
thisform.pageframe1.page1.combo2.Value =seccion
thisform.pageframe1.page1.text1.Value =foto

CODIGOS DEL BOTON EDITAR


opt2=.t.
opt1=.f.
MESSAGEBOX(opt2)
thisform.pageframe1.page1.txtapellidos.Enabled = .T.
thisform.pageframe1.page1.txtnombre.Enabled = .T.
thisform.pageframe1.page1.txtrne.Enabled = .T.
thisform.pageframe1.page1.combo1.Enabled = .T.
thisform.pageframe1.page1.combo2.Enabled = .T.
thisform.pageframe1.page1.txtrne.SetFocus

13
II PARCIAL, SEMESTRE I

14
II PARCIAL, SEMESTRE I

CODIGOS PARA CREAR EL AMBIENTE DE TRABAJO PARA NUESTRO SISTEMA


SET CONFIRM ON
SET CENTURY ON
SET DATE TO DMY
SET DECIMALS TO 2
SET DELETED ON
SET ECHO OFF
SET ESCAPE OFF
SET EXACT ON
SET HELP OFF
SET HEADING OFF
SET MEMOWIDTH TO 256
SET PATH TO
SET SAFETY OFF
SET STATUS OFF
SET TALK OFF
SET STATUS BAR OFF
SET SYSMENU TO
SET EXCLUSIVE OFF

**DEFINIR UNA TECLA DE FUNCION PARA CERRAR EL SISTEMA

SET DEFAULT TO 'C:\isrvprogramacion'


SET PATH TO 'C:\isrvprogramacion'

_screen.Visible = .T.
_screen.closable= .F. &&Deshabilita el botón cerrar de la pantalla
principal.
_screen.MaxButton=.F.
** La Línea anterior Deshabilita el botón Maximizar para no alterar el
tamaño de la
** pantalla principal.
_screen.ForeColor = RGB(255,128,128)
_screen.WindowState = 2
_screen.Caption = "SISTEMA PARA GENERAR CARNETS ESTUDIANTILES CREADO POR
NESTOR VARGAS"
**La línea anterior escribe un titulo para la ventana principal del
Sistema.

****PONER UN FONDO DE PANTALLA CENTRADO


_screen.AddObject('imgLogo', 'image')
_screen.imgLogo.BorderStyle = 0
_screen.imgLogo.Stretch = 2
_screen.imgLogo.Picture = 'C:\isrvprogramacion\Forest.jpg'
_screen.imgLogo.Width = _screen.Width
_screen.imgLogo.Height = _screen.Height
_screen.imgLogo.Anchor = 15
_screen.imgLogo.Visible = .T.
***********

*** Ejecutamos el Formulario de Control de Acceso


DO C:\isrvprogramacion\menus\MENUP.MPR
READ EVENTS
WAIT WINDOW "Saliendo del sistema Usuario: &vUsuario, espere por favor"
TIMEOUT 3

15
II PARCIAL, SEMESTRE I

NOTA
ANTES DE REALIZAR EL PROGAMA ANTERIOR DEBE CREAR EL MENU COLGANTE.

GUIA DE TRABAJO 2

1 __________________ Función que permite deshabilitar el menú de FoxPro.


2 __________________ Función que permite escribirle un título a nuestra
pantalla de inicio del sistema.
3 __________________ Permite desplazarse al final de la tabla. Al último
registro.
4 __________________ Permite desplazarse un registro hacia adelante.

16
II PARCIAL, SEMESTRE I

5 __________________ evalúa si estamos en la última posición de la tabla.

1 ¿Permite poner la pantalla de FoxPro en espera?


2 ¿Permite llamar un formulario?
3 ¿Permite llamar un programa.prg?
4 ¿Propiedad del image que permite ajustar el tamaño de la imagen al del objeto?
5 ¿Qué es un ejecutable en nuestro sistema?

17

También podría gustarte