Separata De Visual Foxpro

  • Uploaded by: Berthing Andrade
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Separata De Visual Foxpro as PDF for free.

More details

  • Words: 5,956
  • Pages: 40
VISUAL FOXPRO

1 VISUAL FOXPRO

Es una aplicación orientada a Windows que nos permite crear programas, procesos, sistemas a través de una serie de herramientas que el Windows nos ofrece. Visual FoxPro en un lenguaje orientado a objetos a través de los cuales podemos implementar algún o algunos formularios con controles y códigos de programa. TERMINOS EN VISUAL FOXPRO: CONTROL O OBJETO: Es un objeto que viene predeterminado con Visual Basic y que puede ser creado a través 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: 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. Etiqueta. Crea un control Label, que se usa para texto que no quiere que el usuario cambie, como el título que

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

2

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 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.

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

3

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. 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. C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

4

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. PROPIEDAD: Es una característica o atributo que toma el objeto o control puede ser el color, tamaño, 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 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). 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).

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

5

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. METODO: Es un proceso que se ejecuta (predeterminado) según el control que se tiene en uso. Los objetos también tienen métodos, que son las acciones que pueden realizar. Los métodos se pueden considerar como las acciones que realizan los objetos. Ejemplo: Clear, Setfocus, Refresh, Etc. ALGUNOS MÉTODOS COMUNES: Clear (Borrar): Borra el contenido de un control ComboBox o ListBox. AddItem (Añadir 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 método 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 colección Forms del objeto Screen para encontrar el Form o FormSet y llamar a su método Release. Refresh (Actualizar): Fuerza que un formulario o control sea redibujado. Generalmente, el dibujado de un formulario o control se controla automáticamente 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 método 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

6

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. Después de invocar el método 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 acción con algún objeto o control. EVENTO: Una acción reconocida por un objeto, como hacer clic con el Mouse o presionar una tecla, para la que se puede escribir código para responder. Los eventos pueden producirse como resultado de una acción del usuario o por programa, o pueden ser disparados por el sistema. Ejemplo: Click encima de un botón de comando. ALGUNOS SUCESOS COMUNES: Los sucesos determinan la relación de los controles a las condiciones externas. Los controles reconocen los sucesos, pero es la aplicación la que la maneja. Un botón 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 código 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 botón 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 botón izquierdo del ratón; el DblClick tiene lugar cuando el usuario hace doble clic en el botón izquierdo del ratón. MouseDown (Ratón Abajo) MouseUp (Ratón Arriba): El suceso MouseDown tiene lugar cuando se presiona el botón del ratón, y el MouseUp cuando se suelta.

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

7

MouseMove (Movimientos del Ratón): Este suceso tiene lugar continuamente mientras se mueve el ratón 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 (Pulsación 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 carácter pulsado. DEFINICIONES IMPORTANTES: PROGRAMA: Es un conjunto de comandos, instrucciones, símbolos y códigos que nos permiten comunicarnos con la computadora y poder procesar la información. Se clasifican en lenguajes de bajo nivel y alto nivel. Los lenguajes de bajo nivel, son más director y para los cuales es necesario conocer la estructura interne de la computadora. Ejemplo el lenguaje de programación ASSEMBLER. Los lenguajes de alto nivel, más comerciales, más fáciles de operar y para los cuales no es necesario la estructura interna alguna. Ejemplo el lenguaje de programación FOXPRO. TIPOS DE PROGRAMA: a) Programa Fuente: Es un conjunto de instrucciones escritas en un lenguaje de programación, con la ayuda de un editor de textos. b) Programa Objeto: Es el conjunto de instrucciones escritas en un lenguaje máquina y que no pueden ser ejecutados por la computadora, es traducido desde el programa fuente al lenguaje máquina, 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 acción 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 automáticamente la extensión (OBJ).

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO c)

8

Programa Ejecutable: Es el conjunto de instrucciones listas para ser ejecutadas por la computadora, sin la intervención del software que genero dicha codificación. Este programa se genera de LINKEAR el programa. Linkear: Es la acción mediante la cual el sistema enlaza las librerías de un lenguaje de programación con el programa objeto, generando un programa ejecutable desde el sistema operativo, al cual le asigna automáticamente la extensión (EXE).

