Manual de Visual FoxPro

También podría gustarte

Está en la página 1de 40

VISUAL FOXPRO VISUAL FOXPRO

Es una aplicacin orientada a Windows que nos permite crear programas, procesos, sistemas a travs de una serie de herramientas que el Windows nos ofrece. Visual FoxPro en un lenguaje orientado a objetos a travs de los cuales podemos implementar algn o algunos formularios con controles y cdigos de programa. TERMINOS EN VISUAL FOXPRO: CONTROL O OBJETO: Es un objeto que viene predeterminado con Visual Basic y que puede ser creado a travs de una herramienta que esta en la barra de herramientas de controles. Ejemplo: Label, Text, Option, Check, Etc. La Caja de herramientas contiene las herramientas que utiliza para dibujar controles en sus formularios. Para abrir la Caja de herramientas, elija Caja de herramientas en el men Ver. Esta barra de herramientas contiene los botones siguientes: Botn Descripcin Seleccionar objetos. Cambia el tamao y mueve controles. Una vez creado un control, el botn "Seleccionar objetos" se volver a seleccionar automticamente, a menos que est presionado el botn "Bloqueo del botn". Ver clases. Permite seleccionar y mostrar una biblioteca de clases registrada. Despus de seleccionar una clase, la barra de herramientas slo muestra botones para las clases de la biblioteca seleccionada. Etiqueta. Crea un control Label, que se usa para texto que no quiere que el usuario cambie, como el ttulo que

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

aparece encima de las casillas de verificacin o debajo de un grfico. Cuadro de texto. Crea un control TextBox, que se usa para almacenar una nica lnea de texto que el usuario puede introducir o cambiar. Cuadro de edicin. Crea un control EditBox, que se usa para almacenar varias lneas de texto que el usuario puede introducir o cambiar. Botn 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 mltiples opciones entre las que el usuario slo puede seleccionar una. Casilla de verificacin. Crea un control CheckBox, que ofrece al usuario la posibilidad de elegir entre una condicin verdadera o falsa, o muestra varias opciones entre las que el usuario puede seleccionar ms de una. Cuadro combinado. Crea un control ComboBox, que se usa para crear un cuadro combinado desplegable o una lista 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 ms elementos de los que se pueden mostrar de una vez.

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

Control numrico. Crea un control Spinner, que se usa para aceptar datos numricos introducidos por el usuario que quedan dentro de un intervalo. Cuadrcula. Crea un control Grid, que se usa para mostrar datos en una cuadrcula tipo hoja de clculo. Imagen. Muestra una imagen grfica en su formulario. Cronmetro. Intercepta eventos Timer a intervalos establecidos. Este control es invisible en tiempo de ejecucin. Marco de pgina. Muestra varias pginas de controles. Control contenedor OLE. Le permite agregar objetos OLE a su aplicacin. Control OLE dependiente. Al igual que los controles contenedores OLE, le permite agregar objetos OLE a su aplicacin. Sin embargo, a diferencia de los controles contenedores OLE, los controles OLE dependientes estn vinculados a un campo de tipo General. Lnea. Se usa para dibujar diversos estilos de lnea en su formulario en tiempo de diseo. Forma. Se usa para dibujar diversas formas en su formulario en tiempo de diseo. Puede dibujar un rectngulo, un rectngulo redondeado, un cuadrado, un cuadrado redondeado, un valo o un crculo. 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. C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO

Bloqueo del botn. Le permite agregar varios controles del mismo tipo sin tener que hacer clic en el botn del control en la barra de herramientas ms de una vez. PROPIEDAD: Es una caracterstica o atributo que toma el objeto o control puede ser el color, tamao, estado, los valores predeterminados, el texto del mensaje, etc. Ejemplo: Caption, Name, BackColor, Font, ForeColor, Etc. ALGUNAS PROPIEDADES COMUNES: Name (Nombre): Especifica el nombre que se le asigne al control, u solo a travs de l se puede acceder a las propiedades y mtodos de los controles. Back Color (Color de Fondo): Asigna el color de fondo sobre el que aparece el texto o se dibujan los grficos. Fore Color (Color de Primer Plano): Asigna un color al primer plano (color de la tinta o del texto). Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los atributos y el tamao de la fuente que se usa para un control de texto (el texto en un control TextBox, el ttulo de una etiqueta o de un botn de comando, etc.). Caption (Ttulo): Asigna el texto que aparece en muchos controles y que el usuario no puede introducir, por ejemplo el texto de un control Label, el ttulo de un botn de comando, o de una cadena de caracteres que se muestran en un cuadro de activacin o en un botn de opcin. 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).

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

