SlideShare una empresa de Scribd logo
1 de 57
Curso de Microsoft Visual FoxPro For Windows

              Indice del Curso:

                 Capitulo I



                 Capitulo II



                Capitulo III



                Capitulo IV



                 Capitulo V
2




                        o   CAPITULO I


1.-Entorno de Visual Fox Pro 9.0

En Visual Fox pro se puede crear rápidamente formas, menú e
informes con los patrones visuales y herramientas de diseño.
Adopta la apariencia de los últimos productos Microsoft: barras
de estado, botones con pista, menú contextual, etc.

Visual Fox Pro 9.0 cada acción que tu realizas es un evento: El
movimiento del mouse, hacer clic sobre un botón, escribir un
texto en un cuadro de texto, Etc. Es decir que cuando programes
ese evento solo eso sucederá.

Es un lenguaje de programación que opera bajo la plataforma de
Windows, es decir, el programa identificara las acciones que
lleva a cabo el usuario durante su ejecución.




                                   Herramientas de Visual
Fox Pro
3




Barra de Menú


Por medio de esta barra podemos acceso todas las opciones de
Visual Fox Pro, nos ofrece abrir o crear una base de dato, crear
un reporte, etc.

Barra de Herramientas.




Por medio de esta barra de herramientas tenemos acceso a las
opciones de Visual Fox Pro sin necesidad de ir a la barra de menú
y tener un acceso rápido.

La Venta de Comando
4




La ventana de comando nos sirve para escribir ciertos comandos
que explicaremos después.

La ventana de Controles.




La ventana de controles permite al usuario seleccionar opciones,
introducir datos y escoger acciones. En un formulario, estos
objetos pueden incluir casillas de verificación, botones de
comando y cuadro de texto.




Botón      Descripción



Seleccionar objetos. Cambia el tamaño y mueve controles. Una
vez creado un control, el botón "Seleccionar objetos" se volverá
a seleccionar automáticamente, a menos que esté presionado el
botón "Bloqueo del botón".



Ver clases. Permite seleccionar y mostrar una biblioteca de
clases registrada. Después de seleccionar una clase, la barra de
herramientas sólo muestra botones para las clases de la
biblioteca seleccionada.
5


Etiqueta. Crea un control Label, que se usa para texto que
no quiere que el usuario cambie, como el título que aparece
encima de las casillas de verificación o debajo de un gráfico.



Cuadro de texto. Crea un control TextBox, que se usa para
almacenar una única línea de texto que el usuario puede
introducir o cambiar.



Cuadro de edición. Crea un control EditBox, que se usa
para almacenar varias líneas de texto que el usuario puede
introducir o cambiar.

Botón de comando. Crea un control CommandButton, que
se usa para ejecutar un comando.



Grupo de comandos. Crea un control CommandGroup, que
se usa para agrupar comandos relacionados.



Grupo de opciones. Crea un control OptionGroup, que se
usa para mostrar múltiples opciones entre las que el usuario
sólo puede seleccionar una.



Casilla de verificación. Crea un control CheckBox, que
ofrece al usuario la posibilidad de elegir entre una condición
verdadera o falsa, o muestra varias opciones entre las que el
usuario puede seleccionar más de una.



Cuadro combinado. Crea un control ComboBox, que se
usa para crear un cuadro combinado desplegable o una lista
6


desplegable de forma que el usuario pueda seleccionar un
elemento de una lista o introducir manualmente un valor.



Cuadro de lista. Crea un control ListBox, que se usa para
mostrar una lista de elementos entre los que puede elegir el
usuario. Es posible recorrer la lista si tiene más elementos de
los que se pueden mostrar de una vez.



Control numérico. Crea un control Spinner, que se usa para
aceptar datos numéricos introducidos por el usuario que
quedan dentro de un intervalo.




Cuadrícula. Crea un control Grid, que se usa para mostrar
datos en una cuadrícula tipo hoja de cálculo.




Imagen. Muestra una imagen gráfica en su formulario.




Cronómetro. Intercepta eventos Timer a intervalos
establecidos. Este control es invisible en tiempo de
ejecución.



Marco de página. Muestra varias páginas de controles.
7




Control contenedor OLE. Le permite agregar objetos OLE
a su aplicación.



Control OLE dependiente. Al igual que los controles
contenedores OLE, le permite agregar objetos OLE a su
aplicación. Sin embargo, a diferencia de los controles
contenedores OLE, los controles OLE dependientes están
vinculados a un campo de tipo General.



Línea. Se usa para dibujar diversos estilos de línea en su
formulario en tiempo de diseño.



Forma. Se usa para dibujar diversas formas en su
formulario en tiempo de diseño. Puede dibujar un
rectángulo, un rectángulo redondeado, un cuadrado, un
cuadrado redondeado, un óvalo o un círculo.



Separador. Agrega espacio entre los controles de la barra
de herramientas.



Bloqueo del generador. Abre un generador para el nuevo
control que agrega al formulario.



Bloqueo del botón. Le permite agregar varios controles del
mismo tipo sin tener que hacer clic en el botón del control
en la barra de herramientas más de una vez.
8




Propiedades

Son los atributos que se aplican sobre los controles.

Ejemplo:

Color, tipo de letra, nombre, texto, etc.




ALGUNAS PROPIEDADES COMUNES:

Name (Nombre): Especifica el nombre que se le asigne al
control, u solo a través de él se puede acceder a las propiedades y
métodos de los controles.

Back Color (Color de Fondo): Asigna el color de fondo sobre el
que aparece el texto o se dibujan los gráficos.

Fore Color (Color de Primer Plano): Asigna un color al primer
plano (color de la tinta o del texto).
9


Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los
atributos y el tamaño de la fuente que se usa para un control de
texto (el texto en un control TextBox, el título de una etiqueta o
de un botón de comando, etc.).

Caption (Título): Asigna el texto que aparece en muchos
controles y que el usuario no puede introducir, por ejemplo el
texto de un control Label, el título de un botón de comando, o de
una cadena de caracteres que se muestran en un cuadro de
activación o en un botón de opción.

Text (Texto): Asigna el texto que se muestra en los controles y
acepta que lo introduzca el usuario, por ejemplo, el control
TextBox.

Width (Ancho) y Height (Alto): Estas propiedades determinan
las dimensiones de los controles.

Left (Izquierda) Top (Arriba): Estas propiedades asignan las
coordenadas de la esquina superior izquierda del control y se
expresan en las unidades del contenedor (normalmente de un
formulario).

Enabled (Activado): Su valor es True por omisión, y significa
que el control se puede usar. Si se pone False se desactiva el
control, aparece en gris y no se puede usar.

Visible: Esta propiedad se pone como False para que el control
sea invisible.



Pasos para cambiar valores a propiedades en tiempo de
diseño:

1.- Presionar clic sobre el botón deseado.

2.-Abrir la ventana de propiedades.

3.-Buscar la propiedad de manera alfabética o otras categoría.

Evento
10


Es una acción que el usuario efectúa sobre un objeto o control y
este a su vez realizara una tarea determinada, el programador
deberá analizar los evento que se pueden llevar a cabo sobre un
control determinado.

Un evento genera una tarea si no existe una tarea, por aquel
evento, no pasara nada.

Ejemplo

Clic

DbllicK

Keypress

Activate

Mousemove

Entre otros



Controles de Formulario

Cuadro de texto.- También denominado control de campo de
edición, muestra la información introducida en tiempo de diseño
por el usuario o asignada al control en código en tiempo de
ejecución.




Propiedades

Alignment.- Devuelve o establece la alineación de un control
checkbox u optionbutton, o el texto de control.

BorderStyle.- devuelve o establece el estilo del borde del objeto.
11


Name.-Devuelve el nombre usado en el código para identificar un
objeto.

PasswordChar.- Devuelve o establece un valor que determina si
se muestra en un control los caracteres escritos por un usuario o
los caracteres marcadores.

Text.- Devuelve o estable el texto contenido en el control.

Las propiedades más comunes

Backcolor.- Devuelve o establece el color de fondo usado para
mostrar texto gráficos en un objeto.

FontName.- Devuelve un objeto de Font.

Forecolor.- Devuelve o establece el color de primer plano usado
para mostrar texto y gráficos en un objeto.

Eventos

MouseMove.- Al mover el ratón por encima del control.

MouseDown.- Al pulsar cualquier botón del ratón.

Change.- Al cambiar el contenido del control.

Click.- Al hacer click con el botón izquierdo del ratón sobre el
control.

DblClick.- Al hacer doble click con el botón izquierdo.

GotFocus.- Este evento se activa cuando el control recibe el
enfoque, es decir, cuando se activa el control en tiempo de
ejecución para introducir datos en el o realizar alguna operación.

LostFocus.- Este control es lo contrario del evento anterior, se
activa cuando el control pierde el enfoque, es decir, se pasa a otro
control para seguir introduciendo datos.



ETIQUETA
12


Es un control de graficos utilizado para mostrar texto que el
usuario no podrá cambiar directamente.




Propiedades

Alignment.- Devuelve o establece la alineación de un control
checkbox u optionbutton, o el texto de control.

BorderStyle.- devuelve o establece el estilo del borde del objeto.

Caption.- Devuelve o estable el texto mostrado en la barra de
titulo de un objeto o bajo el icono de un objeto.

Recuerda:

Para este control no se suele utilizar eventos ya que su contenido
cambia poco a lo largo de la ejecución de la aplicación.



Botón de Comando

Denomina botón de comando, permite comenzar, interrumpir o
terminar un proceso cuando esta activado.




CASILLA DE VERIFICACION.

Muestra un visto cuando esta activado y desaparece cuando el
control Checkbox se desactiva.

Utilice este control para ofrecer al usuario una opción de tipo
Verdadero o Falso o Si o No.

También lo puede utilizar en grupos para mostrar múltiples
opciones.
13




Boton de opciones.

Muestra una opción que se puede activar o desactivar,
generalmente viene en grupos.




Propiedades de los controles.

STR() convierte de número a carácter y VAL() convierte de
carácter a numérico.

THISFORM (Referencia de objeto)

Proporciona una referencia al formulario actual en el código de
evento o en la definición de clase del formulario.




Aplicación Nº 1

Codifique un programa que ingrese dos valores, y sacarle el IVA
y el resultado total.
14




Procedimiento Calcular




Procedimiento limpiar
15




Procedimiento Salir




                            CAPITULO II




ESTRUCTURA DE CONTROL

Ejecuta condicionalmente un grupo de instrucciones, dependiendo
el valor de una expresión

Se clasifican:
16


SENTENCIAS DE CONTROL DE FLUJO:



If…Then…EndIf:

La estructura If comprueba una condición especifica y, si es
verdadera, ejecuta las sentencias que le siguen. La estructura If
puede tener o una sola línea, o varias líneas. Para ejecutar una
sentencia condicional se usa la sintaxis de una sola línea:



If condición Then sentencia

Se evalúa la condición y, si es verdadera, ejecuta la sentencia que
viene a continuación. Si la condición no es verdadera, continua
con la sentencia siguiente de la estructura.



La sintaxis de varias líneas:

If condición Then

  sentencias
EndIf



If…Then…Else…EndIf:

Una variación de la sentencia If …Then es la sentencia If…
Then…Else … EndIf, que ejecuta un bloque de sentencias si la
condición es verdadera, y otro bloque si es falsa. La sintaxis de la
sentencia If … Then … Else EndIf es:

If condición Then

        Bloque de sentencias 1
17


Else
       Bloque se sentencias 2
EndIf

Visual FoxPro evalúa la condición y, si es verdadera, ejecuta el
primer bloque de sentencias y luego salta a las sentencias que hay
después de EndIf. Si la condición es falsa, Visual FoxPro ignora
el primer bloque de sentencias y ejecuta las que hay a
continuación de la palabra clave Else.

Otra variación de la sentencia If … Then … Else usa varias
condiciones con la palabra clave ElseIf:

If condición 1 Then

        Bloque de sentencias 1

Else If condición 2 Then
       Bloque se sentencias 2
Else If condición 3 Then
       Bloque se sentencias 3
Else
       Bloque se sentencias 4
End If


