martes, 1 de junio de 2010
Imagenes del Programa
Programa de Calcular edades
*USE Tablas\Edades IN 0
*Llamada desde el Prg de Inicio.
GO TOP
Repla All Cumplen_anos With ""
SCAN
Fec1=Fecha_Nac
Fec2=Date()
valor1=Day(Date())
Valor2=Month(Date())
Valor3=Year(Date())
Dif=Fec2-Fec1
sumar = INT(Dif/1461)
Var1=Dif/365 &&Con decimales
Anos=INT(Var1) &&Entero, indicará los años.
Var1=Var1-Anos &&Tomando el resíduo decimal.
Var1=Var1*12 &&Calculando los meses
Meses=INT(Var1) && El Entero
Var1=(Var1-Meses)*30
Dias=INT(Var1)-Sumar
*Comprueba se la persona cumple años al momento de ejecutarse la rutina.
IF Day(Fecha_Nac)= Valor1 and Month(Fecha_Nac)=Valor2
Dias=0
Meses=0
ENDIF
Xl=ALLTRIM(STR(Anos))+" Años, "+ALLTRIM(STR(Meses))+" Meses y,"+ALLTRIM(STR(Dias))+" Días."
Repla Edad_Exacta With Xl
Repla vAnos With Anos
Repla vMeses With Meses
Repla vDias With Dias
ENDSCAN
go top
SCAN
SELECT Edades
REPLA Cumplen_anos WITH Nombre FOR Day(Fecha_Nac)=Valor1 and Month(Fecha_nac)=Valor2
SELECT Edades
ENDSCAN
CLOSE TABLES
*SELECT Edades
*GO TOP
************
*go top
*SCAN
* SELECT Edades
* REPLA Articulos_Vencidos WITH Nombre FOR Day(Fecha_Nac)=Valor1-1 and Month(Fecha_nac)=Valor2 and Year(Fecha_nac)=Valor3
* SELECT Edades
*ENDSCAN
*SELECT Edades
*GO TOP
************
*En la siguiente entrada, les mostraremos las respectivas imagenes de la ejecucion del programa.
miércoles, 17 de marzo de 2010
Manual de Visual FoxPro - Capitulo 5
CAPITULO V
Creación de Menú
Para la creación de un menú, seguir los siguientes pasos:
1.- En el administrador de proyectos, seleccionar la carilla Otros, y a continuación seleccionar Nuevo.
2.-Elegir Menú y a continuación aparecerá el diseñador de menú.
Los Diseñadores de menús y menús emergentes constan de:
Indicador: permite especificar los títulos de menú y los elementos de menú de su sistema de menús.
Control Mover: Este es el botón con la flecha de doble punta que aparece a la izquierda de la columna "Indicador". Permite una colocación visual de los elementos de menú en tiempo de diseño.
Acción: Le permite especificar la acción que ocurre cuando elige el título de menú o el elemento de menú. Por ejemplo, puede ejecutar un comando, abrir un submenú, o ejecutar un procedimiento.
Crear: Le permite especificar un submenú o procedimiento para un título de menú o elemento de menú.
Editar: Le permite cambiar un submenú o procedimiento asociado con un título de menú o elemento de menú.
Opciones: Muestra el cuadro de diálogo Opciones de la acción, en el cual puede definir el método abreviado de teclado y otras opciones de menú.
Nivel de menú Le permite elegir el menú o submenú con el que desea trabajar.
Las opciones del Sub menú Archivo, tipos de publicaciones son como siguen:
Para usar teclas rápidas en el campo indicador digitar \<>
Como se puede apreciar en el submenú del menú archivo se aprecia opciones del menú del sistema, para lograr esto hacer un click en la opción insertar barra del diseñador de menús y escoger la opción deseada.
Luego dar un click en insertar y el comando se colocará en el rubro acción del diseñador de menús
De la misma forma, insertar barra de sistema para la opción cerrar y salir del menú archivo, y las opciones del menú ayuda.
Para la creación del ejecutable de un proyecto - aplicación, es necesario seguir los siguientes pasos:
Establecer como principal el programa donde se ha invocado al menú y se ha escrito el resto de código. Para el ejemplo es el prog1.
Para establecer como principal a un programa, hacer un click derecho cuando el cursor este situado en él.
A continuación aparecerá un menú emergente con opciones, tal como muestra la figura.
Hacer click en establecer como principal y se marcara un check (-/).
Luego hacer un click en la opción «Generar» del Administrador de Archivos.
Antes de generar el ejecutable de una aplicación se debe primero « Volver a generar el proyecto ».
A continuación Generar la aplicación. (Por defecto toma el mismo nombre con extensión APP.
Luego de haber generado la aplicación y verificado que las opciones del proyecto estén correctas, se procederá a generar el ejecutable.
El ejecutable toma por defecto el mismo nombre de la aplicación, pero con extensión exe.
Para generar el ejecutable, dar un click en la opción «Generar» del Administrador de Proyectos y marcar la opción «Generar Ejecutable». A continuación se creará el ejecutable.
Manual de Visual FoxPro - Capitulo 4
1.-BASE DE DATOS
2.-COMO CREAR BASE DE DATOS.
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 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.
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.
Las relaciones entre tablas se crean arrastrando la llave de la tabla a la llave de otra tabla.
Como crear una base de datos
Antes de explicar como crear una base de datos, debe quedar claro que, los términos base de datos y tabla no son sinónimos en Visual Foxpro.
El término base de datos se refiere a un grupo de datos que almacena información sobre una o más tablas (archivos *.DBF).
Las bases de datos son archivos con extensión .DBC (DataBase Container) que guardan información acerca de todas las relaciones y arquitectura de construcción de Base de datos con tablas (archivos .DBF).
Para crear una Base de Datos seguir los siguientes pasos:
En la ventana de comandos escribir el comando CREATE DATABASE.A continuación aparecerá una ventana similar ala siguiente figura.
Luego, escribir el nombre
que se desea dar a la base
de datos. Por defecto, el
nombre es data1.dbc, pero
para el proyecto a realizar
se llamará Testdata.
A continuación, hacer click
en guardar y la base de
datos ya está creada y
activa.
Otra manera equivalente a usar el comando CREATE DATABASE es a través de la barra estándar de Visual Foxpro:
En esta opción, hacer un click en el icono "Nuevo".
Luego elegir Base de Datos y hacer un click en el botón New Archivo ( )
A continuación aparecerá una ventana solici- tando el nombre de la nueva base de datos.
Como ya se ha mencionado antes, el nombre de la base de datos que se usará en el proyec- to «Sistema de Publicaciones Informáticas» será "Testdata.dbc".
Finalmente, hacer click en guardar y la base de datos Testdata.dbc ya estará creada y activa.
Para crear una base de datos dentro de un proyecto, seguir los siguientes pasos:
En el Administrador de Proyectos, seleccionar la ficha Datos, luego "Bases de datos" y después "Nuevo".
Manual de Visual FoxPro - Capitulo 3
CAPITULO III
1.- BIFURCACIÓN
UNICA
DOBLE
MULTIPLE
2.-CICLOS
FOR
DO WHILE
ESTRUCTURA DE CONTROL
Ejecuta condicionalmente un grupo de instrucciones, dependiendo el valor de una expresión.
Se clasifican:
Bifurcación Única
Bifurcación Doble
Bifurcación Múltiple.
Bifurcación Única
Es cuando la condición solamente cumple acciones por un solo camino, sea falso o verdadero.
Sintaxis:
If <> Then
Sentencia 1
Sentencia 2
Endif
Bifurcación Doble.
Es cuando existen acciones a cumplir en caso que se cumpla la condición o no se cumpla.
Sintaxis:
If <> Then
Sentencia 1
Sentencia 2
Else
Sentencia 1
Sentencia 2
Endif
Bifurcación Múltiple
Ejecuta uno o varios grupos de instrucciones, dependiendo del valor de una expresión.
Sintaxis
Do case expresión
Case 1 expresión –n
Instrucciones –n
Case 2 expresión - n
Instrucciones -n
End case
FOR NEXT
Repite un grupo de instrucciones un número especificado de veces.
Sintaxis
For variable= expresion1 TO expresión 2
Sentencia
Exit For
Sentencia
Next variable
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
Ejemplo
Codifique un programa que permita ingresar una nota, si la nota es superior a 70 puntos la persona ingresa al colegio, caso contrario no ingresa.
Procedimiento calcular
Procedimiento Limpiar
Procedimiento salir
Manual de Visual FoxPro - Capitulo 2
CAPITULO II
ELEMENTOS DE UN PROGRAMA
1.- VARIABLES
2.-OPERADORES
3.-MENSAJE DEL SISTEMA
4.-APLICACIÓN.
1.-VARIABLES
Variables públicas
Las variables públicas, también conocido como variables globales son variables que se pueden utilizar y modificadas por cualquier programa de FoxPro y cualquiera de sus sub-programas para la duración de la sesión de FoxPro o hasta que se borra la variable de la memoria.
Las variables públicas se declaran en una de estas dos maneras:
1. Cree una variable en la ventana comando. Automáticamente cualquier variable creada en la ventana de comandos se ha declarado pública. Por ejemplo, desde la ventana comando, escriba 1000 = X. La variable X es ahora pública a todas las aplicaciones.
2. Dentro de un programa, declare una variable como pública mediante el comando PUBLIC. En todos los programas, debe declarar la variable como público antes de asignarle un valor, como en este ejemplo de código:
EJEMPLO
PUBLIC var1
var1=1000
Variables privadas
Variables privadas se declaran en programas o los procedimientos y pueden ser utilizadas y manipuladas dentro de ese programa o un procedimiento y cualquiera de sus sub-programas.
Se declaran variables privadas de tres maneras:
1. Crear una variable dentro de un programa o procedimiento sin declarar es como público. A continuación, la variable en privado para el programa o procedimiento en el que se declara.
Por ejemplo, en el programa MYPRG.PRG, declarar var2 como privado con este comando:
var2=2500
Ahora var2 se declara como privado para MYPRG.PRG. Está disponible para todos los procedimientos llamados por MYPRG.PRG.
2.-Incluir la variable en una instrucción PARAMETERS. Esto hace que automáticamente la variable sea privada para ese programa o el procedimiento.
3.-Utilice el comando PRIVATE en las variables declaradas anteriormente. Esto permite la variable declarada anteriormente y su contenido oculto. Se convierte en la nueva variable privada privada para el programa actual o el procedimiento. El comando PRIVATE no declara inicialmente nada, ya debe existir una variable PRIVATE para poder utilizar en él correctamente.
Variables ocultas
Variables no se puede declarar ocultas, pero pueden convertirse en ocultos variables que anteriormente se han declarado como Public o Private. Ocultando las variables creadas en programas superiores, puede habilitar las variables del mismo nombre para manipularse en el programa actual sin afectar a los valores de variables ocultas.
Una vez que el programa o procedimiento que contiene las variables privadas finaliza la ejecución, todas las variables de memoria y matrices que estaban ocultas posteriormente nuevo están disponibles.
Las variables están ocultas en una de estas dos maneras:
1. Si ya se ha declarado una variable, utilice el comando PRIVATE seguido del nombre de variable para ocultar la variable existente y crear una nueva variable PRIVATE.
2. Utilizar una variable del mismo nombre en una instrucción PARAMETERS. Si una variable declarada recientemente comparte el mismo nombre que declarado una variable anteriormente, se oculta la variable declarada previamente y se crea una nueva variable privada para el programa actual o el procedimiento.
Para comprobar el estado de una variable, utilice el comando Mostrar memoria. Mostrar memoria proporciona información sobre las variables definidas por el usuario--si están pública, privada o oculto, y dónde (qué programa o procedimiento) se hubieran declarado.
OPERADORES ARITMÉTICOS
SIMBOLO | FORMATO | SIGNIFICADO |
+ | C= A+B | SUMA |
- | C= A-B | RESTA |
X | C= A*B | MULTIPLICACION |
/ | C= A/B | DIVISION |
SQRT | C=SQRT(A) | RAIZ CUADRADA |
MOD | C=A MOD B | RESIDUO |
OPERADORES RELACIONALES
OPERADOR | FORMATO | SIGNIFICADO |
> | A > B | A MAYOR QUE B |
< | A <> | A MENOR QUE B |
>= | A >= B | A MAYOR O IGUAL QUE B |
<= | A <= B | A MENOR O IGUAL QUE B |
<> | A <> B | A DISTINTO QUE B |
= | A = B | A IGUAL QUE B |
OPERADORES LOGICOS
OPERADOR | FORMATO | SIGNIFICADO |
NOT | NOT A | NEGACION DE A |
AND | A AND B | QUE SE CUMPLA A Y B |
OR | A OR B | QUE SE CUMPLA A O B |
MessageBox(), Despliega un mensaje en un cuadro de diálogo y espera que el usuario seleccione un botón.
Sintaxis:
Variable= MessageBox(Mensaje,tipo,título)
Mensaje: Es una expresión de cadena que despliega como el mensaje en un cuadro de dialogo.
Tipo: Expresión numérica que es la suma de valores que especifican la cantidad y el tipo de botones por desplegar.
Titulo: Expresión de cadena que aparece en la barra de titulo del cuadro.
Ejemplo:
X= MessageBox (“No escribió nada”,16,”Error”)
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:
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
| 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 | \ |
| Default | .T.-Verdadero |
Command2
| Name | CmdTerminar |
| Cancel | .T.-Verdadero |
| Caption | \ |
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"
Thisform.Refresh
Objeto: Timer1 | Procedimiento: Timer |
If Thisform.TxtHora.Value != Time() Then
Thisform.TxtHora.Value = Time()
EndIf
If (Thisform.TxtDespertador.Value <>
Objeto: CmdOnOff | Procedimiento: Click |
If lOnOff Then
lOnOff = .F.
Thisform.CmdOnOff.Caption = "\
Objeto: CmdTerminar | Procedimiento: Click |
Release Thisform