Enabled (Activado): Su valor es True por omisin, 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. METODO: Es un proceso que se ejecuta (predeterminado) segn el control que se tiene en uso. Los objetos tambin tienen mtodos, que son las acciones que pueden realizar. Los mtodos se pueden considerar como las acciones que realizan los objetos. Ejemplo: Clear, Setfocus, Refresh, Etc. ALGUNOS MTODOS COMUNES: Clear (Borrar): Borra el contenido de un control ComboBox o ListBox. AddItem (Aadir Entrada), Agrega un nuevo elemento a un control ComboBox o ListBox, permitiendo especificar opcionalmente el ndice del elemento. Se aplica a ComboBox, ListBox RemoveItem (Borrar Entrada): Quita un elemento de un control ComboBox o ListBox. Se aplica aComboBox, ListBox. Release Libera de la memoria un FormSet o un Form. Se aplica a Form, FormSet, _SCREEN. El mtodo Release es muy til cuando se crea un Form o FormSet con el comando DO FORM y no haya variables que hagan referencia al Form o FormSet. Puede usar la coleccin Forms del objeto Screen para encontrar el Form o FormSet y llamar a su mtodo Release. Refresh (Actualizar): Fuerza que un formulario o control sea redibujado. Generalmente, el dibujado de un formulario o control se controla automticamente cuando no ocurren eventos. Sin embargo, hay muchas situaciones en las que se quiere actualizar inmediatamente un formulario o un control. Se puede usar el mtodo Refresh con un control Data para abrir o reabrir la base de datos (si han cambiado los valores de las propiedades DatabaseName, ReadOnly, Exclusive o Connect) y reconstruir el dynaset de la propiedad Recordset del control. C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO

SetFocus (Enfoque): Mueve el enfoque al control o formulario especificado. El objeto debe ser un objeto Form, un objeto MDIForm o control que pueda recibir el enfoque. Despus de invocar el mtodo SetFocus, cualquier entrada del usuario se dirige al formulario o control especificado. PROCEDIMENTOS, SUCESOS O EVENTOS: Es el proceso que se va a ejecutar cuando se tome una accin con algn objeto o control. EVENTO: Una accin reconocida por un objeto, como hacer clic con el Mouse o presionar una tecla, para la que se puede escribir cdigo para responder. Los eventos pueden producirse como resultado de una accin del usuario o por programa, o pueden ser disparados por el sistema. Ejemplo: Click encima de un botn de comando. ALGUNOS SUCESOS COMUNES: Los sucesos determinan la relacin de los controles a las condiciones externas. Los controles reconocen los sucesos, pero es la aplicacin la que la maneja. Un botn de comando es capaz de reconocer que alguien lo ha pulsado, pero no es capaz de reaccionar al suceso si no se le proporciona un cdigo que lo indique. En otras palabras, somos nosotros los que debemos decir a Visual Basic lo que debe hacer cuando el usuario hace clic sobre un determinado botn de comando. Una vez que le especificamos la rutina para el suceso control Click, la subrutina se ejecuta cada vez que se hace clic sobre este control. Click (Clic), DblClick (Doble Clic): El suceso Click tiene lugar cuando el usuario hace clic con el botn izquierdo del ratn; el DblClick tiene lugar cuando el usuario hace doble clic en el botn izquierdo del ratn. MouseDown (Ratn Abajo) MouseUp (Ratn Arriba): El suceso MouseDown tiene lugar cuando se presiona el botn del ratn, y el MouseUp cuando se suelta.

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

MouseMove (Movimientos del Ratn): Este suceso tiene lugar continuamente mientras se mueve el ratn sobre un control. KeyDown (Tecla Abajo), KeyUp (Tecla Arriba): El suceso KeyDown tiene lugar cuando se pulsa una tecla, y el KeyUp cuando se suelta. KeyPress (Pulsacin de Tecla): El suceso KeyPress se usa habitualmente para escribir gestores de teclado para cuadros de texto, porque este suceso tiene lugar antes de que se muestre en el cuadro de texto el carcter pulsado. DEFINICIONES IMPORTANTES: PROGRAMA: Es un conjunto de comandos, instrucciones, smbolos y cdigos que nos permiten comunicarnos con la computadora y poder procesar la informacin. Se clasifican en lenguajes de bajo nivel y alto nivel. Los lenguajes de bajo nivel, son ms director y para los cuales es necesario conocer la estructura interne de la computadora. Ejemplo el lenguaje de programacin ASSEMBLER. Los lenguajes de alto nivel, ms comerciales, ms fciles de operar y para los cuales no es necesario la estructura interna alguna. Ejemplo el lenguaje de programacin FOXPRO. TIPOS DE PROGRAMA: a) Programa Fuente: Es un conjunto de instrucciones escritas en un lenguaje de programacin, con la ayuda de un editor de textos. b) Programa Objeto: Es el conjunto de instrucciones escritas en un lenguaje mquina y que no pueden ser ejecutados por la computadora, es traducido desde el programa fuente al lenguaje mquina, es un programa no hecho por el usuario sino por el compilador del lenguaje. Este programa se genera del resultado de COMPILAR el programa fuente. Compilar: Es la accin mediante la cual el sistema verifica errores de sintaxis dentro de un programa fuente y si no los tiene genera el programa objeto, al cual le asigna automticamente la extensin (OBJ).

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO c)

Programa Ejecutable: Es el conjunto de instrucciones listas para ser ejecutadas por la computadora, sin la intervencin del software que genero dicha codificacin. Este programa se genera de LINKEAR el programa. Linkear: Es la accin mediante la cual el sistema enlaza las libreras de un lenguaje de programacin con el programa objeto, generando un programa ejecutable desde el sistema operativo, al cual le asigna automticamente la extensin (EXE).

