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