Continuación Segundo Parcial...

Tema : Procedimiento de evento
Objetivo: Elaborar un pequeño procedimiento para manipular objetos

Un procedimiento es una serie de instrucciones que se activan en el momento en que sucede un evento; donde un evento es una acción que se realiza con el raton o con el teclado.

Algunos eventos son:

Click : Cuando se pulsa el boton izquierdo del raton
Dblclick: Cuando se hace un doble click al boton izquierdo del raton
Keypress: Cuando se pulsa una tecla determinada.

Un procedimiento se puede codificar como parte de un programa o como "Codigo de procedimiento de un objeto", a continuación se muestra como quedaria un procedimiento dentro de un programa.

Procedimiento Boton 5. Click ___Evento
............
Endproc

o tambien

Proc. Boton 5.Click
........
En proc.
Como codigo de procedimiento
 

Donde el nombre del procedimiento esta formado por "el objeto que se esta controlando" y el tipo de objeto que activara el procedimiento :
El siguiente programa :
*Crea un formulario
*Agrega dos botones de comando
*Agrega un cuadro de texto
*Asigna valores a sus propiedades
*Visualiza el formulario
*Al pulsar el boton 1 con un click con el titulo de saludo , muestra en el cuadro del texto, el mensaje de 2hola"
*Al pulsar el boton 2 con el click se borra el cuadro de texto
clear
fo =Createobject ("forma")
fo.show
read events
define class forma as form
 left=100
 top=50
backcolor= RGB(5,75,75)
 height=150
 width=200
add object boton1 as commandbutton;
 with left =130,;
  top=10,;
  width=150,;
  caption= "Quibolas mi chavo!!"
add object boton2 as commandbutton;
 with left =130,;
  top=30,;
  width=150,;
  caption= " Borrale tus barrabazadas!!"
add object text1 as textbox;
 with left = 50,;
  top=80,;
  width=150
procedure boton1.click
 thisform.text1.value = "hola mi chavo"
endproc
proc boton2.click
 thisform.text1.value= space(5)
 endproc
 enddefine

Tema : Clases de Visual Fox Pro
Objetivo : Manejo y definición de clases

Las Clases son paquetes de codigo que de acuerdo a sus caracterizticas son muy utiles para crear codigos reutilizables y faciles de mantener.
El conocimiento de las clases, son el fundamento de la programación por objetos  y las caracterizticas basicas de  las clase son :

*Encapsulamiento
*Subclases
*Herencia

Encapsulamiento : Consiste en empaquetar el codigo, incluyendo metodos y procedimientos en un mismo objeto por ejemplo, las propiedades que determinan  los elementos de un cuadro de lista y el codigo que se ejecuta al elegir un elemento de la lista: se puede encapsular en un unico control que se agrega a un formulario.

Subclases:  Una subclase es un codigo derivado de una clase adquiriendo toda la funcionalidad de la clase y los controles adicionales que quiera.

Herencia: Es una caracteriztica que se refiere a que se realizan cambios a la clase: dicho cambio se reflejara en todas las clases.
Por ejemplo si una clase contiene un error, se corrige la clase y se hereda la correción a los cambios de las subclases .

1.- Clase comando botton
2.- Subclase de command button
3.- Objeto Boton de Salir

Tipo de clases

Visual Fox Pro permite crear y manejar varios tipos de clases, entre los mas importantes tenemos :

Container- Contenedor
Form-Formulario
Option Group - Grupo de botones de opciones
Form Set- Grupo de formularios
Command Button - Boton de comando
Label -Etiqueta
Text Box- Cuadro de Texto
Check Box- Cuadro de verificación

Problema :

Elaborar un programa para visualizar el siguiente formulario :

Donde "numero" y "etiqueta" son objetos tipo etiqueta, text1 es un cuadro de texto y existen los botones de comando

Boton 1- Boton de comando "Determinar"
Boton 2 - Boton de comando " Borrar"

En Text1 se debe introducir un numero
El boton " Determinar" determinara si el numero es negativo, positivo, o cero , visualizara dicha información en el control de la etiqueta "Etiqueta"

El Boton "Borrar" limpiara el contenido de Text1  y se restaura el texto original de "Etiqueta"
 
 

Problema .

*PROGRAMA  QUE CLASIFICA LOS NUMEROS NEGATIVOS Y POSITIVOS
CLEAR
P=0
N=0
Z=0
I=0
A=0
FOR I = 1 TO 10
 @5,10 SAY "INTRODUCIR UN NUMEROTE" get A
 read
  IF A>0 THEN
  P=P+1
  ELSE
   IF A<0 THEN
    N=N+1
   ELSE
    Z=Z+1
   Endif
  ENDIF