VARIABLES: Como en cualquier otro lenguaje de programacin, las variables se usan para almacenar valores durante la ejecucin de un programa. Las variables son huecos en memoria en los que se puede dejar valores para recogerlos cuando se necesiten. En la mayora de los lenguajes de programacin, se deben definir las variables. En otras palabras, se debe decir por adelantado al compilador las variables que se van a usar. La razn por la que se hace as es para ayudar al compilador. Si el compilador conoce las variables y sus tipos, puede producir un cdigo ms optimizado. TIPOS DE VARIABLES: VARIABLES NUMRICAS: Almacenan nmeros. Los nmeros se pueden almacenar con muchos formatos, dependiendo del tamao de los nmeros y de su precisin. VARIABLES DE TIPO STRING: Es aquel tipo de variable a los cuales podemos destinar caracteres alfabticos, signos y nmeros es decir que nos acepta cualquier tipo de carcter. VARIABLES DE TIPO BOOLEAN: Almacena valores True/False (Verdadero/Falso). Las variables Boolean son realmente enteros que tiene el valor 1 (para True) y 0 (para False). Las variables Boolean se usan para la comprobacin de condiciones. Las variables Boolean se definen de esta manera: VARIABLES DE TIPO DATE: Almacena fechas. Las variables tipo Date presentan las fechas de acuerdo al formato de fecha corto reconocido por el sistema. Se define de esta manera:

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO SENTENCIAS DE CONTROL DE FLUJO:

IfThenEndIf: La estructura If comprueba una condicin especifica y, si es verdadera, ejecuta las sentencias que le siguen. La estructura If puede tener o una sola lnea, o varias lneas. Para ejecutar una sentencia condicional se usa la sintaxis de una sola lnea: If condicin Then sentencia Se evala la condicin y, si es verdadera, ejecuta la sentencia que viene a continuacin. Si la condicin no es verdadera, continua con la sentencia siguiente de la estructura. La sintaxis de varias lneas: If condicin Then sentencias EndIf IfThenElseEndIf: Una variacin de la sentencia If Then es la sentencia If ThenElse EndIf, que ejecuta un bloque de sentencias si la condicin es verdadera, y otro bloque si es falsa. La sintaxis de la sentencia If Then Else EndIf es: If condicin Then Bloque de sentencias 1 Else Bloque se sentencias 2 EndIf Visual FoxPro evala la condicin y, si es verdadera, ejecuta el primer bloque de sentencias y luego salta a las sentencias que hay despus de EndIf. Si la condicin es falsa, Visual FoxPro ignora el primer bloque de sentencias y ejecuta las que hay a continuacin de la palabra clave Else. Otra variacin de la sentencia If Then Else usa varias condiciones con la palabra clave ElseIf: If condicin 1 Then Bloque de sentencias 1 C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO Else If condicin 2 Then Bloque se sentencias 2 Else If condicin 3 Then Bloque se sentencias 3 Else Bloque se sentencias 4 End If

10

Podemos poner cualquier nmero de clusulas desde arriba y, si una de ellas es verdadera, se ejecuta el bloque de sentencias correspondiente. La clusula Else se ejecutar si ninguna de las expresiones anteriores es verdadera. Ejemplo: If puntuacin < 50 Then Resultado = No admitido Else If puntuacin < 75 Then Resultado = Pasable Else If puntuacin > 90 Then Resultado = Muy bueno Else Resultado = Excelente EndIf ESTRUCTURAS IF THEN MLTIPLES: Observamos que una vez que se ha encontrado una condicin verdadera, Visual FoxPro ejecuta las sentencias asociadas, salta el resto de las clusulas y continua con la ejecucin del programa con las sentencias que hay despus de EndIf. Por esta razn podemos usar la siguiente estructura, ms complicada, de varias sentencias If simples: If puntuacin < 50 Then Resultado= No admitido EndIf If puntuacin < 75 And puntuacin >= 50 Then Resultado= Pasable EndIf If puntuacin < 90 And puntuacin >= 75 Then Resultado= Muy bueno C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO EndIf If puntuacin > 90 Then Resultado= Excelente EndIf

11

DO CASE: La estructura Do Case compara la misma expresin con diferentes valores. La ventaja de esta sentencia sobre If Then mltiples hace que el cdigo sea ms fcil de leer y mantener. La estructura Do Case comprueba una sola expresin, que se evala una sola vez al principio de la estructura. El resultado de esta comprobacin se compara con varios valores y, si coincide con uno de ellos, se ejecuta el bloque de sentencias correspondiente. Sintaxis: Do Case Case <Condicin 1> Bloque de sentencias 1 Case <Condicin 2> Bloque de sentencias 2 . . . EndCase Ejemplo: Opc=this.value Do Case Case opc=1 NombreDa= Lunes Mensaje= Feliz semana Case opc=6 NombreDa= Sbado Mensaje= Feliz fin de semana Case opc=7 NombreDa= Domingo Mensaje= Has tenido un buen fin de semana EndCAse

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

12

La variable opc que se evala al principio de la sentencia, es el nmero de da de la semana. Despus se compara el valor de la expresin con los valores que tiene cada palabra clave Case. Si coincide, se ejecuta el bloque de sentencias que viene a continuacin, y despus salta el programa a la sentencia siguiente al EndCase. SENTENCIAS DE CONTROL DE BUCLE: DO WHILE ENDDO: Ejecuta un bloque de sentencias mientras la condicin sea verdadera. Visual FoxPro evala la expresin y, si la expresin es falsa, el programa contina con las sentencias que van despus del bucle. Para ejecutar un bloque sentencias mientras la condicin sea verdadera, se usa la siguiente sintaxis: Do While condicin Bloque de sentencias Enddo El bucle Do se repite todas las veces que sea necesario siempre que la condicin sea verdadera (o distinta de cero si la condicin evala un nmero). FOR ENDFOR/NEXT: El bucle For Next es una de las estructuras de bucle ms antiguas dentro de los lenguajes de programacin. A diferencia del bucle Do, el bucle For Next requiere que se conozca el nmero 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 repeticin 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 numricos. El

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