VARIABLES: Como en cualquier otro lenguaje de programación, las variables se usan para almacenar valores durante la ejecución de un programa. Las variables son huecos en memoria en los que se puede dejar valores para recogerlos cuando se necesiten. En la mayoría de los lenguajes de programación, se deben definir las variables. En otras palabras, se debe decir por adelantado al compilador las variables que se van a usar. La razón por la que se hace así es para ayudar al compilador. Si el compilador conoce las variables y sus tipos, puede producir un código más optimizado. TIPOS DE VARIABLES: VARIABLES NUMÉRICAS: Almacenan números. Los números se pueden almacenar con muchos formatos, dependiendo del tamaño de los números y de su precisión. VARIABLES DE TIPO STRING: Es aquel tipo de variable a los cuales podemos destinar caracteres alfabéticos, signos y números es decir que nos acepta cualquier tipo de carácter. 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 comprobación 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

9

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 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 C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

10

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 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” C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

11

EndIf 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 Bloque de sentencias 1 Case Bloque de sentencias 2 . . . EndCase Ejemplo: Opc=this.value 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

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

12

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 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

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 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 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. MANIPULACIÓN DE OBJETOS: Para manipular un objeto, deberá identificarlo en relación con la jerarquía contenedora. En el nivel superior de la jerarquía 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 = Configuración La tabla siguiente muestra las propiedades o las palabras clave que facilitan el establecimiento de referencias a un objeto en la jerarquía de objetos: Propiedad o palabra clave Referencia ActiveControl El control del formulario activo actualmente que tiene el enfoque ActiveFormEl 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 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 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. C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

15

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: 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": C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

16

RELEASE THISFORM CREATE: Nos permite crear formularios, tablas, base de datos, menús, 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 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.

PARTE PRACTICA

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO

Objeto Text1 Text2 Label4

17

Propiedad Valor Value (Valor) 0.00 Value 0.00 Alignment (Alineamiento) 1 – Derecha BorderStyle (Estilo de borde) 1 – Sencillo fijo Caption (Título) 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

C.E.O. SAN LUIS

Click

if .comagregar.caption="Agrega r"

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

C.E.O. SAN LUIS

20 .lis1producto.clear .texproducto.setfocus endwith 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

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="Administración" 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

C.E.O. SAN LUIS

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

René J. Hercilla Valdivia

VISUAL FOXPRO

Objeto Pageframe1 Timer1 C.E.O. SAN LUIS

23

Propiedad PageCount Interval

Valor 4 1 René J. Hercilla Valdivia

VISUAL FOXPRO Page1: Spinner1,2,3, 4,5 y 6 Page2: Spinner1,2

Page3: Spinner1,2

Page4: Spinner1

24

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

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

C.E.O. SAN LUIS

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

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 características" else .pageframe1.visible=.t. .shape1.visible=.t. .command2.visible=.t. . command1.caption="Es conde características" endif endwith Command2 Click with thisform . shape2.backcolor=.shape1 .backcolor . shape2.bordercolor=.shape 1.bordercolor . shape2.height=.shape1.heigh t

C.E.O. SAN LUIS

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

VISUAL FOXPRO arriba=0

27 formas=0

Ejemplo N°6: Crear la Tabla Libre Articulo.DBF Nombre Tipo Ancho Decimale s Codart Carácter 3 Desart Carácter 30 Stkart Numérico 4 0 Preart Numérico 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

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

Objeto Form1 Text1

28

Click

Propiedad ShowTips BackStyle Format ReadOnly Value

C.E.O. SAN LUIS

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

E

Valor .T. 0 – Transparente

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

VISUAL FOXPRO

29

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 línea 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 algún 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 algún objeto" thisformset.form2.refresh Text1 MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord

C.E.O. SAN LUIS

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

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 día"; +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 día"; +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 día"; +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 cálculo" C.E.O. SAN LUIS

30 thisformset.form2.refresh 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

31 this.tooltiptext="Ver ayuda" else .form2.visible=.t.

this.picture="D:\vfp\samples\ graphics\bmps\outline\open.b mp" .text2.setfocus endif .refresh endwith

this.tooltiptext="Ocultar ayuda" endif endwith

Command2 Click with thisformset if .form2.visible=.t. .form2.visible=.f.

Text2 Valid thisform.command3.click

Ejemplo N° 8: Crear el Proyecto: Empresa 2002. Crear la Base de Datos: Empresa. Crear la Tabla: Empleado. Nombre

Tipo

Codiemp

Carácte r Apelemp Carácte r Nombemp Carácte r Naciemp Fecha Damaemp Lógico Civiemp Carácte r Estaemp Carácte r Condemp Carácte r Ingremp Fecha Docuemp Carácte r C.E.O. SAN LUIS

Ancho

Decimal es

3 30 15 8 1 1 1 1 8 8