NEXT
@10,10 SAY " LOS NUMEROS POSITIVOS SON: "
@10,50 say P
@12,10 SAY " LOS NUMEROS NEGATIVOS SON:"
@12,50 say N
@13,10 SAY " LOS NUMEROS IGUALES A CERO SON:"
@13,50 say Z

Tema : Clases no visuales
Objetivo: Crear y definir subclases a partir de Clase Estandard de Visual Fox Pro.

Para crear una subclase , se debe definir una "variable" tipo objeto y utilizar la función Create Object( ), con la siguiente sintaxis.
Variable_Objeto=Create Objeto (Nombre_Objeto)

Generalmente se crea un objeto de tipo "Contenedor" una forma (form) o un grupo de formularios (setform).

CreateObject crea un objeto "indefinido" con un nombre determinado y lo asigna a una variable objeto.

Ejemplo :

Formulario =Create Object ("Forma")
Para que el objeto quede definido, se emplea la instrucción Define Class con la sintaxis siguiente :

Define Class nombre_objeto as class estandard

Propiedad 1
Propiedad 2

PropiedadN=ValorN
Enddefine

A las propiedades que no se les proporciona valor, el sistema considra por default de la clase, base o estandard

Ejemplo:

Define Class forma as form
Top=100
Left=50
Width= 100
Height=100
Enddefine

Para que una definicio}ón quede completa, se deben agregar objetos con sus respectivas propiedades y sus procedimientos, la sintaxis completa de define seria:

Define Class nombre_objeto as Clase_Estandard

Propiedad 1= Valor 1
.....
Propiedad N= Valor N

Add Object nombre objeto as clase_estandard ;
Width propiedad1 = valor 1, propiedad 2= Valor 2,;

Add object...
Add object...
Proc objeto.evento
Instrucción 1
Instrucción 2
Ins....
..... N
Endproc
proc.....
Endproc..
Enddefine

Para hacer visible un objeto, se aplica el "metodo" show a la variable objeto
Variable. Objeto.Show
Show= Muestra un objeto contenido en la variable o conviene especifico

Para que se activen los procedimientos y los objetos creados se emplea la instruccion: Read Events

Para Color, este programa tambien :

Comando :Colores

Blanco RGB (255,255,255)
Negro RGB (0,0,0)
Gris RGB (192,192,192)
Gris Obscuro RGB (128,128,128)
Rojo RGB (255,0,0)
Rojo Obscuro RGB (128,0,0)
Amarillo RGB (255,255,0)
Amarillo Obscuro RGB (128,128,0)
Verde RGB (0,255,0)
Verde Obscuro RGB (0,128,0)
Azul Verde RGB (0,255,255)
Azul Verde Obscuro RGB (0,128,128)
Azul RGB (0,0,255)
Azul Obscuro RGB (0,0,128)

Tema: Clases Visuales
Objetivo : Como generar subclases usando clases visuales

Las clases visuales aparecen como iconos o herramientas a traves de galerias, bibliotecas o barra de herramientas.

Las galerias son conjuntos de carpetas o conjunto de bibliotecas en donde se puede tomar un icono y a travez de arrastre, insertar la subclase en un formulario para obtener un objeto "control".

Las barras de herramientas son " iconos rectangulares", que se encuentran agrupados en barras; de donde se toman (haciendo click) y luego dibujando en el formulario, el objeto, o subclase, ya que cada "icono" o "herramienta" es una clase visual.

Las barras de herramientas mas comunes son :

*La barra de herramientas de diseño de formularios
*La barra de herramientas de diseño de informes

Por lo anterior, se puede deducir que una clase es un generador de objetos; se refiere a clases empaquetadas ( de codigo o no visuales) o a clases visuales (graficos)

Para diseñar un formulario con herramientas

A) Active el menu archivo, opción nuevo
B) En el cuadro de dialogo nuevo, seleccione la opción de formulario y pulse el icono de nuevo en dicho cuadro.
C) En el cuadro de dialogo que aparece posteriormente introduzca el nombre al formulario ya que este se guardara como un archivo (.fto)
D) Finalmente aparecera en la pantalla el nuevo formulario, la barra de herramientas diseño de formulario y la tabla de propiedades de los objetos del formulario
E) Haga click en la herramienta de diseño  que necesite y dibuje el objeto o control respectivo ya que cada herramienta (clase visual) genera un objeto especifico