13

bucle se ejecuta hasta que el contador llegue (o exceda) el valor final. 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 ms 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 mltiples 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 Instrucciones: Instrucciones puede constar de cualquier nmero de comandos de Visual FoxPro empleados para especificar propiedades para NombreObjeto. Site un punto delante de Instruccin para indicar que es una propiedad de NombreObjeto. MANIPULACIN DE OBJETOS: Para manipular un objeto, deber identificarlo en relacin con la jerarqua contenedora. En el nivel superior de la jerarqua contenedora (el conjunto de C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO

14

formularios o el formulario) necesita hacer referencia a la variable de objeto. De manera predeterminada, la variable de objeto tiene el mismo nombres que el archivo .SCX. Las propiedades se manipulan haciendo referencia a la variable de objeto, el control y la propiedad, separados por puntos (.): variableobjeto.[form.]control.propiedad = Configuracin La tabla siguiente muestra las propiedades o las palabras clave que facilitan el establecimiento de referencias a un objeto en la jerarqua de objetos: Propiedad o palabra clave Referencia ActiveControl El control del formulario activo actualmente que tiene el enfoque ActiveFormEl formulario activo actualmente ActivePage La pgina activa del formulario activo actualmente Parent El contenedor ms inmediato del objeto THIS El objeto, o un procedimiento o evento del objeto THISFORM El formulario que contiene el objeto THISFORMSETEl 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. Comentarios: THISFORM proporciona, dentro de un mtodo, 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 mltiples propiedades Parent. THIS: Proporciona una referencia a un objeto antes de crearlo. C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO Sintaxis: THIS.NombrePropiedad | NombreObjeto Argumentos: NombrePropiedad: Especifica una propiedad para la clase. NombreObjeto: Especifica un objeto de la clase.

15

Comentarios: THIS permite hacer referencia a una propiedad o un objeto de una definicin de clase. Los mtodos de un bloque de definicin de clase pueden utilizar THIS para especificar una propiedad o un objeto que existir cuando se cree la clase. Puesto que mltiples instancias de objetos comparten el mismo cdigo de mtodo, THIS siempre hace referencia a la instancia en la que est ejecutndose el cdigo. Si hay mltiples instancias de un objeto, y se llama a uno de los mtodos del objeto, THIS hace referencia al objeto correcto. THISFORMSET: Proporciona una referencia a un FormSet antes de crearlo. Sintaxis: THISFORMSET.NombrePropiedad | NombreObjeto Argumentos: NombrePropiedad: Especifica una propiedad para el FormSet. NombreObjeto: Especifica un objeto del FormSet. Comentarios: THISFORMSET proporciona, dentro de un mtodo, 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 mltiples 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. Tambin puede permitir que un usuario cierre y libere un formulario incluyendo el comando siguiente en el cdigo de evento Click de un control, como un botn de comando con el ttulo "Salir": C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO RELEASE THISFORM

16

CREATE: Nos permite crear formularios, tablas, base de datos, mens, informes, etc. Ejemplo: Create Form C:\Mis documentos\Ren\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. 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 aade ms 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 definicin de informe creado con MODIFY REPORT o CREATE REPORT.

PARTE PRACTICA

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

17

Objeto Text1 Text2 Label4

Propiedad Valor Value (Valor) 0.00 Value 0.00 Alignment (Alineamiento) 1 Derecha BorderStyle (Estilo de borde) 1 Sencillo fijo Caption (Ttulo) 0.00

Command1 Click Thisform.label4.caption="S/."+alltrim(str(thisform.text1.value*t hisform.text2.value,10,2)) Command2 Click Thisform.release

Objeto Propiedad Valor Spinner1 KeyboardHighValue 72 KeryboardLowValue 6 SpinnerHighValue 72 SpinerLowValue 6 Value

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO Check1 Click If thisform.text1.fontbold=.t. Then thisform.text1.fontbold=.f. Else thisform.text1.fontbold=.t.

18 Endif Check1 = FontBold (Negrita) Check2 = FontItalic (Cursiva) Check3 = FontUnderline (Subrayado) Check4 = FontStrikethru (Tachado)

Optiongroup1 Click If thisform.optiongroup1.value=1 thisform.text1.forecolor=rgb(0,0,0) Else If thisform.optiongroup1.value=2 thisform.text1.forecolor=rgb(255,0,0) Else If thisform.optiongroup1.value=3 thisform.text1.forecolor=rgb(0,255,0) Else thisform.text1.forecolor=rgb(0,0,255) Endif Endif Endif Command1 Click thisform.text1.value="" thisform.text1.setfocus thisform.check1.value=0 thisform.check2.value=0 thisform.check3.value=0 thisform.check4.value=0 thisform.optiongroup1.value =1 thisform.text1.fontsize=8 thisform.text1.fontbold=.f. thisform.text1.fontitalic=.f. thisform.text1.fontstrikethru =.f. C.E.O. SAN LUIS thisform.text1.fontstrikethru =.f. thisform.text1.forecolor=rgb (0,0,0) Command2 Click thisform.release Spinner1 InteractiveChange thisform.text1.fontsize=thisf orm.spinner1.value

