Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
Visual Foxpro es uno de los gestores de Bases de Datos relacionales ms rpido y flexible del mercado, disponiendo de un complejo entorno de desarrollo totalmente orientado al objeto y altamente integrado en el sistema operativo Windows 95. Como cualquier otra aplicacin Windows estndar, Visual Foxpro soporta interfaces MDI, barras de herramientas, ayuda sensible al contexto, mltiples fuentes, acceso a bibliotecas de enlace dinmico (DLL), etc. Aparte del acceso a tablas en formato nativo de Visual FoxPro, se puede acceder virtualmente a cualquier fuente de datos cuyo acceso se pueda hacer atravs de ODBC (Open Database Connectivity). Este estndar, definido como Conectividad Abierta de Bases de Datos, permite abrir y consultar diversas bases de datos a travs de un conjunto de controladores, utilizando SQL como lenguaje de consulta. Con el advenimiento de Visual Fox, los desarrolladores de aplicaciones tienen acceso a multitud de eventos y opciones que los programadores de Visual Basic y Visual C tuvieron durante aos. Se elimina la necesidad del uso del READ y su confusa nidificacin (Fundational read). Se aprovechan algunas de las innovaciones que incorpor el Visual Basic, que tuvo liderazgo en simplificaciones tales que le dieron alcance masivo a la programacin. En esta clase examinaremos, entre otras cosas, qu son los formularios, eventos y controles, y cmo se usan
D - A la hora de dar nombre a una funcin variable seguiremos la siguiente regla: Tipo Categora Accin [SubAccin] Ejemplo: lPrtStRdy () Tipo --> l, pues devuelve un valor tipo lgico. Categora --> Prt, del ingls Printer (mipresora) Accin --> St = Status o Estado SubAccin --> Rdy (ready) Lista A simple vista, al examinar el cdigo, se ve que se trata de una funcin que retorna un valor lgico (verdadero o falso,.T. o .F.) dicindonos si la impresora est lista para operar.
Por omisin deja todo esto (documentacin y audiovisuales para su uso desde el CD para economizar espacio, pero puede copiarlos al disco rgido s desea acceso ms rpido y no tiene problemas de espacio en disco. Equipo Mnimo: Un PC compatible con IBM con Windows 95 / 98, aunque funciona con un procesador 486 a 50MHz se recomienda algo superior (tpicamente Pentium 166 /200 Mhz con 32 MG RAM). Un mouse o ratn. Se recomienda un monitor VGA o de mayor resolucin, preferiblemente color.
3.- Aprendizaje
Vea en men de Ayuda, (ALT + U, D), "Documentacin" que pone en pantalla a todos los manuales. Podra empezar por ej. por la Gua de Instalacin, Manual del Usuario, "Manual del Programador", Referencia del Lenguaje, etc.. Ms adelante podr usar ese mismo men de Ayuda - Aplicaciones Ejemplo. Y estudiar los casos tpicos que all se explican.
4.- Ayuda
Vea en la Ayuda, (ALT + U), Temas de ayuda, y tambin aplicaciones de ejemplo que se pueden ejecutar y estudiar, Microsoft en la Web (Si tiene Internet), Soporte tcnico, etc. Tambin est la ayuda sensible al contexto (F1), el ndice temtico, y la opcin Buscar. En la ayuda se puede imprimir, seleccionar, copiar, y luego pegar en un procesador de textos cualquiera.
Ventana: La del explorador, un botn es una ventana, un documento de Word, un icono, una caja de textos, botones de opcin, una barra de men, etc. todas son ventanas.
Formularios
Visual Fox Pro tiene un nombre especial para una pantalla: formulario o Form. Un formulario no es nada mas que una ventana comn de Windows, pero a un nivel mayor de abstraccin. Se podra pensar un formulario, por ejemplo, como un conjunto auto-contenido de objetos sin tener que preocuparse por una gran cantidad de detalles por cuales se preocupara un programador de C. Auto contenidos quiere significar que el formulario tiene propiedades que pueden ser alteradas para controlar la apariencia y comportamiento del formulario, y eventos que se disparan cuando ciertos mensajes se envan a los mismos. Una pantalla de entrada o ventana construida usando el constructor de pantallas de Fox 2.6 (Screen Builder) no es un objeto, aunque le d la ilusin de que es as. Cuando se examina el cdigo generado por Fox Pro 2.6 se puede ver la sentencia DEFINE WINDOW, las sentencias GET / SAY, y finalmente la sentencia READ que causa que Fox entre en estado de espera para permitirle al usuario ingresar datos. Cuando Ud. disea un formulario en Visual Fox, lo hace casi igual que en Visual Basic y, a diferencia de lo que ocurra en Fox 2.6 para Windows, el formulario es un objeto, porque tiene propiedades que manipulan la apariencia del formulario, o cambian la forma en que se comporta. Se puede fijar los valores (numricos o alfabticos) de dichas propiedad tanto a tiempo de diseo usando la ventana de propiedades, como durante la ejecucin de un programa (tiempo de ejecucin o en ingls, runtime). A cada formulario se le asigna un nico nombre (propiedad Name), y una vez que tiene un nombre se lo puede referenciar tanto dentro como fuera del mismo formulario. Por ejemplo, suponga que tiene un formulario al que llama frmCliente y desea cambiar el ttulo de dicho formulario (propiedad Caption), se puede referencia dicha propiedad utilizando la sintaxis del punto como sigue:
frmCliente.Caption = ALTAS
y usando la misma notacin puede colocar el ttulo de una ventana en la variable lctitulo, usando la sentencia: lctitulo = frmCliente.Caption La principal ventaja de utilizar propiedades de objetos contra los distintos comandos usados hasta ahora, es la consistencia: ms que recordar muchos diferentes comandos (probablemente cada uno con diferente sintaxis), solamente se tiene que acordar el nombre de la propiedad, y la sintaxis es la misma.
Eventos
Todo lo que ocurra en Windows es el resultado de enviar un mensaje. Visual Fox previene que Ud. se las tenga que ver con cientos de diferentes mensajes usando la nocin de evento. Un evento es una accin reconocida por un objeto, tal como el clic de un ratn, o la presin de una tecla en el teclado. Cuando Ud. hace clic con el ratn en un formulario, Windows enva un mensaje al formulario dicindole que alguien ha hecho clic sobre l. Entonces Visual Fox dispara el evento clic del formulario en respuesta a dicho mensaje. Ud. solamente debe escribir la parte de cdigo que se ejecutar cuando dicho evento ocurra. Por ejemplo, puede poner cdigo que cambie el color de fondo del formulario (Propiedad BackColor) en respuesta a dicho evento. En la siguiente tabla estn algunos de los eventos ms comunes del objeto formulario: Evento
Load DblClick MouseMove Resize GotFocus Lost Focus
Se dispara cuando...
Se carga el formulario por primera vez. El usuario hace doble clic en el formulario. El ratn se mueve sobre el formulario. Se cambia de tamao del formulario Formulario en foco, desde otro formulario se hace clic en ste. Se hace clic fuera del formulario
Controles
Son aquellos objetos grficos a travs de los cuales los usuarios pueden recibir y responder a los distintos tipos de mensajes Windows, de forma similar a las que lo haca el formulario. Otra definicin de control: son una instancia de una clase, combinada con datos y procedimientos. Ejemplo: botn (push button), cajas de edicin (edit boxes), cajas de texto (text boxes), lneas, texto o etiquetas (labels), etc. Los controles pueden ser vistos como objetos autocontenidos, con propiedades que le permiten manipular su propia apariencia, comportamiento, y responder a los eventos mediante cdigo escrito (programacin). Al igual que pasaba con los formularios, los controles tiene un nico nombre (Propiedad Name), y se puede cambiar cualquier propiedad usando la notacin del punto. Por ejemplo, para hacer que el texto (propiedad Text) que est en una caja de texto (text Box) que se llama txtCaja desde y hacia la variable lcVar, se usar:
txtCaja.Text = lcVar lcVar = txtCaja.Text
Algunas propiedades son nicas para un determinado control (no existen en otros controles), pero existen otras que son comunes a todos los controles, por ejemplo: Propiedad
Enabled FontName Left Visible
Significado
El control est habilitado Nombre tipografa usada (caracteres) posicin del borde izquierdo del control referida a su ventana contenedora True (verdadero) si est visible.
Los controles pueden responder a eventos disparados tanto por accin del usuario como directamente desde el sistema. Por ejemplo, si el usuario hace clic sobre un control botn de apretar (push button), Windows le informa envindole un mensaje a dicho control que ha sido apretado (clicked). El control o botn entonces dispara el evento Clic, y ejecuta el cdigo colocado o asignado a dicho evento. Al igual que las propiedades, algunos eventos son inherentes a dicho control y no existen en otros, pero hay eventos comunes a todos los controles, como seran los siguientes caso tpico: Evento
Click MouseMove GotFocus Lost Focus
Se dispara cuando...
el usuario hace click sobre el control El ratn se mueve sobre el control. Control en foco, desde otro control se hace clic en ste. Se hace clic en otro control
Controles Custom
Uno de los principales factores que contribuyeron al xito del Visual Basic fue la explosin en el mercado de controles suministrados por fabricantes externos o terceras partes. Estos controles aparecen en la paleta de controles del Visual Fox Pro junto con los controles normales (built-in) y se manipulan de forma similar (fijando valores a sus propiedades y codificando rutinas que dan respuesta a ciertos eventos). Estos controles cubren un amplio espectro desde botones y cajas de texto mejoradas, hasta complejas hojas de clculo (grid) o grficos comerciales (Pinacle Graph). Dichos controles estaban escritos generalmente en C y empaquetados en una clase especial de libreras dinmicas (como las DLL) que verdaderamente extendieron la eficacia del lenguaje, por lo que fueron llamadas. VBX (Visual Basic eXtensions), luego OCX y actualmente se los llama ACTIVE X, ahora tambin soportados todos ellos por Visual Fox Pro, que ahora en la versin 5, puede crear bibliotecas de enlace dinmico o DLL.
Tipos de datos
Los tipos de datos determinan la manera en que se almacenan los datos y la forma en que se pueden utilizar tales datos. Puede multiplicar dos nmeros, pero no puede multiplicar caracteres. Puede imprimir caracteres en maysculas, pero no es posible imprimir nmeros en maysculas. En la siguiente tabla se enumeran algunos de los principales tipos de datos de Visual FoxPro.
Numrico Moneda (Currency) Character Logical Fecha - Fecha y hora (Date DateTime)
8 8 1 256 1 8
.9999999999E+20 922337203685477.5808 a 922337203685477.5807 Prueba 123 01/01/95 .T.(verdadero) .F. (falso) {01/01/95} {01/01/95 12:30:00 pm} 01/01/0100 hasta 31/12/9999
Tipos de campos
Tipo Byte Ejemplos
1 20 .9999999999E+19 a
.9999999999E+20
1 20 .9999999999E+19 a .9999999999E+20 4 Texto longitud variable Mximo segn memoria 8 +/4.94065645841247E-324 a +/8.9884656743115E307 1 Prueba 123 01/01/95 254 Cualquier caracter 1 .T.(verdadero) .F. (falso)
Integer (Entero) Carcter (Binario) Memo (Binario) General (Obj.OLE) Fecha - Fecha y hora (Date DateTime)
4 10 10 4 8
2147483647 a 2147483646 Sin tabla de cdigos Sin tabla de cdigos Limitado por Memoria disponible {01/01/95} {01/01/95 12:30:00 pm}
Contenedores de datos
Los contenedores de datos le permiten realizar las mismas operaciones con varios datos. Por ejemplo, sumar las horas que ha trabajado un empleado, multiplicarlas por el salario por hora y restar los impuestos para determinar el sueldo que ha percibido el empleado. Deber realizar estas operaciones para cada empleado y para cada perodo de pago. Si almacena esta informacin en contenedores y realiza las operaciones sobre stos, bastar con sustituir los datos antiguos por los nuevos datos y volver a ejecutar el mismo programa. En la siguiente tabla se enumeran algunos de los principales contenedores de datos disponibles en Visual FoxPro:
Contenedores de datos
Tipo Descripcin
Variables Elementos individuales de datos almacenados en la memoria RAM (memoria de acceso aleatorio) del PC. Registro Varias filas de campos s de predeterminados, cada uno de tabla los cuales puede contener un dato definido previamente. Las tablas se guardan en disco. Matrices Varios elementos de datos almacenados en la memoria RAM.
Uso de operadores
Los operadores se utilizan para vincular los datos formando expresiones. Las expresiones producen un resultado que se puede asignar a un variable o campo mediante un operador (el operador de asignacin o el signo igual).
Operador = Tipos de datos vlidos Ejemplo
Todos
?n=7
imprime .F.
Operador + Tipos de datos vlidos
Imprime FoxPro
Carcter o Memo Numrico, Flot, Doble o Entero Numrico Moneda Carcter o Memo Fecha Carcter Carcter Binario Carcter o Memo FechaHora Fecha FechaHora Lgico
DTOC o Carcter DTOS CTOBIN( ) Carcter Binario BINTOC( ) Carcter CTOT( ) TTOC( ) DTOT( ) TTOD( ) IIF( ) FechaHora Carcter FechaHora Fecha Cualquiera
FUNCION TYPE
Evala una expresin de caracteres y devuelve el tipo de datos de su contenido. Sintaxis TYPE (cExpresin) Tipos devueltos: Character Argumentos: cExpresin Especifica la expresin que va a ser evaluada, que puede tratarse tanto de una variable como de un campo, de un campo de memoria o de cualquier otra expresin. La expresin tiene que pasarse como una cadena de caracteres, hay que entrecomillar los nombres de variables de memoria, de campos, etc. Si no entrecomilla la expresin, la funcin TYPE( ) devolver U (expresin indefinida).
Tipo de datos Carcter
devuelto
Character Numeric (tambin flotante, doble y entero) Currency Date DateTime Logical Memo Object General Indefinido
C N Y D T L M O G U
Jerarqua de operadores
El orden de prioridades segn el cual se aplican los operadores al evaluar una expresin matemtica, se llama en Visual FoxPro, la precedencia de los operadores, que es de mayor a menor jerarqua:
( ) (agrupamiento de subexpresiones), ^ o ** (exponenciacin), * y / (multiplicacin y divisin), % (mdulo), + y (suma y resta).
Si lExpresin es falsa y se incluye ELSE, se ejecutan los comandos situados despus de ELSE y antes de ENDIF.
Si lExpresin es falsa (.F.) y no e incluye ELSE, se pasarn por alto todas las instrucciones entre IF y ENDIF. En este caso la ejecucin del programa continuar con la primera lnea de comando a continuacin de ENDIF. Comentarios : Puede anidar IF ... ENDIF dentro de otro bloque IF ... ENDIF.
Los comentarios precedidos de && se pueden colocar en la misma lnea despus de IF, ELSE y ENDIF. Estos comentarios se pasan por alto durante la compilacin y la ejecucin del programa.
Continua...
Colaboracin de Luis Andrs Chabrillon ECOM CHACO S. A., Centro de Cmputos del Gobierno de la Provincia del Chaco Repblica Argentina chabri@ecomchaco.com.ar
Fuentes de Informacin y Bibliografa: Foxpress. FoxAdvisor. Datapress. Desarrollo de Aplicaciones de Pedro Muoz. Programando en VF 5.0 Foxpro 5.0 de Ramon Ch.
Perteneciente al Curso emitido por: Mundo Fox - Zorro Hispano. Lista de Correo de Visual Foxpro: vfoxpro@onelist.com Para subscribirse haga click aqu. Responsable-Webmaster: vfoxpro@hotpop.com