René J. Hercilla Valdivia

VISUAL FOXPRO Fonoemp Diremp Obsemp

Carácte r Carácte r Memo

32 7 25 4

Propiedades del campo Civiemp: Mostrar Validación de campos Formato: Regla: Civiemp$“SCVD ” Mascara de ! Mensaje: “Solo S,C,V,D” entrada: Título: Valor “S” predeterminado: Propiedades del campo Estaemp: Mostrar Validación de campos Formato: Regla: Estaemp$“AVPR ” Mascara de ! Mensaje: “Solo A,V,P,R” entrada: Título: Valor “A” predeterminado: Propiedades del campo Condemp: Mostrar Validación de campos Formato: Regla: Condemp$“CES ” Mascara de ! Mensaje: “Solo C,E,S” entrada: Título: Valor “C” predeterminado: Propiedades del campo Ingremp: Mostrar Validación de campos Formato: Regla: Mascara de Mensaje: C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO entrada: Título:

33 Valor predeterminado:

Date( )

Ingresar 5 registros. Crear el formulario Empleado:

C.E.O. SAN LUIS

René J. Hercilla Valdivia

VISUAL FOXPRO Objeto Text1 Text2 Text3 Text4 Txet5 Txet6 Txet7 Txet8 Edit1 Combo1

Combo2

Combo3

34

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

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

36

. 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

.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,"atención") 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 Creación de Menús: 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 Código René J. Hercilla Valdivia

VISUAL FOXPRO

38

Salir Ctrl+S

Procesos Boleta Pagos Nominas Planillas

Fecha nacimiento Otros

Herramientas de Configuración Usuarios Add Modulos About Ctrl+A

Diseñador de Menús Indicador Acción \
Subme nú \
Opcion es Modific ar Crear Crear Crear

Diseñador de Menús Indicador Acción \<Mantenimie nto Nuevo \
Submen ú Submen ú Submen

Nivel de Menú Barra de Menú Barra de Menú Barra de Menú Barra de Menú

Opciones C rear C rear C

Nivel de menú Archivo Archivo Archivo

René J. Hercilla Valdivia

de

VISUAL FOXPRO

39

ú rear Submen C ú rear Comand Set sysmenu to o default

\\<Salir

Archivo  Archivo

Opciones de acción (Del submenú Salir) Etiqueta Tecla Ctrl. + S Texto de Tecla Ctrl. + S Mensaje “Nos permite salir del menú principal” Diseñador de Menús Indicador Acción \<Salir

Coman do \<Emplead Coman os do \
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

Creación de Informes:

Empresa de Estructuras Metálicas S.A. Av. Industrial 405 Código

Apellido

Nombre

Encabezado de Página Codiem Apelemp Nombem p p Detalle Teléfono: R.U.C. N°: C.E.O. SAN LUIS

Fecha de Nacimien to Naciemp

....

....

Fax N°:

René J. Hercilla Valdivia

VISUAL FOXPRO

40

Pie de Página Ingresar los siguientes registros: Codie Apelemp Nombem mp p 201 Chacón José 202 Melgar Estrella 103 Torres Pino Mario 205 Medina Carpio Cecilia 179 Fuetes Galdos Ricardo 150 Paredes Tapia Lucia Juárez Yucra

Naciemp 12/10/1975 11/11/1970 12/11/2001 11/09/2001 14/11/1987 15/08/1983

Creación de Consultas: Página Campos: Agregar todos. Página Combinación: (Nada) Página Filtro: Nombre del N Criteri Ejemplo campo o o Consulta Empleado.dama = .F. 1 emp Consulta Empleado.codie < 200 2 mp Consulta Empleado.apele = “Juárez Yucra” 3 mp Consulta Empleado.nacie < Ctod(“01/01/7 4 mp rel="nofollow"> 8”) Empleado.nacie Ctod(“12/31/7 mp 4”) Página Ordenado Por: Consulta1 ordenado por el campo: Codiemp Consulta2 ordenado por el campo: Nombemp Página Agrupar Por: (Nada) Página Varios: (Nada)

C.E.O. SAN LUIS

M/ m

Lógic o

And

René J. Hercilla Valdivia

Related Documents

Separata De Visual Foxpro
November 2019 19
Guia De Visual Foxpro
October 2019 23
Separata De Visual C++
November 2019 22
Separata De Visual Basic
November 2019 21

More Documents from ""

Separata De Coreldraw
November 2019 23
Separata De Visual Basic
November 2019 21
Separata De Flash
November 2019 12
Separata De Word
November 2019 18