Ren J. Hercilla Valdivia

VISUAL FOXPRO

19

Objeto Label1 Label2 Combo1

Propiedad Valor Name Labtipo Name Labproducto Name Cmbtipo RowSource Abarrotes,Medicinas,etc. RowSourceType 1 Valor Text1 Name Texproducto List1 Name Lis1producto List2 Name Lis2producto Command1 Name Comagregar Command2 Name Comad duno Command3 Name Comaddvarios Command4 Name Comelimina Command5 Name Commodifica Command6 Name Comlimpia Command7 Name Comsalir Comagregar with thisform Click if .comagregar.caption="Agrega r"

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO . lis1producto.additem(.texp roducto.value) else . lis1producto.additem(.texp roducto.value) . comagregar.caption="Agregar " endif .texproducto.value="" .texproducto.setfocus endwith Comadduno Click with thisform . lis2producto.additem(.lis1p roducto.value) . lis1producto.remeoveitem(. list1producto.listindex) endwith Comaddvarios Click with thisform for x=1 to .lis1producto.listcount . lis2producto.additem(.lis1p roducto.list(x)) next .lis1producto.clear .texproducto.setfocus endwith

20

Comelimina Click with thisform . lis1producto.removeitem(.li s1producto.listindex) .texproducto.setfocus endwith Commodifica Click with thisform . texproducto.value=.lis1pro ducto.value . lis1producto.removeitem(.li s1producto.listindex) . comagregar.caption="Actualiz ar" .texproducto.setfocus endwith Comlimpia Click with thisform .lis1producto.clear .texproducto.setfocus endwith Comsalir Click thisform.release

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

21

Objeto Propiedad Valor List1 Visible .T. Verdadero Command1 Click with thisform a=.text1.value b=.spinner1.value c=.spinner2.value d=.spinner3.value e=.combo1.value if .optiongroup1.option1.value= 1 f="Administracin" else if .optiongroup1.option2.value= 1 f="Contabilidad" else f="Ventas" endif endif C.E.O. SAN LUIS if .check1.value=1 g=.check1.caption else g="" endif if .check2.value=1 h=.check2.caption else h="" endif if .check3.value=1 i=.check3.caption else i="" endif . list1.additem(alltrim(a+allt rim( str(b))+alltrim(str(c))+alltri

Ren J. Hercilla Valdivia

VISUAL FOXPRO m(str(d))+" "+e+" "+f+" "+g+" "+h+" "+i)) .text1.value="" .text1.setfocus .optiongroup1.value=1 .check1.value=0 .check2.value=0 .check3.value=0 .spinner1.value=1 .spinner2.value=1 .spinner3.value=1950 endwith Command2 Click thisform.list1.clear thisform.text1.setfocus

22 Command3 Click with thisform if .command3.caption="Mostrar " .list1.visible=.t. . command3.caption="Ocultar" else .list1.visible=.f. . command3.caption="Mostar" endif endwith Command4 Click thisform.release

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO

23

Objeto Pageframe1 Timer1 C.E.O. SAN LUIS

Propiedad PageCount Interval

Valor 4 1 Ren J. Hercilla Valdivia

VISUAL FOXPRO Page1: Spinner1,2,3, 4,5 y 6 Page2: Spinner1,2 KeyboardHighValue 255 KeyboardLowValue 0 SpinnerHighValue 255 SpinnerLowValue 0 KeyboardHighValue 250 KeyboardLowValue 0 SpinnerHighValue 250 SpinnerLowValue 0 KeyboardHighValue 300 KeyboardLowValue 0 SpinnerHighValue 300 SpinnerLowValue 0 KeyboardHighValue 100 KeyboardLowValue 1 SpinnerHighValue 99 SpinnerLowValue 1

24

Page3: Spinner1,2

Page4: Spinner1

Page1: Spinner1 InteractiveChange with thisform rojo=.pageframe1.page1.s pinner1.value . shape1.backcolor=rgb(rojo ,verde,azul) endwith Spinner2 InteractiveChange with thisform

verde=.pageframe1.page1. spinner2.value . shape1.backcolor=rgb(rojo ,verde,azul) endwith Spinner3 InteractiveChange with thisform azul=.pageframe1.page1.s pinner3.value . shape1.backcolor=rgb(rojo ,verde,azul) endwith Ren J. Hercilla Valdivia

C.E.O. SAN LUIS

VISUAL FOXPRO Spinner4 InteractiveChange with thisform rojo=.pageframe1.page1.s pinner4.value . shape1.bordercolor=rgb(roj o,verde,azul) endwith Spinner5 InteractiveChange with thisform verde=.pageframe1.page1. spinner5.value . shape1.bordercolor=rgb(roj o,verde,azul) endwith Spinner6 InteractiveChange with thisform azul=.pageframe1.page1.s pinner6.value . shape1.bordercolor=rgb(roj o,verde,azul) endwith Page2: Spinner1 InteractiveChange with thisform C.E.O. SAN LUIS