Ejemplos :

Boton de comando (command button)
Etiqueta (Label)
Cuadro de texto (Text Box)
Grupo de botones de opción  (option group)

F) Los Objetos dentro del formulario se pueden mover a otro lugar, cambiar de tamaño e incluso sus propiedades.
G) Para cambiar sus propiedades, en el cuadro de propiedades se selecciona el objeto, se selecciona la propiedad y ahi se cambian sus valores
 

Tema : Creacion de clases visuales
Objetivo : Como crear una clase visual

Se puede crear una clase por cada control y por cada formulario, por esto es inoperable y no recomendable, es mejor , crear una clase de un control u objeto que tenga funcionalidad generica, es decir, una clase que se utilice continuar.

Exponiendo las propiedades y metodos en una clase, de modo que el usuario pueda integrarlos con el entorno de datos concreto de un formulario, o de  un conjunto de formularios.

Para crear una clase utilice un menu archivo, con la opción clase y en el cuadro de dialogo, pulse el icono nuevo

Aparece un cuadro de texto ("Nueva Clase") en donde se debe de introducir el nombre de clase en que clase estandard se basa (clase_base) y el archivo de biblioteca en donde se almacena dicha clase

El  boton de tres puntos sirve paara localizar el archivo.

Nota: Para obtener el cuadro de dialogo Nueva Clase tambien se obtiene el comando Create Class, codificado en la ventana de comando

Aparece la ventana de diseño de clases, similar a la ventana de diseño normal, en donde aparece las diversas herramientas visuales y ventana de propiedades.

Modificar una clase : Se emplea el comando
Modify Class nombre_clase FROM libreria en la ventana de comando

Recuerde que al modificar la clase de todos los objetos generadas con dicha clase, reflejaran dichos cambios.

Tanto en la creacion de clase o modificacion, en la ventana de diseño de clases, puede usar el menu Clases y seleccionar propiedades y modificar las que desee.

Agregar clases de controles

Se abre la clase, desde la biblioteca de clases, y en el cuadro abrir se selecciona la clase deseada (tipo de archivos.vcx); se activa la barra de controles ( si no esta activada), en el icono libreria se hace un click desplegandose un menu, y en la opción agregar (ADD) se hace click (desplegandose un menu, y en la opción agregar)  apareciendo el nombre de la clase de dicho menu y ademas aparecera un nuevo icono.

Si se hace click en la heramienta de libreria se desactivan las herramientas estandar y aparecen las clases;  volviendo a hacer click se vuelven a activar las herramientas estandard.

Tema: Biblioteca de clases
Objetivo : Como crear una Biblioteca de clases

Las clases dise;adas quedarian en una biblioteca de clases, la cual tiene la extension .vcx

Para crear una biblioteca de clases :

A- Se crea automaticamente, cuando se especifica su nombre en el cuadro de texto. Almacenar del cuadro de Dialogo Nueva Clase
B- Utilizando el comando Create Class especificando el nombre de la nueva Biblioteca de clases, por ejemplo, para crear la clase 
"Mi clase " y una nueva biblioteca "Nueva Biblioteca"

Se usa el comando :

Create Class Mi Clase  Of Nve.Bibl; as Custom

La orden anterior evoca al diseñador de clases, le asigna el nombre a la clase (Mi Clase), y crea la biblioteca Nve. Bibli, clase base "personalizada" (custom).

C- Si solo se quiere crear la libreria o el archivo de clase, se usa el comando Create ClassLib seguida del nombre de la biblioteca:

Create Classlib Nuev Bibl

Cuando se maneja alguna clase dentro de un proyecto o programa, se debe utilizar Set procedute y el nombre de la biblioteca o set classlib to

Ejemplo : Set classlib to nuelibl

y dentro del programa podemos manejar o evocar las clases de dichas librerias.

Tema: Indices
Objetivo: Que es un indice y como se manejan los indices

Un indice es una tabla simple especial, anexa e intimamente relacionada a una tabla con la finalidad de controlar y ordenar e forma mas optima a los registros; por lo tanto los indices se pueden utilizar como mecanismo de ordenación para crear relacioner entre tablas

Mecanismo de ordenacion y acceso

El indice contiene punteros ordenados logicamente segun los valores de un campo clave de indice, donde su estructura es independiente de los archivos de tabla y no cambia el orden fisico de los promedios

Regresar a Indice Principal

Regresar a Indice Computación

 

1