Podemos poner cualquier número de cláusulas desde arriba y, si
una de ellas es verdadera, se ejecuta el bloque de sentencias
correspondiente. La cláusula Else se ejecutará si ninguna de las
expresiones anteriores es verdadera.

Ejemplo:

If puntuación < 50 Then
18


       Resultado = “No admitido”

Else If puntuación < 75 Then

       Resultado = “Pasable”

Else If puntuación > 90 Then

       Resultado = “Muy bueno”

Else

       Resultado = “Excelente”

EndIf



ESTRUCTURAS IF … THEN MÚLTIPLES:

Observamos que una vez que se ha encontrado una condición
verdadera, Visual FoxPro ejecuta las sentencias asociadas, salta el
resto de las cláusulas y continua con la ejecución del programa
con las sentencias que hay después de EndIf. Por esta razón
podemos usar la siguiente estructura, más complicada, de varias
sentencias If simples:

If puntuación < 50 Then

       Resultado= “No admitido”

EndIf

If puntuación < 75 And puntuación >= 50 Then

       Resultado= “Pasable”

EndIf

If puntuación < 90 And puntuación >= 75 Then

       Resultado= “Muy bueno”

EndIf
19


If puntuación > 90 Then

     Resultado= “Excelente”

EndIf



DO CASE:

La estructura Do Case compara la misma expresión con diferentes
valores. La ventaja de esta sentencia sobre If … Then múltiples
hace que el código sea más fácil de leer y mantener.

La estructura Do Case comprueba una sola expresión, que se
evalúa una sola vez al principio de la estructura. El resultado de
esta comprobación se compara con varios valores y, si coincide
con uno de ellos, se ejecuta el bloque de sentencias
correspondiente. Sintaxis:

Do Case

     Case <Condición 1>

           Bloque de sentencias 1

     Case <Condición 2>

           Bloque de sentencias 2

           .

           .

           .

EndCase



Ejemplo:

Opc=this.value
20


Do Case

     Case opc=1

           NombreDía= “Lunes”

           Mensaje= “Feliz semana”

     Case opc=6

           NombreDía= “Sábado”

           Mensaje= “Feliz fin de semana”

     Case opc=7

           NombreDía= “Domingo”

           Mensaje= “ ¿Has tenido un buen fin de semana”

EndCase

La variable opc que se evalúa al principio de la sentencia, es el
número de día de la semana. Después se compara el valor de la
expresión con los valores que tiene cada palabra clave Case. Si
coincide, se ejecuta el bloque de sentencias que viene a
continuación, y después salta el programa a la sentencia siguiente
al EndCase.




SENTENCIAS DE CONTROL DE BUCLE:



DO WHILE… ENDDO:

Ejecuta un bloque de sentencias mientras la condición sea
verdadera. Visual FoxPro evalúa la expresión y, si la expresión es
21


falsa, el programa continúa con las sentencias que van después del
bucle.

Para ejecutar un bloque sentencias mientras la condición sea
verdadera, se usa la siguiente sintaxis:

Do While condición

     Bloque de sentencias

Enddo



El bucle Do se repite todas las veces que sea necesario siempre
que la condición sea verdadera (o distinta de cero si la condición
evalúa un número).



FOR … ENDFOR/NEXT: El bucle For … Next es una de las
estructuras de bucle más antiguas dentro de los lenguajes de
programación. A diferencia del bucle Do, el bucle For … Next
requiere que se conozca el número de veces que se van a ejecutar
las sentencias del bucle. Este bucle es una variable (llamada el
contador del bucle) que incrementa o disminuye su valor durante
cada repetición del bucle. Su sintaxis es:

For contador = principio To final [Step incremento]

     Sentencias

Next/EndFor [contador]



(las palabras entre corchetes son opcionales). Los argumentos
contador, principio, final e incremento son todos numéricos. El
bucle se ejecuta hasta que el contador llegue (o exceda) el valor
final.
22


Cuando ejecuta un bucle For … Next, Visual FoxPro hace lo
siguiente:

1. Pone contador con el valor de principio.
2. Comprueba si contador es mayor que final. Si lo es, sale del
   bucle. Si incremento es negativo, Visual FoxPro comprueba si
   contador es menor que final, en cuyo caso sale de bucle.
3. Ejecuta el bloque de sentencias.
4. Incrementa contador con el valor de incremento. Si no se ha
   especificado incremento, el contador se incrementa en 1.
5. Repite las sentencias.



La parte más importante a tener en cuenta cuando se trabaja con
bucle For Next/EndFor es que el contador del bucle se establece
al principio del bucle. Si cambiamos el valor de la variable final
mediante una sentencia dentro del bucle, no se detecta el cambio
y se ejecuta como si no se hubiera producido.



WITH ... ENDWITH: Especifica múltiples propiedades para un
objeto.

Sintaxis

      WITH NombreObjeto

           [Instrucciones]

      ENDWITH

NombreObjeto: Especifica el nombre del objeto. NombreObjeto
puede ser el nombre del objeto o una referencia a éste. Ejemplo
With Thisform
23


Instrucciones: Instrucciones puede constar de cualquier número
de comandos de Visual FoxPro empleados para especificar
propiedades para NombreObjeto. Sitúe un punto delante de
Instrucción para indicar que es una propiedad de NombreObjeto.

Propiedad o palabra clave

Referencia

ActiveControl El control del formulario activo actualmente que
tiene el enfoque

ActiveForm         El formulario activo actualmente

ActivePage          La página activa del formulario activo
actualmente

Parent       El contenedor más inmediato del objeto

THIS El objeto, o un procedimiento o evento del objeto

THISFORM El formulario que contiene el objeto

THISFORMSET          El conjunto de formularios que contiene el
objeto



THISFORM: Proporciona una referencia a un Form antes de
crearlo.

Sintaxis:

         THISFORM.NombrePropiedad | NombreObjeto



Argumentos:

NombrePropiedad: Especifica una propiedad para el Form.

NombreObjeto: Especifica un objeto del Form.
24




Comentarios: THISFORM proporciona, dentro de un método, una
referencia al Form en el que está situado un objeto o a la
propiedad de un Form. THISFORM permite hacer referencia a un
objeto o una propiedad del formulario sin utilizar múltiples
propiedades Parent.



THIS: Proporciona una referencia a un objeto antes de crearlo.

Sintaxis:

      THIS.NombrePropiedad | NombreObjeto



Argumentos:

NombrePropiedad: Especifica una propiedad para la clase.

NombreObjeto: Especifica un objeto de la clase.



Comentarios: THIS permite hacer referencia a una propiedad o un
objeto de una definición de clase. Los métodos de un bloque de
definición de clase pueden utilizar THIS para especificar una
propiedad o un objeto que existirá cuando se cree la clase.

Puesto que múltiples instancias de objetos comparten el mismo
código de método, THIS siempre hace referencia a la instancia en
la que está ejecutándose el código. Si hay múltiples instancias de
un objeto, y se llama a uno de los métodos del objeto, THIS hace
referencia al objeto correcto.



THISFORMSET: Proporciona una referencia a un FormSet
antes de crearlo.

Sintaxis:
25


      THISFORMSET.NombrePropiedad | NombreObjeto



Argumentos:

NombrePropiedad: Especifica una propiedad para el FormSet.

NombreObjeto: Especifica un objeto del FormSet.



Comentarios: THISFORMSET proporciona, dentro de un método,
una referencia al FormSet en el que está situado un objeto o a la
propiedad de un FormSet. THISFORMSET permite hacer
referencia a un objeto o una propiedad del FormSet sin utilizar
múltiples propiedades Parent.



RELEASE: Permite que los usuarios cierren el formulario activo
haciendo doble clic en el cuadro de control o eligiendo Cerrar en
el menú Control del formulario. También puede permitir que un
usuario cierre y libere un formulario incluyendo el comando
siguiente en el código de evento Click de un control, como un
botón de comando con el título "Salir":

RELEASE THISFORM



CREATE: Nos permite crear formularios, tablas, base de datos,
menús, informes, etc. Ejemplo: Create Form “C:Mis
documentosRenéejemplo1.scx”.

DO FORM: Ejecuta un Form o FormSet compilado que se ha
creado con el Generador de formularios.

MODIFY FORM: Abre el Generador de formularios para que
pueda modificar o crear uno.
26


USE: Abre o cierra una Tabla. Ejemplo: Use Articulo.Dbf↵
(Abre la tabla Articulo.dbf). Use↵ Cierra una tabla en uso.

GO TOP: Ubica el puntero de registro en el primer registro.

GO BOTTOM: Ubica el puntero de registro en el último
registro.

SKIP: Avanza o retrocede el puntero de registro. Skip +1↵
(Avanza). Skip –1 (Retrocede).

APPEND: Adiciona o añade más registro a una tabla abierta.

LIST: Realiza un listado de todos los registros de una tabla
abierta.

BROWSE: Abre la ventana examinar para modificar el contenido
de todos los registro de una tabla abierta.

REPORT FORM: Muestra o imprime un informe bajo el control
de un archivo de definición de informe creado con MODIFY
REPORT o CREATE REPORT.




Mensaje del Sistema.

MenssageBox().- despliega un mensaje en un cuadro de dialogo y
espera que el usuario selecciona un botón.

Sintaxis:

Variable= MessageBox (mensaje,tipo,titulo)

Mensaje: es una expresión de cadena que se despliega como el
mensaje en un cuadro de dialogo.
27


Tipo: Expresión numérica que es la suma de valores que
especifican la cantidad y el tipo de botones para desplegar.




DO WHILE – ENDDO

Repite un bloque de instrucciones cuando una condición es true o
hasta que una condición se convierta en true




Sintaxis




Do while condición

Sentencia

Loop

Enddo




Aplicación Nº 2

Este ejercicio consiste en elaborar un formulario que simule el funcionamiento de un
reloj despertador digital. La aplicación debe permitir al usuario ingresar la hora a la que
desea ser avisado. El diseño de la interfaz debe ser similar a la figura siguiente:
28




Para el desarrollo de esta aplicación proceder a ubicar los siguientes controles en el
formulario:

2 etiquetas

2 cajas de texto

1 cronómetro

2 botones de comandos

En seguida establezca las propiedades según se indica a continuación:

Form1

        Name                     FrmReloj
        Caption                  Reloj despertador digital
        MaxButton                .F.-Falso
        MinButton                .F.-Falso

Label1

        Name                     LblHora
        Caption                  Hora

Label2

        Name                     LblDespertador
        Caption                  Despertador

Text1
29


        Name                    TxtHora
        FontBold                .T.-Verdadero
        FontSize                24

Text2

        Name                    TxtDespertador
        FontBold                .T.-Verdadero
        FontSize                24

Timer1

        Name                    Timer1
        Enabled                 .T.-Verdadero
        Interval                500

Command1

        Name                    CmdOnOff
        Caption                 <Desactivar
        Default                 .T.-Verdadero

Command2

        Name                    CmdTerminar
        Cancel                  .T.-Verdadero
        Caption                 <Terminar

Una vez establecidas las propiedades, proceda a ingresar el código que se muestra:

Objeto: FrmReloj                                Procedimiento: Load

Public lOnOff

Objeto: FrmReloj                                Procedimiento: Init

lOnOff = .F.

Thisform.TxtDespertador.Value = "00:00:00"
30

Thisform.Refresh

Objeto: Timer1                             Procedimiento: Timer

If Thisform.TxtHora.Value != Time() Then

Thisform.TxtHora.Value = Time()

EndIf

If (Thisform.TxtDespertador.Value < Time()) And lOnOff Then

* Sonido acústico

?Chr(7)

EndIf

Thisform.Refresh

Objeto: CmdOnOff                           Procedimiento: Click

If lOnOff Then

lOnOff = .F.

Thisform.CmdOnOff.Caption = "<Activar"

Else

lOnOff = .T.

Thisform.CmdOnOff.Caption = "<Desactivar"

EndIf

Thisform.Refresh

Objeto: CmdTerminar                        Procedimiento: Click



Release Thisform
31




                        CAPITULO III



QUE ES UNA BASE DE DATOS

 Una Base de Datos es un conjunto de datos organizado de forma
tal, que se presenta al usuario como si fuera una o un conjunto de
matrices bidimensionales (tablas).

    Cada fila de una matriz es un registro, el cual contiene