25 alto=.pageframe1.page2.s pinner1.value .shape1.height=alto endwith Spinner2 InteractiveChange with thisform ancho=.pageframe1.page2 .spinner2.value .shape1.width=ancho endwith Page3: Spinner1 InteractiveChange with thisform izquierda=.pageframe1.pa ge3.spinner1.value .shape1.left=izquierda endwith Spinner2 InteractiveChange with thisform arriba=.pageframe1.page3 .spinner2.value .shape1.top=arriba endwith Page4: Spinner1 InteractiveChange with thisform Ren J. Hercilla Valdivia

VISUAL FOXPRO formas=.pageframe1.page 4.spinner1.value .shape1.curvature=formas endwith Command1 Click with thisform if .pageframe1.visible=.t. .pageframe1.visible=.f. .shape1.visible=.f. .command2.visible=.f. . command1.caption="Mu estra caractersticas" else .pageframe1.visible=.t. .shape1.visible=.t. .command2.visible=.t. . command1.caption="Es conde caractersticas" endif endwith Command2 Click with thisform . shape2.backcolor=.shape1 .backcolor . shape2.bordercolor=.shape 1.bordercolor . shape2.height=.shape1.heigh t

26 . shape2.width=.shape1.width .shape2.left=.shape1.left .shape2.top=.shape1.top . shape2.curvature=.shape1 .curvature endwith Timer1 Timer with thisform if sw=0 x=x+1 .shape2.left=x if x=250 sw=1 endif else x=x-1 .shape2.left=x if x=5 sw=0 endif endif endwith Form1 Init public sw,x,rojo,verde,azul,alto,anch o,izquierda,arriba,formas x=5 sw=0 rojo=0 verde=0 azul=0 alto=0 ancho=0 izquierda=0 Ren J. Hercilla Valdivia

C.E.O. SAN LUIS

VISUAL FOXPRO arriba=0 formas=0

27

Ejemplo N6: Crear la Tabla Libre Articulo.DBF Nombre Tipo Ancho Decimale s Codart Carcter 3 Desart Carcter 30 Stkart Numrico 4 0 Preart Numrico 7 2 Obsart Memo 4 Imgart General 4 Ingresar 5 registros.

Objeto Propiedad Valor Commandgroup1 BottonCount 4 Text1 ControlSource empleado.codart Text2 ControlSource empleado.desart Text3 ControlSource empleado.stkart Text4 ControlSource empleado.preart Edit1 ControlSource empleado.obsart Oleboundcontrol1 ControlSource empleado.imgart C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO

28

Commandgroup1 nopc=this.value do case case nopc=1 go top case nopc=2 if not bof() skip -1 if bof() go top endif endif case nopc=3

Click

if not eof() skip if bof() go bottom endif endif case nopc=4 go bottom endcase thisform.refresh Command1 Click Thisform.release

Objeto Form1 Text1

Propiedad ShowTips BackStyle Format ReadOnly Value

Valor .T. 0 Transparente

.T. =Date() Ren J. Hercilla Valdivia

C.E.O. SAN LUIS

VISUAL FOXPRO Text2 Text3,4,5 Value { / / } BackStyle 0 Transparente ReadOnly .T. Value 0 Command1 Caption (Nada) Picture C:\VFP\\\Closed.BMP Command2 Caption (Nada) Picture C:\VFP\\\Help.BMP Form2 AlwaysOnTop .T. BorderStyle 1 Borde en una lnea Caption (Nada) ControlBox .F. Desktop .T. HalfHeigthCaption .F. MaxButton .F. MinButton .F. Movable .T. WindowsType 1 Modal Label2 Alignment 2 Centro BackStyle 0 Transparente Caption Lleve el Mouse sobre algn objeto WordWrap .T. Imagen1 BackStyle 0 Transparente Picture C:\VFP\\\Find.BMP Form1 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Lleve el Mouse sobre algn objeto" thisformset.form2.refresh Text1 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord

29

thisformset.form2.label2.capti on="Esta es la fecha de hoy, puede cambiarla"+; " haciendo click con el botn de comando del lado" thisformset.form2.refresh Text2 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO thisformset.form2.label2.capti on="Puede escribir su fecha de nacimiento por ejemplo" thisformset.form2.refresh Text3 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Haz nacido un da"; +chr(13)+cdow(thisform.text 2.value) thisformset.form2.refresh Text4 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Haz nacido un da"; +chr(13)+cdow(thisform.text 2.value) thisformset.form2.refresh Text5 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Haz nacido un da"; +chr(13)+cdow(thisform.text 2.value) thisformset.form2.refresh Command3 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Pulsa Enter para hacer el clculo" C.E.O. SAN LUIS thisformset.form2.refresh

30

Command4 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisformset.form2.label2.capti on="Puedes pulsar Esc para salir" thisformset.form2.refresh Command3 Click with thisform ndias=(.text1.value-. text2.value) .text3.value=int(ndias/365) . text4.value=int(mod(ndias,36 5)/30) . text5.value=mod(mod(ndias, 365),30) .refresh endwith Command4 Click thisformset.release Command1 Click with thisform if .text1.readonly=.f. .text1.readonly=.t. this.picture="D:\vfp\sampl es\graphics\bmps\outline\cl osed.bmp" else .text1.readonly=.f.

Ren J. Hercilla Valdivia

VISUAL FOXPRO this.picture="D:\vfp\samples\ graphics\bmps\outline\open.b mp" .text2.setfocus endif .refresh endwith Command2 Click with thisformset if .form2.visible=.t. .form2.visible=.f. Ejemplo N 8: Crear el Proyecto: Empresa 2002. Crear la Base de Datos: Empresa. Crear la Tabla: Empleado. Nombre Codiemp Tipo Ancho 3 30 15 8 1 1 1 1 8 8 Decimal es this.tooltiptext="Ver ayuda" else .form2.visible=.t.