información sobre una unidad de la base de datos y le asigna un
número para poder manejarlo.

    Cada columna contiene los diversos campos de ese registro.
Por ejemplo : en una tabla de publicaciones, cada fila contendrá
información sobre una publicación determinado, y la fila estará
dividida en campos (columnas), como el código de publicación,
nombre de la publicación, fecha, tiraje, responsable, etc...

Para abrir una base de datos haz click en archivo, nuevo
selecciona base de datos (Database), y aparecerá la ventana de
Generador de base de datos. En este tu construirás las tablas
visualmente, creas etiquetas de índice, establece relaciones entre
tablas y proporciona otros componentes que ayudan en el proceso
de diseño de una aplicación. En el Generador de bases de datos
32


haz clic en cualquier lugar de la ventana, se desplegará un menú
contextual que contiene las opciones siguientes:

-Expandir (Expand)

- Contraer todos (Collapse all)

- Nueva tabla (New table)

- Nueva vista remota (* New remote view )

- Nueva vista local (*New local view)

- Agregar tabla (Add table)

- Procedimientos almacenados (Stored procedures)

- Integridad referencial (integrity referential)

- Ayuda

Tablas




Tipos de datos
Visual Fox Pro puede manejar diversos tipos de campos (tal
como muestra la figura) . Entre los más importantes están:

Carácter : Campo de caracteres : Almacena cadenas o
conjuntos de caracteres. Un campo de caracteres permite
almacenar tanto letras, como números o caracteres especiales.

Monetario: Campo de Valores Monetarios: Almacena
cantidades en valor monetario, Ejemplo: $55, S/.675,438.
33


Numérico: Campo numéricos : Almacenan cantidades y se
puede hacer cálculos con ellos. Estos campos sólo admiten
número y el punto decimal (la coma decimal si tiene formato
español). Máxima extensión, 20 caracteres.

Flotante : Campo de números reales : Almacenan números en
el rango del conjunto de números reales.

Fecha : Campo fecha : Permite almacenar fechas. La
información la guarda en la forma AAAAMMDD, con 8
caracteres. El formato por defecto para introducir fechas en
Visual Fox Pro es MM/DD/AA (Mes/Día/Año).

Lógico : Campo lógico : Almacenan un tipo especial de
información, sólo permiten almacenar verdadero o falso y acepta
sólo los caracteres : T (verdadero) o F (falso).

Memo : Campo Memo : Permite almacenar textos largos, como
una descripción o un breve resumen.

Estructura de un .BDF

Los datos en FoxPro se almacenan en forma de tablas, estas
tablas son las bases de datos pues la extensión de estas bases de
datos es .DBF aunque también hay otras que se verá más
adelante. Los DBF comienzan con una breve descripción de los
datos que están en la tabla.




RELACIONES ENTRE TABLAS:

Las relaciones mas comunes entre tablas se definen:

De uno a uno: Ejemplo de una llave primaria a otra llave primaria

De uno a muchos: Ejemplo de una llave primaria a una Regular o
Foránea.
34


Las relaciones entre tablas se crean arrastrando la llave de la
tabla a la llave de otra tabla.




Aplicación Nº 3



En este ejercicio vamos a crear un formulario para calcular la edad de una persona a
partir de su fecha de nacimiento.




Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el
formulario:

2 etiquetas

2 cajas de texto

3 botones de comando

Luego, proceda a establecer las propiedades según se indica a continuación:

Form1

       Name                      FrmEdad
       Caption
       MaxButton                 .F.-Falso
       MinButton                 .F.-Falso
35

Label1

        Name                    LblFecNac
        Caption                 Fecha de nacimiento:

Label2

        Name                    LblEdad
        Caption                 Su edad es:

Text1

        Name                    TxtFecNac
        Enabled                 .T.-Verdadero

Text2

        Name                    TxtEdad
        Enabled                 .F.-Falso

Command1

        Name                    CmdAceptar
        Caption                 <Aceptar

Command2

        Name                    CmdLimpiar
        Caption                 <Limpiar

Command3

        Name                    CmdSalir
        Caption                 <Salir

Luego de establecidas las propiedades de los controles, proceda a ingresar el siguiente
código:

Objeto: FrmEdad                                 Procedimiento: Load

Set Date French
36

Set Century On

Objeto: FrmEdad                             Procedimiento: Init

cNomDia = Cdow(Date())

cDia = Str(Day(Date()), 2)

cMes = Cmonth(Date())

cAnno = Str(Year(Date()), 4)

cFecha = cNomDia + " " + cDia + " de " + cMes + " del " + cAnno

Thisform.Caption = cFecha

Thisform.TxtFecNac.Setfocus

Thisform.Refresh

Objeto: CmdAceptar                          Procedimiento: Click

dFecNac = Ctod(Thisform.TxtFecNac.Value)

nEdad = Int ((Date() - dFecNac) / 365)

Thisform.TxtEdad.Value = Str(nEdad) + " años"

Thisform.Refresh

Objeto: CmdLimpiar                          Procedimiento: Click

Thisform.TxtFecNac.Value = ""

Thisform.TxtEdad.Value = ""

Thisform.TxtFecNac.Setfocus

Thisform.Refresh

Objeto: CmdSalir                            Procedimiento: Click

Release Thisform




Aplicación Nº 3.1
37

Este ejercicio consiste en elaborar una aplicación que acepte fechas como tres números
(dd, mm, aaaa) y las visualice del modo usual. A manera de ejemplo considere lo
siguiente:




Cuando el usuario haga click en el botón Salir o en el botón Cerrar de la barra de título
del formulario, se debe confirmar si desea terminar la aplicación, tal como se observa en
la figura siguiente:




En caso de que el usuario elija la opción Si, la aplicación debe terminar. Caso contrario,
es decir si el usuario elige la opción No, se debe proseguir con la aplicación.

Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el
formulario:

4 etiquetas

3 controles numéricos

1 caja de texto

3 botones de comando

En seguida proceda a establecer las propiedades según se indica:

Form1
38


     Name               FrmFecha
     Caption            Fecha en letras
     MaxButton          .F.-Falso
     MinButton          .F.-Falso

Label1

     Name               LblDia
     AutoSize           .T.-Verdadero
     Caption            Día:

Label2

     Name               LblMes
     AutoSize           .T.-Verdadero
     Caption            Mes:

Label3

     Name               LblAnno
     AutoSize           .T.-Verdadero
     Caption            Año:

Label4

     Name               LblEnLetras
     AutoSize           .T.-Verdadero
     Caption            En letras:

Spinner1

     Name                  SpnDia
     SpinnerHighValue      31
     SpinnerLowValue       1

Spinner2

     Name                  SpnMes
39


        SpinnerHighValue           12
        SpinnerLowValue            1

Spinner3

        Name                       SpnAnno
        SpinnerHighValue           9999
        SpinnerLowValue            0

Text1

        Name                    TxtEnLetras
        Alignment               2-Centro

Command1

        Name                    CmdAceptar
        Caption                 <Aceptar
        Default                 .T.-Verdadero

Command2

        Name                    CmdLimpiar
        Caption                 <Limpiar

Command3

        Name                    CmdSalir
        Cancel                  .T.-Verdadero
        Caption                 <Salir

Una vez establecidas las propiedades proceda a ingresar el código que se indica a
continuación:

Objeto: FrmFecha                                Procedimiento: Load

Set Date French

Set Century On
40


Objeto: FrmFecha                             Procedimiento: QueryUnload

#DEFINE vfpYesNo 4

#DEFINE vfpYes 6

#DEFINE vfpQuestion 32

If MessageBox("¿Desea terminar la aplicación?", ;

vfpQuestion + vfpYesNo, "Pregunta") = vfpYes Then

Release Thisform

Else

NoDefault

EndIf

Objeto: CmdAceptar                           Procedimiento: Click

cBarra = "/"

cFecha = Thisform.SpnDia.Text + cBarra + Thisform.SpnMes.Text ;

+ cBarra + Thisform.SpnAnno.Text

dFecha = Ctod(cFecha)

cNomDia = Cdow(dFecha)

cDia = Str(Day(dFecha), 2)

cMes = Cmonth(dFecha)

cAnno = Str(Year(dFecha), 4)

cFecha = cNomDia + " " + cDia + " de " + cMes + " de " + cAnno

Thisform.TxtEnLetras.Value = cFecha

Thisform.Refresh

Objeto: CmdLimpiar                           Procedimiento: Click

Thisform.SpnDia.Value = 0

Thisform.SpnMes.Value = 0
41

Thisform.SpnAnno.Value = 0

Thisform.TxtEnLetras.Value = ""

Thisform.SpnDia.Setfocus

Thisform.Refresh

Objeto: CmdSalir                  Procedimiento: Click

Thisform.QueryUnload
42




                               CAPITULO IV


Tipos de Menús:

Existen dos tipos de menús : menú y Shortcut.
43




Creación de Menús:

La creación de menús es un proceso que conlleva diferentes pasos. Primero, debemos
definir las opciones del menú y de los submenús. Luego, asignar funcionalidad a las
opciones de menú. Finalmente, generar el programa de menús.

Puede usar el generador de menús de Visual Foxpro para que le ayude a construir
menús rápidamente. El Generador de menús le permite definir la estructura y
funcionalidad de su sistema de menús a través de cuadros de diálogo de fácil uso y de
listas desplegables que puede utilizar para crear y modificar su sitema de menús.



Definición de las opciones de menú.

Los menús presentan su aspecto con una lista de opciones para iniciar una actividad. La
mayoría de los elementos de menú muestran submenús u opciones adicionales cuando
el usuario selecciona uno de estos elementos. Antes de generar un menú para una
aplicación, tendrá que determinar que selecciones tendrá disponibles el usuario final y
qué opciones de menús pertenecen a otras opciones de menús (sub menus).



Cómo crear un nuevo menú
1.    Pulse la ficha de otros en el Administrador de proyectos.

                                                                  2.    Seleccione menús
                                                                       en la lista de
                                                                       categorías



                                                                  3.     Pulse el botón
                                                                       nuevo y escoja si es
                                                                       Menu o un Shortcut




4. Introduzca las opciones del menu y luego el resultado del menú ( submenu, comando
o procedimiento)

5. A la derecha del resultado se encuentra la opción crear o modificar según el caso.
( crea o modificar los resultados de la opción del menu).
44

Tipos de Resultados :

Submenu : Si el menú contiene un submenu

Comando : Si la opción de ese menú invoca un comando
(Ejemplo: DO FORM
                Regiones, para llamar un formulario;

                CLEAR EVENT, por lo general va en la opción Salir)

Procedimiento : Si la opción de ese menú invoca varias líneas de comandos ( un
procedimiento).




                                             Opciones de Menú:

En las opciones del menú se especifican:

-    Teclas de Acceso directo

-    Mensajes del menú

-    Condición de habilita/No habilitar



Generación del menú :

1.   En el menú escoja la opción Menú.

2.   Se le pregunta si desea grabar los cambios ( responda que si)

3.    Luego se le pide que proporcione el archivo de salida del menu ( escoja la ruta y el
     nombre del archivo, por lo general son extension MPR) y luego seleccione generar.

4.   Si existe ya el archivo se le pide si desea re-escribirlo ( seleccione que si)
45



Como invocar al menú creado:

Al generar el menú se crea un archivo que por lo general tiene extensión MPR que
contiene el código para desplegar el menú.
La instrucción sería:



         DO ruta y nombre del archivo MPR

Ejemplo : DO menu.MPR



·   Para volver a re establecer el menú por default de Visual Foxpro utilice la
    instrucción: SET SYSMENU TO DEFAULT



Creación del Ejecutable de la Aplicación.




Primero se tiene que crear un programa de inicio, al cual se le tiene que decir que ese es
el programa que se ejecutara de primero ( esto se hace haciendo clic derecho en el
programa que designemos como principal y escoger la opción main ( principal) del
menú de opciones)

Contenido Ejemplo del programa principal:

CLEAR ALL

* Variables Publicas

PUBLIC w_Output, g_año, gid_area, g_nivel, g_cambio, g_login_entry ;
46

   ,g_pass_entry, V_MENU_PRE, V_ERROR, g_acceso

* Definicion de Ventana para los Reportes

DEFINE          WINDOW w_Output                     ;

               FROM 0,0 TO 25,70                ;

               TITLE 'Informes - BCN'       ;

               CLOSE FLOAT GROW ZOOM SYSTEM

* Ambiente

SET SYSMENU TO

SET ECHO OFF

SET TALK OFF

SET CENTURY ON

SET CLOCK STATUS

SET DATE brit

SET DELETE ON

SET PATH TO formenu,bmp,prg,data

SET EXCLUSIVE OFF

SET SAFETY OFF

SET REFRESH TO 5

SET REPROCESS TO AUTOMATIC

SET MULTILOCK ON

SET LOCK OFF

SET PROCEDURE TO .prgutility

* Fondo de la Pantalla principal

_SCREEN.Picture=".bmpfondo.bmp"

_SCREEN.WINDOWSTATE=2

_SCREEN.CLOSABLE=.F.
47

_SCREEN.CAPTION="Formulación Presupuestaria"

* Base de Datos

OPEN DATA .SCOTTscott SHARED

* Llamada al Menu

DO .menumenu.mpr

READ EVENT

CLEAR ALL

SET SYSMENU TO DEFAULT
48




                                 CAPITULO V




Para ejecutable


Crear nuevo proyecto

1.- menú archivo

2. nuevo

3.- Seleccionar proyecto como indica la imagen




4.- clic en nuevo archivo

5.- guardar proyecto en la dirección deseada y el nombre deseado

6.- clic en documentos y luego agregar
49




7.- buscar los formularios que desee agregar al proyecto

8.- clic en código y luego nuevo

9.- escriba o pegue el siguiente código



clear all

set exclusive off

set sysmenu to

set echo off

set talk off

Set Status Bar Off

_screen.windowstate=2

clear

* en la line siguiente va la ruta y el nombre del formulario principal

do form c:israelnombre_formulario.scx

read event

clear all



10.- clic en el signo + (MAS) si no se ve el nombre del programa en el proyecto
50

11.- clic derecho en el nombre del programa y estableces principal

12.- clic en general y generar ejecutable

13.- acepta y guardar en la ruta correspondiente




NOTA:

Copie los archivos .dll en el lugar donde se encuentre el ejecutable



Y LISTO




Aplicación Nº 4




                         Base de datos Pizzería
Realizar las siguientes tablas para la base de datos Pizzería
51




Para llevar a cabo la Practica Realiza los Siguientes pasos:



   1. Crea un nuevo Proyecto con el nombre Pizza
   2. en el administrador de proyectos en la Ficha Datos, Selecciona la opción
      Databases, y después la opcion Nuevo, para crear la base de datos con el
      nombre Pizzería.
   3. En el diseñador de Base de datos da un clic en la opción Nueva tabla. y haz lo
      sig;




   4. Guarda esta tabla con el nombre de Pizza
   5. Ahora deberas crear otra tabla nueva con los siguientes campos.
52




   6. Guarda esta tabla con el nombre de tamaños.
   7. Ahora deberas crear una tercera tabla con los datos siguientes:




8. Guarda esta tabla con el nombre de Venta.

9. por ultimo deberás crear otra tabla como sigue:
53




10. Esta tabla la guardas con el nombre factura
11. Crea las relaciones entre las tablas de tal form que te queden de la siguiente
    manera:




12. Ahora debemos introducir los datos a las tablas, comenzaremos por la tabla
    Pizza y la llenaremos como sigue:
54

              Clave_Pizza            Nombre
              an                     Anchoas
              pe                     Peperoni
              ha                     Hawaiana
              sa                     salami

13. seguimos con la tabla Tamaño



              Clave_tamaño           Tamaño
              ch                     Chica
              me                     Mediana
              gr                     Grande




  14. Y Continuamos con la tabla Venta



              Clave_Pizza            Clave_Tamaño             Precio
              an                     ch                       $ 20.00
              an                     me                       $ 25.00
              an                     gr                       $ 30.00
              pe                     ch                       $ 60.00
              pe                     me                       $ 65.00
              pe                     gr                       $ 80.00
              ha                     ch                       $ 55.00
              ha                     me                       $ 60.00
              ha                     gr                       $ 68.00
              sa                     ch                       $ 63.00
              sa                     me                       $ 87.00
              sa                     gr                       $ 98.00

   15. ahora crearemos una tabla a partir de una consulta, en la ventana explorador de
  proyectos en la pestaña datos selecciona consulta y después nuevo



  16. Visual Fox te preguntara que tablas quieres agregar para la realización de tu
      consulta, para eso tu debes agregar las siguientes tablas: Tamaña, Venta y
      Pizza.




  17. una vez con las tablas agregadas, en la ventana diseñador de consultas en la
      ficha campos, debemos escoger cuales son los campos que nosotros queremos
      que nos muestre la consulta, pues bien vamos a seleccionar los siguientes:
      Pizza.nombre, tamaño.tamaño, Venta.Precio, por ultimo agregaremos una
      expresión como campo para esto en la misma ventana busca la opción funciones
      y expresiones y aparecerá la ventana siguiente:
55




18. Cuando esta ventana aparezca lo primero que debemos de hacer es seleccionr
    de la parte funciones Cadena, la opción “texto”, Luego en la parte de abajo
    donde dice Desde tabla Selecciona la tabla Pizza, en el cuadro campos
    apareceran los campos de la tabla pizza de ese cuadro da doble clic al campo
    clave_pizza, una vez esto hecho en el cuadro expresión deberá de aparecer el
    siguiente texto: “Pizza.cleve.pizza”, una ves con esto ve otra vez a la lista
    Cadena y ahora selecciona el símbolo +, el símbolo aparecera dentro de las
    comillas, salte de las comillas y pon un guion(-), la expresión deberá quedar:
    “Pizza.cleve.pizza+”-, ahora con lo que ya vimos has que la expresión final
    quede de la siguiente forma, recuerda que para sacar los campo de Tamaño
    primero debes seleccionar la tabla tamaño de Desde tabla.
56




19. Una vez que tengas la Expresión da un clic al botón aceptar y después un clic
    en Agregar. Te debera quedar como en la pantalla siguiente:




20. Ahora da un clic al boton Destino de consulta         y Selecciona tabla




21. en el recuadro donde dice Nombre de la tabla le ponemos un nombre que en
    este caso será consulta1.dbf. y un clic al botón Aceptar.
22. Después de eso Cierro la ventana de Diseñador de consultas, y ebn el
    explorador de proyectos selecciono la consulta que acabo de crear y la ejecuto.
23. después de este paso en el explorador de proyectos selecciono tablas en la
    ficha datos y doy un clic a Agregar, busco la tabla consulta1, que es la que se
    genero con la consulta y la agrego a mi base de datos.
57

24. Una vez ya agregada la relaciono con la tabla Factura, de tal manera que me
    quede de la siguiente manera:




25. Ahora si todo esta listo para que tu generes tus Formularios y tus informes de
    tu base de datos, recuerda que puedes hacer tambien consultas por medio de la
    tabla factura para ver cuales fueron las ventas que has tenido.

Más contenido relacionado

La actualidad más candente

Windows 7 y sus Características
Windows 7 y sus CaracterísticasWindows 7 y sus Características
Windows 7 y sus Característicasliliymarlon2012
 
Formatos Personalizados De Celdas
Formatos Personalizados De CeldasFormatos Personalizados De Celdas
Formatos Personalizados De CeldasIsabel
 
El procesador de texto es un tipo de aplicación informática destinada a la cr...
El procesador de texto es un tipo de aplicación informática destinada a la cr...El procesador de texto es un tipo de aplicación informática destinada a la cr...
El procesador de texto es un tipo de aplicación informática destinada a la cr...Cshar Aguirrero Castro
 
Visual fox pro manual del programador
Visual fox pro manual del programadorVisual fox pro manual del programador
Visual fox pro manual del programadoragricolamontalvo
 
Exposicion de linux
Exposicion de linuxExposicion de linux
Exposicion de linuxbeads09
 
Introduccion A Corel Draw
Introduccion A Corel DrawIntroduccion A Corel Draw
Introduccion A Corel DrawJose
 
Microsoft office
Microsoft officeMicrosoft office
Microsoft officerosasoria
 

La actualidad más candente (14)

Windows 7 y sus Características
Windows 7 y sus CaracterísticasWindows 7 y sus Características
Windows 7 y sus Características
 
Computación-Primero de Bachillerato
Computación-Primero de BachilleratoComputación-Primero de Bachillerato
Computación-Primero de Bachillerato
 
Los Sistemas operativos
Los Sistemas operativosLos Sistemas operativos
Los Sistemas operativos
 
Formatos Personalizados De Celdas
Formatos Personalizados De CeldasFormatos Personalizados De Celdas
Formatos Personalizados De Celdas
 
El procesador de texto es un tipo de aplicación informática destinada a la cr...
El procesador de texto es un tipo de aplicación informática destinada a la cr...El procesador de texto es un tipo de aplicación informática destinada a la cr...
El procesador de texto es un tipo de aplicación informática destinada a la cr...
 
Visual fox pro manual del programador
Visual fox pro manual del programadorVisual fox pro manual del programador
Visual fox pro manual del programador
 
Exposicion de linux
Exposicion de linuxExposicion de linux
Exposicion de linux
 
Triptico de word
Triptico de wordTriptico de word
Triptico de word
 
Corel paint shop
Corel paint shopCorel paint shop
Corel paint shop
 
Tipos de hipervínculos
Tipos de hipervínculosTipos de hipervínculos
Tipos de hipervínculos
 
Sistema Operativo Mac Os
Sistema Operativo Mac OsSistema Operativo Mac Os
Sistema Operativo Mac Os
 
Introduccion A Corel Draw
Introduccion A Corel DrawIntroduccion A Corel Draw
Introduccion A Corel Draw
 
Ejercicio completo de access
Ejercicio completo de accessEjercicio completo de access
Ejercicio completo de access
 
Microsoft office
Microsoft officeMicrosoft office
Microsoft office
 

Destacado

Manual+mult%c3%admetro+automotriz+88 v+fluke
Manual+mult%c3%admetro+automotriz+88 v+flukeManual+mult%c3%admetro+automotriz+88 v+fluke
Manual+mult%c3%admetro+automotriz+88 v+flukejulioDs3
 
Google sketchup manual general
Google sketchup manual generalGoogle sketchup manual general
Google sketchup manual generalDAVID10000
 
KZN Alumni Vereinspräsentation
KZN Alumni Vereinspräsentation KZN Alumni Vereinspräsentation
KZN Alumni Vereinspräsentation Sven Ruoss
 
Catálogo de formación PFS Grupo
Catálogo de formación PFS GrupoCatálogo de formación PFS Grupo
Catálogo de formación PFS GrupoPFSGRUPO
 
Automobile synchronizers and gears
Automobile synchronizers and gearsAutomobile synchronizers and gears
Automobile synchronizers and gearslunchNtouch
 
Financoach - Programa Formación Inversionistas
Financoach - Programa Formación InversionistasFinancoach - Programa Formación Inversionistas
Financoach - Programa Formación InversionistasRodrigo Cantillana
 
Career net talent search services
Career net talent search servicesCareer net talent search services
Career net talent search servicesraghavendra.hn
 
Fondsprofiler @ Union Investment - The biggest apex project in the world
Fondsprofiler @ Union Investment - The biggest apex project in the worldFondsprofiler @ Union Investment - The biggest apex project in the world
Fondsprofiler @ Union Investment - The biggest apex project in the worldOliver Lemm
 
Manager Ensemble 2010.Doc
Manager Ensemble 2010.DocManager Ensemble 2010.Doc
Manager Ensemble 2010.DocVERMERSCH
 
Instagram Volgers Kopen
Instagram Volgers KopenInstagram Volgers Kopen
Instagram Volgers KopenDavid Junero
 
ONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur AppONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur AppNetcetera
 
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...Introspecta Taller Orientación Vocacional
 
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...Ingeniería y Gestión Ambiental
 
Ithaca College Natural Lands Grant Proposal
Ithaca College Natural Lands Grant ProposalIthaca College Natural Lands Grant Proposal
Ithaca College Natural Lands Grant ProposalIthaca College
 