31

this.tooltiptext="Ocultar ayuda" endif endwith Text2 Valid thisform.command3.click

Carcte r Apelemp Carcte r Nombemp Carcte r Naciemp Fecha Damaemp Lgico Civiemp Carcte r Estaemp Carcte r Condemp Carcte r Ingremp Fecha Docuemp Carcte r C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO Fonoemp Diremp Obsemp Carcte r Carcte r Memo 7 25 4

32

Propiedades del campo Civiemp: Mostrar Validacin de campos Formato: Regla: Civiemp$SCVD Mascara de ! Mensaje: Solo S,C,V,D entrada: Ttulo: Valor S predeterminado: Propiedades del campo Estaemp: Mostrar Validacin de campos Formato: Regla: Estaemp$AVPR Mascara de ! Mensaje: Solo A,V,P,R entrada: Ttulo: Valor A predeterminado: Propiedades del campo Condemp: Mostrar Validacin de campos Formato: Regla: Condemp$CES Mascara de ! Mensaje: Solo C,E,S entrada: Ttulo: Valor C predeterminado: Propiedades del campo Ingremp: Mostrar Validacin de campos Formato: Regla: Mascara de Mensaje: C.E.O. SAN LUIS Ren J. Hercilla Valdivia

VISUAL FOXPRO entrada: Ttulo: Ingresar 5 registros. Crear el formulario Empleado: Valor predeterminado: Date( )

33

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO Objeto Text1 Text2 Text3 Text4 Txet5 Txet6 Txet7 Txet8 Edit1 Combo1 Propiedad ControlSource ControlSource ControlSource ControlSource ControlSource ControlSource ControlSource ControlSource ControlSource BoundColum ColumnCount ColumnLines ColumnWidths ControlSource RowSource Valor empleado.codiemp empleado.apelemp empleado.naciemp empleado.nombemp empleado.ingremp empleado.docuemp empleado.direemp empleado.fonoemp empleado.obseemp 2 2 .f. 80,0 empleado.civiemp Soltero,S,Casado,C, Viudo,V,Divorciado,D RowSourceType 1 Valor Value Soltero BoundColum 2 ColumnCount 2 ColumnLines .f. ColumnWidths 80,0 ControlSource empleado.estaemp RowSource Activo,A,Vacaciones,V, Retirado,R,Permiso,P RowSourceType 1 Valor Value Activo BoundColum 2 ColumnCount 2 ColumnLines .f. ColumnWidths 80,0 ControlSource empleado.condemp RowSource Contratado,C,Estable,E, Servicio,S RowSourceType 1 Valor Value Servicio

34

Combo2

Combo3

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

VISUAL FOXPRO Command1 Click with thisform go top .command1.enabled=.f. .command2.enabled=.f. .command3.enabled=.t. .command4.enabled=.t. . combo1.value=iif(empleado. civiemp="S","Soltero(a)",iif( empleado.civiemp="C","Cas ado(a)",iif(empleado.civiemp ="V","Viudo(a)","Divorciado( a)"))) . combo2.value=iif(empleado. estaemp="A","Activo",iif(em pleado.estaemp="V","Vacaci ones",iif(empleado.estaemp ="P","Permiso","Retirado"))) . combo3.value=iif(empleado. condemp="C","Contratado", iif(empleado.condemp="E"," Estable","Servicio")) . optiongroup1.value=iif(empl eado.damaemp,1,2) .refresh endwith Command2 Click with thisform if bof() . command1.enabled=.f. . command2.enabled=.f. C.E.O. SAN LUIS

35 . command3.enabled=.t. . command4.enabled=.t. else skip -1 . command3.enabled=.t. endif . combo1.value=iif(empleado. civiemp="S","Soltero(a)",iif( empleado.civiemp="C","Cas ado(a)",iif(empleado.civiemp ="V","Viudo(a)","Divorciado( a)"))) . combo2.value=iif(empleado. estaemp="A","Activo",iif(em pleado.estaemp="V","Vacaci ones",iif(empleado.estaemp ="P","Permiso","Retirado"))) . combo3.value=iif(empleado. condemp="C","Contratado", iif(empleado.condemp="E"," Estable","Servicio")) . optiongroup1.value=iif(empl eado.damaemp,1,2) .refresh endwith Command3 Click with thisform if eof() . command1.enabled=.t. Ren J. Hercilla Valdivia

VISUAL FOXPRO . command2.enabled=.t. . command3.enabled=.f. . command4.enabled=.f. else skip . command2.enabled=.t. endif . combo1.value=iif(empleado. civiemp="S","Soltero(a)",iif( empleado.civiemp="C","Cas ado(a)",iif(empleado.civiemp ="V","Viudo(a)","Divorciado( a)"))) . combo2.value=iif(empleado. estaemp="A","Activo",iif(em pleado.estaemp="V","Vacaci ones",iif(empleado.estaemp ="P","Permiso","Retirado"))) . combo3.value=iif(empleado. condemp="C","Contratado", iif(empleado.condemp="E"," Estable","Servicio")) . optiongroup1.value=iif(empl eado.damaemp,1,2) .refresh endwith Command4 with thisform go bottom C.E.O. SAN LUIS Click