Semantic Business Rules for Data Validation
Semantic Business Rules for Data ValidationSemantic Business Rules for Data Validation
Semantic Business Rules for Data ValidationSimon Schlosser
 
Estatuto comite intrahospitalario mmdg
Estatuto comite intrahospitalario mmdgEstatuto comite intrahospitalario mmdg
Estatuto comite intrahospitalario mmdgRoberto Flete
 
Wireless Communications & Spread Spectrum Design
Wireless Communications & Spread Spectrum DesignWireless Communications & Spread Spectrum Design
Wireless Communications & Spread Spectrum DesignJim Jenkins
 

Destacado (20)

Manual+mult%c3%admetro+automotriz+88 v+fluke
Manual+mult%c3%admetro+automotriz+88 v+flukeManual+mult%c3%admetro+automotriz+88 v+fluke
Manual+mult%c3%admetro+automotriz+88 v+fluke
 
Google sketchup manual general
Google sketchup manual generalGoogle sketchup manual general
Google sketchup manual general
 
KZN Alumni Vereinspräsentation
KZN Alumni Vereinspräsentation KZN Alumni Vereinspräsentation
KZN Alumni Vereinspräsentation
 
Catálogo de formación PFS Grupo
Catálogo de formación PFS GrupoCatálogo de formación PFS Grupo
Catálogo de formación PFS Grupo
 
Automobile synchronizers and gears
Automobile synchronizers and gearsAutomobile synchronizers and gears
Automobile synchronizers and gears
 
Yellowcheckercab.com
Yellowcheckercab.comYellowcheckercab.com
Yellowcheckercab.com
 
Financoach - Programa Formación Inversionistas
Financoach - Programa Formación InversionistasFinancoach - Programa Formación Inversionistas
Financoach - Programa Formación Inversionistas
 
137 1102 gas hobs
137 1102 gas hobs137 1102 gas hobs
137 1102 gas hobs
 
Career net talent search services
Career net talent search servicesCareer net talent search services
Career net talent search services
 
Fondsprofiler @ Union Investment - The biggest apex project in the world
Fondsprofiler @ Union Investment - The biggest apex project in the worldFondsprofiler @ Union Investment - The biggest apex project in the world
Fondsprofiler @ Union Investment - The biggest apex project in the world
 
Manager Ensemble 2010.Doc
Manager Ensemble 2010.DocManager Ensemble 2010.Doc
Manager Ensemble 2010.Doc
 
Instagram Volgers Kopen
Instagram Volgers KopenInstagram Volgers Kopen
Instagram Volgers Kopen
 
Choroni
ChoroniChoroni
Choroni
 
ONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur AppONE Konferenz: Von der Idee zur App
ONE Konferenz: Von der Idee zur App
 
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...
Descubre tu Vocación: Ingeniería Ambiental | Panorama laboral | ¿Cuánto ganan...
 
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...
Informe: Perspectivas del Medio Ambiente en el Sistema Hídrico Titicaca-Desag...
 
Ithaca College Natural Lands Grant Proposal
Ithaca College Natural Lands Grant ProposalIthaca College Natural Lands Grant Proposal
Ithaca College Natural Lands Grant Proposal
 
Semantic Business Rules for Data Validation
Semantic Business Rules for Data ValidationSemantic Business Rules for Data Validation
Semantic Business Rules for Data Validation
 
Estatuto comite intrahospitalario mmdg
Estatuto comite intrahospitalario mmdgEstatuto comite intrahospitalario mmdg
Estatuto comite intrahospitalario mmdg
 
Wireless Communications & Spread Spectrum Design
Wireless Communications & Spread Spectrum DesignWireless Communications & Spread Spectrum Design
Wireless Communications & Spread Spectrum Design
 

Similar a Curso Visual FoxPro 40

desarolla aplicaciones
desarolla aplicaciones desarolla aplicaciones
desarolla aplicaciones axelyair
 
DESARROLLA APLICACIONES DE ESCRITORIO CON BASES DE DATOS
DESARROLLA  APLICACIONES DE ESCRITORIO CON BASES DE DATOS DESARROLLA  APLICACIONES DE ESCRITORIO CON BASES DE DATOS
DESARROLLA APLICACIONES DE ESCRITORIO CON BASES DE DATOS mariavaargas
 
Trabajo Informatica Brayan Camilo Velasco Victor Hugo Ruiz
Trabajo Informatica Brayan Camilo Velasco  Victor Hugo Ruiz Trabajo Informatica Brayan Camilo Velasco  Victor Hugo Ruiz
Trabajo Informatica Brayan Camilo Velasco Victor Hugo Ruiz Victor Ruiz
 
Manual de visual basic
Manual de visual basicManual de visual basic
Manual de visual basicalberto301087
 
fundamentos de programacion web
fundamentos de programacion webfundamentos de programacion web
fundamentos de programacion webaracely404
 
aplica los fundamentos de programación web
aplica los fundamentos de programación web aplica los fundamentos de programación web
aplica los fundamentos de programación web karlafabiola123456
 
Presentación de visual studio (1)
Presentación de visual studio (1)Presentación de visual studio (1)
Presentación de visual studio (1)cinthya alfaro
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basicPedro Montero
 
Herramientas de control en Visual Studio
Herramientas de control en Visual StudioHerramientas de control en Visual Studio
Herramientas de control en Visual Studiomyriam aguilar
 
controles y tipos de datos
controles y tipos de datos controles y tipos de datos
controles y tipos de datos isaacferrebus
 
Visual Basic
Visual BasicVisual Basic
Visual BasicNiltonusp
 

Similar a Curso Visual FoxPro 40 (20)

Manual visual studio 2010
Manual visual studio 2010Manual visual studio 2010
Manual visual studio 2010
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
desarolla aplicaciones
desarolla aplicaciones desarolla aplicaciones
desarolla aplicaciones
 
Unidad 1 margara
Unidad 1 margaraUnidad 1 margara
Unidad 1 margara
 
DESARROLLA APLICACIONES DE ESCRITORIO CON BASES DE DATOS
DESARROLLA  APLICACIONES DE ESCRITORIO CON BASES DE DATOS DESARROLLA  APLICACIONES DE ESCRITORIO CON BASES DE DATOS
DESARROLLA APLICACIONES DE ESCRITORIO CON BASES DE DATOS
 
Trabajo Informatica Brayan Camilo Velasco Victor Hugo Ruiz
Trabajo Informatica Brayan Camilo Velasco  Victor Hugo Ruiz Trabajo Informatica Brayan Camilo Velasco  Victor Hugo Ruiz
Trabajo Informatica Brayan Camilo Velasco Victor Hugo Ruiz
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual Basic
 
Manual de visual basic
Manual de visual basicManual de visual basic
Manual de visual basic
 
fundamentos de programacion web
fundamentos de programacion webfundamentos de programacion web
fundamentos de programacion web
 
desarrolla aplicaciones
desarrolla aplicacionesdesarrolla aplicaciones
desarrolla aplicaciones
 
aplica los fundamentos de programación web
aplica los fundamentos de programación web aplica los fundamentos de programación web
aplica los fundamentos de programación web
 
Visual basic
Visual basicVisual basic
Visual basic
 
Visual basic
Visual basicVisual basic
Visual basic
 
Presentación de visual studio (1)
Presentación de visual studio (1)Presentación de visual studio (1)
Presentación de visual studio (1)
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basic
 
Herramientas de control en Visual Studio
Herramientas de control en Visual StudioHerramientas de control en Visual Studio
Herramientas de control en Visual Studio
 
Caraline Cañas
Caraline CañasCaraline Cañas
Caraline Cañas
 
manual visual_studio_2010_
manual visual_studio_2010_manual visual_studio_2010_
manual visual_studio_2010_
 
controles y tipos de datos
controles y tipos de datos controles y tipos de datos
controles y tipos de datos
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 

Último

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (19)

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Curso Visual FoxPro 40

  • 1. Curso de Microsoft Visual FoxPro For Windows Indice del Curso: Capitulo I Capitulo II Capitulo III Capitulo IV Capitulo V
  • 2. 2 o CAPITULO I 1.-Entorno de Visual Fox Pro 9.0 En Visual Fox pro se puede crear rápidamente formas, menú e informes con los patrones visuales y herramientas de diseño. Adopta la apariencia de los últimos productos Microsoft: barras de estado, botones con pista, menú contextual, etc. Visual Fox Pro 9.0 cada acción que tu realizas es un evento: El movimiento del mouse, hacer clic sobre un botón, escribir un texto en un cuadro de texto, Etc. Es decir que cuando programes ese evento solo eso sucederá. Es un lenguaje de programación que opera bajo la plataforma de Windows, es decir, el programa identificara las acciones que lleva a cabo el usuario durante su ejecución. Herramientas de Visual Fox Pro
  • 3. 3 Barra de Menú Por medio de esta barra podemos acceso todas las opciones de Visual Fox Pro, nos ofrece abrir o crear una base de dato, crear un reporte, etc. Barra de Herramientas. Por medio de esta barra de herramientas tenemos acceso a las opciones de Visual Fox Pro sin necesidad de ir a la barra de menú y tener un acceso rápido. La Venta de Comando
  • 4. 4 La ventana de comando nos sirve para escribir ciertos comandos que explicaremos después. La ventana de Controles. La ventana de controles permite al usuario seleccionar opciones, introducir datos y escoger acciones. En un formulario, estos objetos pueden incluir casillas de verificación, botones de comando y cuadro de texto. Botón Descripción Seleccionar objetos. Cambia el tamaño y mueve controles. Una vez creado un control, el botón "Seleccionar objetos" se volverá a seleccionar automáticamente, a menos que esté presionado el botón "Bloqueo del botón". Ver clases. Permite seleccionar y mostrar una biblioteca de clases registrada. Después de seleccionar una clase, la barra de herramientas sólo muestra botones para las clases de la biblioteca seleccionada.
  • 5. 5 Etiqueta. Crea un control Label, que se usa para texto que no quiere que el usuario cambie, como el título que aparece encima de las casillas de verificación o debajo de un gráfico. Cuadro de texto. Crea un control TextBox, que se usa para almacenar una única línea de texto que el usuario puede introducir o cambiar. Cuadro de edición. Crea un control EditBox, que se usa para almacenar varias líneas de texto que el usuario puede introducir o cambiar. Botón de comando. Crea un control CommandButton, que se usa para ejecutar un comando. Grupo de comandos. Crea un control CommandGroup, que se usa para agrupar comandos relacionados. Grupo de opciones. Crea un control OptionGroup, que se usa para mostrar múltiples opciones entre las que el usuario sólo puede seleccionar una. Casilla de verificación. Crea un control CheckBox, que ofrece al usuario la posibilidad de elegir entre una condición verdadera o falsa, o muestra varias opciones entre las que el usuario puede seleccionar más de una. Cuadro combinado. Crea un control ComboBox, que se usa para crear un cuadro combinado desplegable o una lista
  • 6. 6 desplegable de forma que el usuario pueda seleccionar un elemento de una lista o introducir manualmente un valor. Cuadro de lista. Crea un control ListBox, que se usa para mostrar una lista de elementos entre los que puede elegir el usuario. Es posible recorrer la lista si tiene más elementos de los que se pueden mostrar de una vez. Control numérico. Crea un control Spinner, que se usa para aceptar datos numéricos introducidos por el usuario que quedan dentro de un intervalo. Cuadrícula. Crea un control Grid, que se usa para mostrar datos en una cuadrícula tipo hoja de cálculo. Imagen. Muestra una imagen gráfica en su formulario. Cronómetro. Intercepta eventos Timer a intervalos establecidos. Este control es invisible en tiempo de ejecución. Marco de página. Muestra varias páginas de controles.
  • 7. 7 Control contenedor OLE. Le permite agregar objetos OLE a su aplicación. Control OLE dependiente. Al igual que los controles contenedores OLE, le permite agregar objetos OLE a su aplicación. Sin embargo, a diferencia de los controles contenedores OLE, los controles OLE dependientes están vinculados a un campo de tipo General. Línea. Se usa para dibujar diversos estilos de línea en su formulario en tiempo de diseño. Forma. Se usa para dibujar diversas formas en su formulario en tiempo de diseño. Puede dibujar un rectángulo, un rectángulo redondeado, un cuadrado, un cuadrado redondeado, un óvalo o un círculo. Separador. Agrega espacio entre los controles de la barra de herramientas. Bloqueo del generador. Abre un generador para el nuevo control que agrega al formulario. Bloqueo del botón. Le permite agregar varios controles del mismo tipo sin tener que hacer clic en el botón del control en la barra de herramientas más de una vez.
  • 8. 8 Propiedades Son los atributos que se aplican sobre los controles. Ejemplo: Color, tipo de letra, nombre, texto, etc. ALGUNAS PROPIEDADES COMUNES: Name (Nombre): Especifica el nombre que se le asigne al control, u solo a través de él se puede acceder a las propiedades y métodos de los controles. Back Color (Color de Fondo): Asigna el color de fondo sobre el que aparece el texto o se dibujan los gráficos. Fore Color (Color de Primer Plano): Asigna un color al primer plano (color de la tinta o del texto).
  • 9. 9 Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los atributos y el tamaño de la fuente que se usa para un control de texto (el texto en un control TextBox, el título de una etiqueta o de un botón de comando, etc.). Caption (Título): Asigna el texto que aparece en muchos controles y que el usuario no puede introducir, por ejemplo el texto de un control Label, el título de un botón de comando, o de una cadena de caracteres que se muestran en un cuadro de activación o en un botón de opción. Text (Texto): Asigna el texto que se muestra en los controles y acepta que lo introduzca el usuario, por ejemplo, el control TextBox. Width (Ancho) y Height (Alto): Estas propiedades determinan las dimensiones de los controles. Left (Izquierda) Top (Arriba): Estas propiedades asignan las coordenadas de la esquina superior izquierda del control y se expresan en las unidades del contenedor (normalmente de un formulario). Enabled (Activado): Su valor es True por omisión, y significa que el control se puede usar. Si se pone False se desactiva el control, aparece en gris y no se puede usar. Visible: Esta propiedad se pone como False para que el control sea invisible. Pasos para cambiar valores a propiedades en tiempo de diseño: 1.- Presionar clic sobre el botón deseado. 2.-Abrir la ventana de propiedades. 3.-Buscar la propiedad de manera alfabética o otras categoría. Evento
  • 10. 10 Es una acción que el usuario efectúa sobre un objeto o control y este a su vez realizara una tarea determinada, el programador deberá analizar los evento que se pueden llevar a cabo sobre un control determinado. Un evento genera una tarea si no existe una tarea, por aquel evento, no pasara nada. Ejemplo Clic DbllicK Keypress Activate Mousemove Entre otros Controles de Formulario Cuadro de texto.- También denominado control de campo de edición, muestra la información introducida en tiempo de diseño por el usuario o asignada al control en código en tiempo de ejecución. Propiedades Alignment.- Devuelve o establece la alineación de un control checkbox u optionbutton, o el texto de control. BorderStyle.- devuelve o establece el estilo del borde del objeto.
  • 11. 11 Name.-Devuelve el nombre usado en el código para identificar un objeto. PasswordChar.- Devuelve o establece un valor que determina si se muestra en un control los caracteres escritos por un usuario o los caracteres marcadores. Text.- Devuelve o estable el texto contenido en el control. Las propiedades más comunes Backcolor.- Devuelve o establece el color de fondo usado para mostrar texto gráficos en un objeto. FontName.- Devuelve un objeto de Font. Forecolor.- Devuelve o establece el color de primer plano usado para mostrar texto y gráficos en un objeto. Eventos MouseMove.- Al mover el ratón por encima del control. MouseDown.- Al pulsar cualquier botón del ratón. Change.- Al cambiar el contenido del control. Click.- Al hacer click con el botón izquierdo del ratón sobre el control. DblClick.- Al hacer doble click con el botón izquierdo. GotFocus.- Este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el control en tiempo de ejecución para introducir datos en el o realizar alguna operación. LostFocus.- Este control es lo contrario del evento anterior, se activa cuando el control pierde el enfoque, es decir, se pasa a otro control para seguir introduciendo datos. ETIQUETA
  • 12. 12 Es un control de graficos utilizado para mostrar texto que el usuario no podrá cambiar directamente. Propiedades Alignment.- Devuelve o establece la alineación de un control checkbox u optionbutton, o el texto de control. BorderStyle.- devuelve o establece el estilo del borde del objeto. Caption.- Devuelve o estable el texto mostrado en la barra de titulo de un objeto o bajo el icono de un objeto. Recuerda: Para este control no se suele utilizar eventos ya que su contenido cambia poco a lo largo de la ejecución de la aplicación. Botón de Comando Denomina botón de comando, permite comenzar, interrumpir o terminar un proceso cuando esta activado. CASILLA DE VERIFICACION. Muestra un visto cuando esta activado y desaparece cuando el control Checkbox se desactiva. Utilice este control para ofrecer al usuario una opción de tipo Verdadero o Falso o Si o No. También lo puede utilizar en grupos para mostrar múltiples opciones.
  • 13. 13 Boton de opciones. Muestra una opción que se puede activar o desactivar, generalmente viene en grupos. Propiedades de los controles. STR() convierte de número a carácter y VAL() convierte de carácter a numérico. THISFORM (Referencia de objeto) Proporciona una referencia al formulario actual en el código de evento o en la definición de clase del formulario. Aplicación Nº 1 Codifique un programa que ingrese dos valores, y sacarle el IVA y el resultado total.
  • 15. 15 Procedimiento Salir CAPITULO II ESTRUCTURA DE CONTROL Ejecuta condicionalmente un grupo de instrucciones, dependiendo el valor de una expresión Se clasifican:
  • 16. 16 SENTENCIAS DE CONTROL DE FLUJO: If…Then…EndIf: La estructura If comprueba una condición especifica y, si es verdadera, ejecuta las sentencias que le siguen. La estructura If puede tener o una sola línea, o varias líneas. Para ejecutar una sentencia condicional se usa la sintaxis de una sola línea: If condición Then sentencia Se evalúa la condición y, si es verdadera, ejecuta la sentencia que viene a continuación. Si la condición no es verdadera, continua con la sentencia siguiente de la estructura. La sintaxis de varias líneas: If condición Then sentencias EndIf If…Then…Else…EndIf: Una variación de la sentencia If …Then es la sentencia If… Then…Else … EndIf, que ejecuta un bloque de sentencias si la condición es verdadera, y otro bloque si es falsa. La sintaxis de la sentencia If … Then … Else EndIf es: If condición Then Bloque de sentencias 1
  • 17. 17 Else Bloque se sentencias 2 EndIf Visual FoxPro evalúa la condición y, si es verdadera, ejecuta el primer bloque de sentencias y luego salta a las sentencias que hay después de EndIf. Si la condición es falsa, Visual FoxPro ignora el primer bloque de sentencias y ejecuta las que hay a continuación de la palabra clave Else. Otra variación de la sentencia If … Then … Else usa varias condiciones con la palabra clave ElseIf: If condición 1 Then Bloque de sentencias 1 Else If condición 2 Then Bloque se sentencias 2 Else If condición 3 Then Bloque se sentencias 3 Else Bloque se sentencias 4 End If Podemos poner cualquier número de cláusulas desde arriba y, si una de ellas es verdadera, se ejecuta el bloque de sentencias correspondiente. La cláusula Else se ejecutará si ninguna de las expresiones anteriores es verdadera. Ejemplo: If puntuación < 50 Then
  • 18. 18 Resultado = “No admitido” Else If puntuación < 75 Then Resultado = “Pasable” Else If puntuación > 90 Then Resultado = “Muy bueno” Else Resultado = “Excelente” EndIf ESTRUCTURAS IF … THEN MÚLTIPLES: Observamos que una vez que se ha encontrado una condición verdadera, Visual FoxPro ejecuta las sentencias asociadas, salta el resto de las cláusulas y continua con la ejecución del programa con las sentencias que hay después de EndIf. Por esta razón podemos usar la siguiente estructura, más complicada, de varias sentencias If simples: If puntuación < 50 Then Resultado= “No admitido” EndIf If puntuación < 75 And puntuación >= 50 Then Resultado= “Pasable” EndIf If puntuación < 90 And puntuación >= 75 Then Resultado= “Muy bueno” EndIf
  • 19. 19 If puntuación > 90 Then Resultado= “Excelente” EndIf DO CASE: La estructura Do Case compara la misma expresión con diferentes valores. La ventaja de esta sentencia sobre If … Then múltiples hace que el código sea más fácil de leer y mantener. La estructura Do Case comprueba una sola expresión, que se evalúa una sola vez al principio de la estructura. El resultado de esta comprobación se compara con varios valores y, si coincide con uno de ellos, se ejecuta el bloque de sentencias correspondiente. Sintaxis: Do Case Case <Condición 1> Bloque de sentencias 1 Case <Condición 2> Bloque de sentencias 2 . . . EndCase Ejemplo: Opc=this.value
  • 20. 20 Do Case Case opc=1 NombreDía= “Lunes” Mensaje= “Feliz semana” Case opc=6 NombreDía= “Sábado” Mensaje= “Feliz fin de semana” Case opc=7 NombreDía= “Domingo” Mensaje= “ ¿Has tenido un buen fin de semana” EndCase La variable opc que se evalúa al principio de la sentencia, es el número de día de la semana. Después se compara el valor de la expresión con los valores que tiene cada palabra clave Case. Si coincide, se ejecuta el bloque de sentencias que viene a continuación, y después salta el programa a la sentencia siguiente al EndCase. SENTENCIAS DE CONTROL DE BUCLE: DO WHILE… ENDDO: Ejecuta un bloque de sentencias mientras la condición sea verdadera. Visual FoxPro evalúa la expresión y, si la expresión es
  • 21. 21 falsa, el programa continúa con las sentencias que van después del bucle. Para ejecutar un bloque sentencias mientras la condición sea verdadera, se usa la siguiente sintaxis: Do While condición Bloque de sentencias Enddo El bucle Do se repite todas las veces que sea necesario siempre que la condición sea verdadera (o distinta de cero si la condición evalúa un número). FOR … ENDFOR/NEXT: El bucle For … Next es una de las estructuras de bucle más antiguas dentro de los lenguajes de programación. A diferencia del bucle Do, el bucle For … Next requiere que se conozca el número de veces que se van a ejecutar las sentencias del bucle. Este bucle es una variable (llamada el contador del bucle) que incrementa o disminuye su valor durante cada repetición del bucle. Su sintaxis es: For contador = principio To final [Step incremento] Sentencias Next/EndFor [contador] (las palabras entre corchetes son opcionales). Los argumentos contador, principio, final e incremento son todos numéricos. El bucle se ejecuta hasta que el contador llegue (o exceda) el valor final.
  • 22. 22 Cuando ejecuta un bucle For … Next, Visual FoxPro hace lo siguiente: 1. Pone contador con el valor de principio. 2. Comprueba si contador es mayor que final. Si lo es, sale del bucle. Si incremento es negativo, Visual FoxPro comprueba si contador es menor que final, en cuyo caso sale de bucle. 3. Ejecuta el bloque de sentencias. 4. Incrementa contador con el valor de incremento. Si no se ha especificado incremento, el contador se incrementa en 1. 5. Repite las sentencias. La parte más importante a tener en cuenta cuando se trabaja con bucle For Next/EndFor es que el contador del bucle se establece al principio del bucle. Si cambiamos el valor de la variable final mediante una sentencia dentro del bucle, no se detecta el cambio y se ejecuta como si no se hubiera producido. WITH ... ENDWITH: Especifica múltiples propiedades para un objeto. Sintaxis WITH NombreObjeto [Instrucciones] ENDWITH NombreObjeto: Especifica el nombre del objeto. NombreObjeto puede ser el nombre del objeto o una referencia a éste. Ejemplo With Thisform
  • 23. 23 Instrucciones: Instrucciones puede constar de cualquier número de comandos de Visual FoxPro empleados para especificar propiedades para NombreObjeto. Sitúe un punto delante de Instrucción para indicar que es una propiedad de NombreObjeto. Propiedad o palabra clave Referencia ActiveControl El control del formulario activo actualmente que tiene el enfoque ActiveForm El formulario activo actualmente ActivePage La página activa del formulario activo actualmente Parent El contenedor más inmediato del objeto THIS El objeto, o un procedimiento o evento del objeto THISFORM El formulario que contiene el objeto THISFORMSET El conjunto de formularios que contiene el objeto THISFORM: Proporciona una referencia a un Form antes de crearlo. Sintaxis: THISFORM.NombrePropiedad | NombreObjeto Argumentos: NombrePropiedad: Especifica una propiedad para el Form. NombreObjeto: Especifica un objeto del Form.
  • 24. 24 Comentarios: THISFORM proporciona, dentro de un método, una referencia al Form en el que está situado un objeto o a la propiedad de un Form. THISFORM permite hacer referencia a un objeto o una propiedad del formulario sin utilizar múltiples propiedades Parent. THIS: Proporciona una referencia a un objeto antes de crearlo. Sintaxis: THIS.NombrePropiedad | NombreObjeto Argumentos: NombrePropiedad: Especifica una propiedad para la clase. NombreObjeto: Especifica un objeto de la clase. Comentarios: THIS permite hacer referencia a una propiedad o un objeto de una definición de clase. Los métodos de un bloque de definición de clase pueden utilizar THIS para especificar una propiedad o un objeto que existirá cuando se cree la clase. Puesto que múltiples instancias de objetos comparten el mismo código de método, THIS siempre hace referencia a la instancia en la que está ejecutándose el código. Si hay múltiples instancias de un objeto, y se llama a uno de los métodos del objeto, THIS hace referencia al objeto correcto. THISFORMSET: Proporciona una referencia a un FormSet antes de crearlo. Sintaxis:
  • 25. 25 THISFORMSET.NombrePropiedad | NombreObjeto Argumentos: NombrePropiedad: Especifica una propiedad para el FormSet. NombreObjeto: Especifica un objeto del FormSet. Comentarios: THISFORMSET proporciona, dentro de un método, una referencia al FormSet en el que está situado un objeto o a la propiedad de un FormSet. THISFORMSET permite hacer referencia a un objeto o una propiedad del FormSet sin utilizar múltiples propiedades Parent. RELEASE: Permite que los usuarios cierren el formulario activo haciendo doble clic en el cuadro de control o eligiendo Cerrar en el menú Control del formulario. También puede permitir que un usuario cierre y libere un formulario incluyendo el comando siguiente en el código de evento Click de un control, como un botón de comando con el título "Salir": RELEASE THISFORM CREATE: Nos permite crear formularios, tablas, base de datos, menús, informes, etc. Ejemplo: Create Form “C:Mis documentosRenéejemplo1.scx”. DO FORM: Ejecuta un Form o FormSet compilado que se ha creado con el Generador de formularios. MODIFY FORM: Abre el Generador de formularios para que pueda modificar o crear uno.
  • 26. 26 USE: Abre o cierra una Tabla. Ejemplo: Use Articulo.Dbf↵ (Abre la tabla Articulo.dbf). Use↵ Cierra una tabla en uso. GO TOP: Ubica el puntero de registro en el primer registro. GO BOTTOM: Ubica el puntero de registro en el último registro. SKIP: Avanza o retrocede el puntero de registro. Skip +1↵ (Avanza). Skip –1 (Retrocede). APPEND: Adiciona o añade más registro a una tabla abierta. LIST: Realiza un listado de todos los registros de una tabla abierta. BROWSE: Abre la ventana examinar para modificar el contenido de todos los registro de una tabla abierta. REPORT FORM: Muestra o imprime un informe bajo el control de un archivo de definición de informe creado con MODIFY REPORT o CREATE REPORT. Mensaje del Sistema. MenssageBox().- despliega un mensaje en un cuadro de dialogo y espera que el usuario selecciona un botón. Sintaxis: Variable= MessageBox (mensaje,tipo,titulo) Mensaje: es una expresión de cadena que se despliega como el mensaje en un cuadro de dialogo.
  • 27. 27 Tipo: Expresión numérica que es la suma de valores que especifican la cantidad y el tipo de botones para desplegar. DO WHILE – ENDDO Repite un bloque de instrucciones cuando una condición es true o hasta que una condición se convierta en true Sintaxis Do while condición Sentencia Loop Enddo Aplicación Nº 2 Este ejercicio consiste en elaborar un formulario que simule el funcionamiento de un reloj despertador digital. La aplicación debe permitir al usuario ingresar la hora a la que desea ser avisado. El diseño de la interfaz debe ser similar a la figura siguiente:
  • 28. 28 Para el desarrollo de esta aplicación proceder a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto 1 cronómetro 2 botones de comandos En seguida establezca las propiedades según se indica a continuación: Form1 Name FrmReloj Caption Reloj despertador digital MaxButton .F.-Falso MinButton .F.-Falso Label1 Name LblHora Caption Hora Label2 Name LblDespertador Caption Despertador Text1
  • 29. 29 Name TxtHora FontBold .T.-Verdadero FontSize 24 Text2 Name TxtDespertador FontBold .T.-Verdadero FontSize 24 Timer1 Name Timer1 Enabled .T.-Verdadero Interval 500 Command1 Name CmdOnOff Caption <Desactivar Default .T.-Verdadero Command2 Name CmdTerminar Cancel .T.-Verdadero Caption <Terminar Una vez establecidas las propiedades, proceda a ingresar el código que se muestra: Objeto: FrmReloj Procedimiento: Load Public lOnOff Objeto: FrmReloj Procedimiento: Init lOnOff = .F. Thisform.TxtDespertador.Value = "00:00:00"
  • 30. 30 Thisform.Refresh Objeto: Timer1 Procedimiento: Timer If Thisform.TxtHora.Value != Time() Then Thisform.TxtHora.Value = Time() EndIf If (Thisform.TxtDespertador.Value < Time()) And lOnOff Then * Sonido acústico ?Chr(7) EndIf Thisform.Refresh Objeto: CmdOnOff Procedimiento: Click If lOnOff Then lOnOff = .F. Thisform.CmdOnOff.Caption = "<Activar" Else lOnOff = .T. Thisform.CmdOnOff.Caption = "<Desactivar" EndIf Thisform.Refresh Objeto: CmdTerminar Procedimiento: Click Release Thisform
  • 31. 31 CAPITULO III QUE ES UNA BASE DE DATOS Una Base de Datos es un conjunto de datos organizado de forma tal, que se presenta al usuario como si fuera una o un conjunto de matrices bidimensionales (tablas). Cada fila de una matriz es un registro, el cual contiene información sobre una unidad de la base de datos y le asigna un número para poder manejarlo. Cada columna contiene los diversos campos de ese registro. Por ejemplo : en una tabla de publicaciones, cada fila contendrá información sobre una publicación determinado, y la fila estará dividida en campos (columnas), como el código de publicación, nombre de la publicación, fecha, tiraje, responsable, etc... Para abrir una base de datos haz click en archivo, nuevo selecciona base de datos (Database), y aparecerá la ventana de Generador de base de datos. En este tu construirás las tablas visualmente, creas etiquetas de índice, establece relaciones entre tablas y proporciona otros componentes que ayudan en el proceso de diseño de una aplicación. En el Generador de bases de datos
  • 32. 32 haz clic en cualquier lugar de la ventana, se desplegará un menú contextual que contiene las opciones siguientes: -Expandir (Expand) - Contraer todos (Collapse all) - Nueva tabla (New table) - Nueva vista remota (* New remote view ) - Nueva vista local (*New local view) - Agregar tabla (Add table) - Procedimientos almacenados (Stored procedures) - Integridad referencial (integrity referential) - Ayuda Tablas Tipos de datos Visual Fox Pro puede manejar diversos tipos de campos (tal como muestra la figura) . Entre los más importantes están: Carácter : Campo de caracteres : Almacena cadenas o conjuntos de caracteres. Un campo de caracteres permite almacenar tanto letras, como números o caracteres especiales. Monetario: Campo de Valores Monetarios: Almacena cantidades en valor monetario, Ejemplo: $55, S/.675,438.
  • 33. 33 Numérico: Campo numéricos : Almacenan cantidades y se puede hacer cálculos con ellos. Estos campos sólo admiten número y el punto decimal (la coma decimal si tiene formato español). Máxima extensión, 20 caracteres. Flotante : Campo de números reales : Almacenan números en el rango del conjunto de números reales. Fecha : Campo fecha : Permite almacenar fechas. La información la guarda en la forma AAAAMMDD, con 8 caracteres. El formato por defecto para introducir fechas en Visual Fox Pro es MM/DD/AA (Mes/Día/Año). Lógico : Campo lógico : Almacenan un tipo especial de información, sólo permiten almacenar verdadero o falso y acepta sólo los caracteres : T (verdadero) o F (falso). Memo : Campo Memo : Permite almacenar textos largos, como una descripción o un breve resumen. Estructura de un .BDF Los datos en FoxPro se almacenan en forma de tablas, estas tablas son las bases de datos pues la extensión de estas bases de datos es .DBF aunque también hay otras que se verá más adelante. Los DBF comienzan con una breve descripción de los datos que están en la tabla. RELACIONES ENTRE TABLAS: Las relaciones mas comunes entre tablas se definen: De uno a uno: Ejemplo de una llave primaria a otra llave primaria De uno a muchos: Ejemplo de una llave primaria a una Regular o Foránea.
  • 34. 34 Las relaciones entre tablas se crean arrastrando la llave de la tabla a la llave de otra tabla. Aplicación Nº 3 En este ejercicio vamos a crear un formulario para calcular la edad de una persona a partir de su fecha de nacimiento. Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario: 2 etiquetas 2 cajas de texto 3 botones de comando Luego, proceda a establecer las propiedades según se indica a continuación: Form1 Name FrmEdad Caption MaxButton .F.-Falso MinButton .F.-Falso
  • 35. 35 Label1 Name LblFecNac Caption Fecha de nacimiento: Label2 Name LblEdad Caption Su edad es: Text1 Name TxtFecNac Enabled .T.-Verdadero Text2 Name TxtEdad Enabled .F.-Falso Command1 Name CmdAceptar Caption <Aceptar Command2 Name CmdLimpiar Caption <Limpiar Command3 Name CmdSalir Caption <Salir Luego de establecidas las propiedades de los controles, proceda a ingresar el siguiente código: Objeto: FrmEdad Procedimiento: Load Set Date French
  • 36. 36 Set Century On Objeto: FrmEdad Procedimiento: Init cNomDia = Cdow(Date()) cDia = Str(Day(Date()), 2) cMes = Cmonth(Date()) cAnno = Str(Year(Date()), 4) cFecha = cNomDia + " " + cDia + " de " + cMes + " del " + cAnno Thisform.Caption = cFecha Thisform.TxtFecNac.Setfocus Thisform.Refresh Objeto: CmdAceptar Procedimiento: Click dFecNac = Ctod(Thisform.TxtFecNac.Value) nEdad = Int ((Date() - dFecNac) / 365) Thisform.TxtEdad.Value = Str(nEdad) + " años" Thisform.Refresh Objeto: CmdLimpiar Procedimiento: Click Thisform.TxtFecNac.Value = "" Thisform.TxtEdad.Value = "" Thisform.TxtFecNac.Setfocus Thisform.Refresh Objeto: CmdSalir Procedimiento: Click Release Thisform Aplicación Nº 3.1
  • 37. 37 Este ejercicio consiste en elaborar una aplicación que acepte fechas como tres números (dd, mm, aaaa) y las visualice del modo usual. A manera de ejemplo considere lo siguiente: Cuando el usuario haga click en el botón Salir o en el botón Cerrar de la barra de título del formulario, se debe confirmar si desea terminar la aplicación, tal como se observa en la figura siguiente: En caso de que el usuario elija la opción Si, la aplicación debe terminar. Caso contrario, es decir si el usuario elige la opción No, se debe proseguir con la aplicación. Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario: 4 etiquetas 3 controles numéricos 1 caja de texto 3 botones de comando En seguida proceda a establecer las propiedades según se indica: Form1
  • 38. 38 Name FrmFecha Caption Fecha en letras MaxButton .F.-Falso MinButton .F.-Falso Label1 Name LblDia AutoSize .T.-Verdadero Caption Día: Label2 Name LblMes AutoSize .T.-Verdadero Caption Mes: Label3 Name LblAnno AutoSize .T.-Verdadero Caption Año: Label4 Name LblEnLetras AutoSize .T.-Verdadero Caption En letras: Spinner1 Name SpnDia SpinnerHighValue 31 SpinnerLowValue 1 Spinner2 Name SpnMes
  • 39. 39 SpinnerHighValue 12 SpinnerLowValue 1 Spinner3 Name SpnAnno SpinnerHighValue 9999 SpinnerLowValue 0 Text1 Name TxtEnLetras Alignment 2-Centro Command1 Name CmdAceptar Caption <Aceptar Default .T.-Verdadero Command2 Name CmdLimpiar Caption <Limpiar Command3 Name CmdSalir Cancel .T.-Verdadero Caption <Salir Una vez establecidas las propiedades proceda a ingresar el código que se indica a continuación: Objeto: FrmFecha Procedimiento: Load Set Date French Set Century On
  • 40. 40 Objeto: FrmFecha Procedimiento: QueryUnload #DEFINE vfpYesNo 4 #DEFINE vfpYes 6 #DEFINE vfpQuestion 32 If MessageBox("¿Desea terminar la aplicación?", ; vfpQuestion + vfpYesNo, "Pregunta") = vfpYes Then Release Thisform Else NoDefault EndIf Objeto: CmdAceptar Procedimiento: Click cBarra = "/" cFecha = Thisform.SpnDia.Text + cBarra + Thisform.SpnMes.Text ; + cBarra + Thisform.SpnAnno.Text dFecha = Ctod(cFecha) cNomDia = Cdow(dFecha) cDia = Str(Day(dFecha), 2) cMes = Cmonth(dFecha) cAnno = Str(Year(dFecha), 4) cFecha = cNomDia + " " + cDia + " de " + cMes + " de " + cAnno Thisform.TxtEnLetras.Value = cFecha Thisform.Refresh Objeto: CmdLimpiar Procedimiento: Click Thisform.SpnDia.Value = 0 Thisform.SpnMes.Value = 0
  • 41. 41 Thisform.SpnAnno.Value = 0 Thisform.TxtEnLetras.Value = "" Thisform.SpnDia.Setfocus Thisform.Refresh Objeto: CmdSalir Procedimiento: Click Thisform.QueryUnload
  • 42. 42 CAPITULO IV Tipos de Menús: Existen dos tipos de menús : menú y Shortcut.
  • 43. 43 Creación de Menús: La creación de menús es un proceso que conlleva diferentes pasos. Primero, debemos definir las opciones del menú y de los submenús. Luego, asignar funcionalidad a las opciones de menú. Finalmente, generar el programa de menús. Puede usar el generador de menús de Visual Foxpro para que le ayude a construir menús rápidamente. El Generador de menús le permite definir la estructura y funcionalidad de su sistema de menús a través de cuadros de diálogo de fácil uso y de listas desplegables que puede utilizar para crear y modificar su sitema de menús. Definición de las opciones de menú. Los menús presentan su aspecto con una lista de opciones para iniciar una actividad. La mayoría de los elementos de menú muestran submenús u opciones adicionales cuando el usuario selecciona uno de estos elementos. Antes de generar un menú para una aplicación, tendrá que determinar que selecciones tendrá disponibles el usuario final y qué opciones de menús pertenecen a otras opciones de menús (sub menus). Cómo crear un nuevo menú 1. Pulse la ficha de otros en el Administrador de proyectos. 2. Seleccione menús en la lista de categorías 3. Pulse el botón nuevo y escoja si es Menu o un Shortcut 4. Introduzca las opciones del menu y luego el resultado del menú ( submenu, comando o procedimiento) 5. A la derecha del resultado se encuentra la opción crear o modificar según el caso. ( crea o modificar los resultados de la opción del menu).
  • 44. 44 Tipos de Resultados : Submenu : Si el menú contiene un submenu Comando : Si la opción de ese menú invoca un comando (Ejemplo: DO FORM Regiones, para llamar un formulario; CLEAR EVENT, por lo general va en la opción Salir) Procedimiento : Si la opción de ese menú invoca varias líneas de comandos ( un procedimiento). Opciones de Menú: En las opciones del menú se especifican: - Teclas de Acceso directo - Mensajes del menú - Condición de habilita/No habilitar Generación del menú : 1. En el menú escoja la opción Menú. 2. Se le pregunta si desea grabar los cambios ( responda que si) 3. Luego se le pide que proporcione el archivo de salida del menu ( escoja la ruta y el nombre del archivo, por lo general son extension MPR) y luego seleccione generar. 4. Si existe ya el archivo se le pide si desea re-escribirlo ( seleccione que si)
  • 45. 45 Como invocar al menú creado: Al generar el menú se crea un archivo que por lo general tiene extensión MPR que contiene el código para desplegar el menú. La instrucción sería: DO ruta y nombre del archivo MPR Ejemplo : DO menu.MPR · Para volver a re establecer el menú por default de Visual Foxpro utilice la instrucción: SET SYSMENU TO DEFAULT Creación del Ejecutable de la Aplicación. Primero se tiene que crear un programa de inicio, al cual se le tiene que decir que ese es el programa que se ejecutara de primero ( esto se hace haciendo clic derecho en el programa que designemos como principal y escoger la opción main ( principal) del menú de opciones) Contenido Ejemplo del programa principal: CLEAR ALL * Variables Publicas PUBLIC w_Output, g_año, gid_area, g_nivel, g_cambio, g_login_entry ;
  • 46. 46 ,g_pass_entry, V_MENU_PRE, V_ERROR, g_acceso * Definicion de Ventana para los Reportes DEFINE WINDOW w_Output ; FROM 0,0 TO 25,70 ; TITLE 'Informes - BCN' ; CLOSE FLOAT GROW ZOOM SYSTEM * Ambiente SET SYSMENU TO SET ECHO OFF SET TALK OFF SET CENTURY ON SET CLOCK STATUS SET DATE brit SET DELETE ON SET PATH TO formenu,bmp,prg,data SET EXCLUSIVE OFF SET SAFETY OFF SET REFRESH TO 5 SET REPROCESS TO AUTOMATIC SET MULTILOCK ON SET LOCK OFF SET PROCEDURE TO .prgutility * Fondo de la Pantalla principal _SCREEN.Picture=".bmpfondo.bmp" _SCREEN.WINDOWSTATE=2 _SCREEN.CLOSABLE=.F.
  • 47. 47 _SCREEN.CAPTION="Formulación Presupuestaria" * Base de Datos OPEN DATA .SCOTTscott SHARED * Llamada al Menu DO .menumenu.mpr READ EVENT CLEAR ALL SET SYSMENU TO DEFAULT
  • 48. 48 CAPITULO V Para ejecutable Crear nuevo proyecto 1.- menú archivo 2. nuevo 3.- Seleccionar proyecto como indica la imagen 4.- clic en nuevo archivo 5.- guardar proyecto en la dirección deseada y el nombre deseado 6.- clic en documentos y luego agregar
  • 49. 49 7.- buscar los formularios que desee agregar al proyecto 8.- clic en código y luego nuevo 9.- escriba o pegue el siguiente código clear all set exclusive off set sysmenu to set echo off set talk off Set Status Bar Off _screen.windowstate=2 clear * en la line siguiente va la ruta y el nombre del formulario principal do form c:israelnombre_formulario.scx read event clear all 10.- clic en el signo + (MAS) si no se ve el nombre del programa en el proyecto
  • 50. 50 11.- clic derecho en el nombre del programa y estableces principal 12.- clic en general y generar ejecutable 13.- acepta y guardar en la ruta correspondiente NOTA: Copie los archivos .dll en el lugar donde se encuentre el ejecutable Y LISTO Aplicación Nº 4 Base de datos Pizzería Realizar las siguientes tablas para la base de datos Pizzería
  • 51. 51 Para llevar a cabo la Practica Realiza los Siguientes pasos: 1. Crea un nuevo Proyecto con el nombre Pizza 2. en el administrador de proyectos en la Ficha Datos, Selecciona la opción Databases, y después la opcion Nuevo, para crear la base de datos con el nombre Pizzería. 3. En el diseñador de Base de datos da un clic en la opción Nueva tabla. y haz lo sig; 4. Guarda esta tabla con el nombre de Pizza 5. Ahora deberas crear otra tabla nueva con los siguientes campos.
  • 52. 52 6. Guarda esta tabla con el nombre de tamaños. 7. Ahora deberas crear una tercera tabla con los datos siguientes: 8. Guarda esta tabla con el nombre de Venta. 9. por ultimo deberás crear otra tabla como sigue:
  • 53. 53 10. Esta tabla la guardas con el nombre factura 11. Crea las relaciones entre las tablas de tal form que te queden de la siguiente manera: 12. Ahora debemos introducir los datos a las tablas, comenzaremos por la tabla Pizza y la llenaremos como sigue:
  • 54. 54 Clave_Pizza Nombre an Anchoas pe Peperoni ha Hawaiana sa salami 13. seguimos con la tabla Tamaño Clave_tamaño Tamaño ch Chica me Mediana gr Grande 14. Y Continuamos con la tabla Venta Clave_Pizza Clave_Tamaño Precio an ch $ 20.00 an me $ 25.00 an gr $ 30.00 pe ch $ 60.00 pe me $ 65.00 pe gr $ 80.00 ha ch $ 55.00 ha me $ 60.00 ha gr $ 68.00 sa ch $ 63.00 sa me $ 87.00 sa gr $ 98.00 15. ahora crearemos una tabla a partir de una consulta, en la ventana explorador de proyectos en la pestaña datos selecciona consulta y después nuevo 16. Visual Fox te preguntara que tablas quieres agregar para la realización de tu consulta, para eso tu debes agregar las siguientes tablas: Tamaña, Venta y Pizza. 17. una vez con las tablas agregadas, en la ventana diseñador de consultas en la ficha campos, debemos escoger cuales son los campos que nosotros queremos que nos muestre la consulta, pues bien vamos a seleccionar los siguientes: Pizza.nombre, tamaño.tamaño, Venta.Precio, por ultimo agregaremos una expresión como campo para esto en la misma ventana busca la opción funciones y expresiones y aparecerá la ventana siguiente:
  • 55. 55 18. Cuando esta ventana aparezca lo primero que debemos de hacer es seleccionr de la parte funciones Cadena, la opción “texto”, Luego en la parte de abajo donde dice Desde tabla Selecciona la tabla Pizza, en el cuadro campos apareceran los campos de la tabla pizza de ese cuadro da doble clic al campo clave_pizza, una vez esto hecho en el cuadro expresión deberá de aparecer el siguiente texto: “Pizza.cleve.pizza”, una ves con esto ve otra vez a la lista Cadena y ahora selecciona el símbolo +, el símbolo aparecera dentro de las comillas, salte de las comillas y pon un guion(-), la expresión deberá quedar: “Pizza.cleve.pizza+”-, ahora con lo que ya vimos has que la expresión final quede de la siguiente forma, recuerda que para sacar los campo de Tamaño primero debes seleccionar la tabla tamaño de Desde tabla.
  • 56. 56 19. Una vez que tengas la Expresión da un clic al botón aceptar y después un clic en Agregar. Te debera quedar como en la pantalla siguiente: 20. Ahora da un clic al boton Destino de consulta y Selecciona tabla 21. en el recuadro donde dice Nombre de la tabla le ponemos un nombre que en este caso será consulta1.dbf. y un clic al botón Aceptar. 22. Después de eso Cierro la ventana de Diseñador de consultas, y ebn el explorador de proyectos selecciono la consulta que acabo de crear y la ejecuto. 23. después de este paso en el explorador de proyectos selecciono tablas en la ficha datos y doy un clic a Agregar, busco la tabla consulta1, que es la que se genero con la consulta y la agrego a mi base de datos.
  • 57. 57 24. Una vez ya agregada la relaciono con la tabla Factura, de tal manera que me quede de la siguiente manera: 25. Ahora si todo esta listo para que tu generes tus Formularios y tus informes de tu base de datos, recuerda que puedes hacer tambien consultas por medio de la tabla factura para ver cuales fueron las ventas que has tenido.