36 .command1.enabled=.t. .command2.enabled=.t. .command3.enabled=.f. .command4.enabled=.f. . combo1.value=iif(empleado. civiemp="S","Soltero(a)",iif( empleado.civiemp="C","Cas ado(a)",iif(empleado.civiemp ="V","Viudo(a)","Divorciado( a)"))) . combo2.value=iif(empleado. estaemp="A","Activo",iif(em pleado.estaemp="V","Vacaci ones",iif(empleado.estaemp ="P","Permiso","Retirado"))) . combo3.value=iif(empleado. condemp="C","Contratado", iif(empleado.condemp="E"," Estable","Servicio")) . optiongroup1.value=iif(empl eado.damaemp,1,2) .refresh endwith Command5 Click local nresp nresp=messagebox("Esta Ud. seguro de eliminar el registro",32+4,"atencin") if nresp=6 &&si nresp es no delete next 1 pack if eof() skip -1 Ren J. Hercilla Valdivia

VISUAL FOXPRO else skip endif thisform.refresh() endif Command6 Click with thisform if .command6.caption="Nuevo " append blank . combo1.value="Soltero(a)" . combo2.value="Activo" . combo3.value="Contratado" .optiongroup1.value=1 .text1.setfocus . command6.caption="Guard ar" else repla empleado.civiemp with iif(.combo1.value="Soltero(a )","S",iif(.combo1.value="Ca Creacin de Mens: Ejemplo N 8: Archivo Mantenimient Empleados Ctrl+E o Nuevo Obreros Ctrl+N Abrir Otros C.E.O. SAN LUIS

37 sado(a)","C",iif(.combo1.val ue="Viudo(a)","V","D"))) repla empleado.estaemp with iif(.combo2.value="Activo"," A",iif(.combo2.value="Vacac iones","V",iif(.combo2.value ="Permiso","P","R"))) repla empleado.condemp with iif(.combo3.value="Contrata do","C",iif(.combo3.value=" Estable","E","S")) repla empleado.damaemp with iif(.optiongroup1.value=1,.f., .t.) endif endwith Command7 Click thisform.release Form1 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord thisform.label14.caption=str (recno())

Listado Informe Ctrl+G Por Boletas

general Apellidos Cdigo Ren J. Hercilla Valdivia

VISUAL FOXPRO Salir Ctrl+S

38 Fecha nacimiento Otros de

Procesos Boleta Pagos Nominas Planillas

Herramientas de Configuracin Usuarios Add Modulos About Ctrl+A

Diseador de Mens Indicador Accin \<Archivo Subme n \<Listado Subme n \<Procesos Subme n \<Herramient Subme as n Diseador de Mens Indicador Accin \<Mantenimie nto Nuevo \<Abrir C.E.O. SAN LUIS Submen Submen Submen C rear C rear C Modific ar Crear Crear Crear

Opcion es

Nivel de Men Barra de Men Barra de Men Barra de Men Barra de Men Nivel de men Archivo Archivo Archivo Ren J. Hercilla Valdivia

Opciones

VISUAL FOXPRO \\<Salir rear Submen C rear Comand Set sysmenu to o default

39 Archivo Archivo

Opciones de accin (Del submen Salir) Etiqueta Tecla Ctrl. + S Texto de Tecla Ctrl. + S Mensaje Nos permite salir del men principal Diseador de Mens Indicador Accin \<Salir Coman do \<Emplead Coman os do \<Informe Coman General do Creacin de Informes: Opciones Set sysmenu to default Nivel de Men Archivo

Do form C:\Mis Doc\ Mantenimie Ren\ Empleado.Scx nto Repeort form C:\Mis Listado Doc\ Ren\ Informe1.Frx preview

Empresa de Estructuras Metlicas S.A. Av. Industrial 405


Cdigo Apellido Nombre Fecha de Nacimien to Naciemp .... ....

Encabezado de Pgina Codiem Apelemp Nombem p p Detalle Telfono: R.U.C. N: C.E.O. SAN LUIS

Fax N:

Ren J. Hercilla Valdivia

VISUAL FOXPRO Pie de Pgina Ingresar los siguientes registros: Codie Apelemp Nombem mp p 201 Chacn Jos 202 Melgar Estrella 103 Torres Pino Mario 205 Medina Carpio Cecilia 179 Fuetes Galdos Ricardo 150 Paredes Tapia Lucia Jurez Yucra Naciemp 12/10/1975 11/11/1970 12/11/2001 11/09/2001 14/11/1987 15/08/1983

40

Creacin de Consultas: Pgina Campos: Agregar todos. Pgina Combinacin: (Nada) Pgina Filtro: Nombre del N Criteri Ejemplo campo o o Consulta Empleado.dama = .F. 1 emp Consulta Empleado.codie < 200 2 mp Consulta Empleado.apele = Jurez Yucra 3 mp Consulta Empleado.nacie < Ctod(01/01/7 4 mp > 8) Empleado.nacie Ctod(12/31/7 mp 4) Pgina Ordenado Por: Consulta1 ordenado por el campo: Codiemp Consulta2 ordenado por el campo: Nombemp Pgina Agrupar Por: (Nada) Pgina Varios: (Nada)

M/ m

Lgic o

And

C.E.O. SAN LUIS

Ren J. Hercilla Valdivia

También podría gustarte