(POO) en Foxpro!! _ Quiero Aprobar Programacion



Comments



Description

(POO) En Foxpro!!| Quiero aprobar Programacion 1 de 20 http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html (POO) En Foxpro!! 5th May 2012 Programación en Visual FoxPro [http://3.bp.blogspot.com/-O9h66CeTuaY /T6XR4H1m3zI/AAAAAAAAAAs/wgAB9Nrsag8/s1600/descarga.jpg] Visual FoxPro es una eficaz herramienta de administración de datos, pero además podrá beneficiarse de toda su eficacia para crear aplicaciones. Comprender las técnicas de programación orientada a objetos y el modelo controlado por eventos puede aumentar su productividad como programador. Conceptos iniciales. Variable: Espacio de memoria que permite almacenar información que puede cambiar o variar durante la ejecución de un programa. Las variables pueden ser dos tipos: numéricas y alfanuméricas. El nombre de una variable puede contener hasta 8 caracteres: letras y números. Debe comenzar con una letra. Constante: Valor que no cambia o varia durante la ejecución de un programa. Ejemplo de una constante es el número Pi que siempre vale 3,1416 Comandos de Edición y Ejecución Modify Command: Permite entrar al editor de programas del foxpro. Puede escribirse como Modi Comm. Losprogramas en foxpro se reconocen o identifican porque poseen la extensión .Prg. Para almacenar un programa se utiliza la combinación Ctrol + W Formato: Modi Comm [unidad: ] [Nombre del programa] Ejemplos: Modi comm A:Programa Almacena el programa en la unidad de Modi comm Sueldos disco por defecto Do: El comando Do ejecuta un programa en foxpro. Formato: Do [unidad: ] [Nombre del programa] 02/07/2015 20:44 (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html Ejemplos: Do A:Programa Do Sueldos Comandos de Programación Clear: Borra / Limpia pantalla * ó Note: El asterisco o Note permite al usuario hacer un comentario o breve descripción del programa. Set Talk Off / On: Desactiva/activa la visualización de mensajes e inicializaciones propios del foxpro. Set Bell Off / On: Activa/ desactiva la emisión de sonidos (pitido) al momento de rellenar campos o variables. Set Stat On/Off: Activa / desactiva la visualización de la línea de status en el foxpro. @ Fila, Col to Fil,Col: Permite generar o imprimir un cuadro en pantalla, donde el usuario indica las coordenadas del extremo superior izquierdo y el extremo inferior derecho. Programación orientada a objetos Aunque Visual FoxPro admite la programación estándar por procedimientos, se ha ampliado la capacidad del lenguaje para proporcionar la potencia y la flexibilidad propias de la programación orientada a objetos. El diseño orientado a objetos y la programación orientada a objetos representan un cambio de perspectiva con respecto a la programación estándar por procedimientos. En lugar de pensar en el flujo del programa desde la primera hasta la última línea de código, se debe pensar en la creación de objetos: componentes auto contenidos de una aplicación que tienen funcionalidad privada además de la funcionalidad que se puede exponer al usuario. En este blog se tratan los temas siguientes: Descripción de los objetos de Visual FoxPro Descripción de las clases de Visual FoxPro Adaptar la clase a la tarea Crear clases Agregar clases a formularios Definir clases mediante programación 2 de 20 Descripción de los objetos de Visual FoxPro En Visual FoxPro, los formularios y los controles son objetos que puede incluir en sus aplicaciones. Puede manipular estos objetos a través de sus propiedades, eventos y métodos. Las mejoras en el lenguaje orientado a objetos de Visual FoxPro proporcionan un mayor control sobre los objetos de las aplicaciones. Asimismo, facilitan la creación y el mantenimiento de bibliotecas de código reutilizable, proporcionando: · Código más compacto. · Incorporación más sencilla del código a las aplicaciones sin necesidad de elaborar esquemas de asignación de nombres. · Menos complejidad al integrar código de distintos archivos en una aplicación. La programación orientada a objetos es en gran medida un modo de empaquetar código de manera que se pueda volver a utilizar y mantener más fácilmente. Los paquetes principales se llaman clases. Clases y objetos: los bloques funcionales de las 02/07/2015 20:44 Propiedad Descripción Caption Texto descriptivo que aparece junto a la casilla de verificación. Por ejemplo.(POO) En Foxpro!! | Quiero aprobar Programacion 3 de 20 http://kensy-garcia. Top Posición de la parte superior de la casilla de verificación Visible Especifica si la casilla de verificación es visible o no. un teléfono tiene un color y un tamaño determinados. Cuando se instala un teléfono en la oficina. El receptor puede estar colgado o descolgado. Una clase es el plano o esquema de un objeto. el esquema eléctrico y de diseño de un teléfono sería algo similar a una clase. Enabled Especifica si un usuario puede elegir o no la casilla de verificación. Por ejemplo.blogspot. en la tabla siguiente se indican algunas propiedades que puede tener una casilla de verificación. ForeColor Color del texto del título. Los objetos tienen propiedades Un objeto tiene ciertas propiedades o atributos. pero no son lo mismo. Left Posición del extremo izquierdo de la casilla de verificación. Una clase contiene información sobre cuál debe ser la apariencia y el comportamiento de un objeto.com/2012/05/poo-en-foxpro. El objeto o una instancia de la clase sería el teléfono. MousePointer Apariencia del puntero del mouse (ratón) cuando está s situado sobre la casilla de verificación. tiene una determinada posición sobre la mesa. Por ejemplo.html aplicaciones Las clases y los objetos están estrechamente relacionados. 02/07/2015 20:44 . Estas propiedades pueden establecerse en tiempo de diseño o en tiempo de ejecución. Los objetos que se crean en Visual FoxPro también tienen propiedades que están determinadas por la clase en la que se basa el objeto. ese código se ejecutará cuando se produzca el evento Clic. Por ejemplo. Los eventos también se desencadenan cuando el usuario presiona los botones para efectuar una llamada. Los eventos. Sin embargo. Inicializar un objeto y encontrar una línea de código que produce un error son eventos iniciados por el sistema.com/2012/05/poo-en-foxpro. La tabla siguiente muestra algunos de los eventos asociados a una casilla de verificación: Evento Descripción Click El usuario hace clic en la casilla de verificación. con un teléfono. Un evento es una actividad específica y predeterminada.(POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia. GotFocus El usuario activa la casilla de verificación al hacer clic en ella o al llegar a ella a través de la tecla TAB.html Los objetos tienen eventos y métodos asociados Cada objeto reconoce y puede responder a determinadas acciones denominadas eventos. En Visual FoxPro. Los métodos también pueden existir independientemente de los eventos. Los métodos son procedimientos asociados a un objeto. movimientos del mouse y pulsaciones de teclas. 4 de 20 02/07/2015 20:44 . LostFocus El usuario selecciona otro control. Los eventos pueden tener métodos asociados. SetFocus El enfoque se establece en la casilla de verificación como si el usuario hubiera presionado la tecla TAB hasta activar la casilla de verificación. Se debe llamar a estos métodos de forma explícita en el código. El conjunto de eventos es limitado. Los métodos se diferencian de los procedimientos normales de Visual FoxPro en que están vinculados inseparablemente a un objeto y tienen nombres distintos que los procedimientos normales de Visual FoxPro. La tabla siguiente muestra algunos métodos asociados a una casilla de verificación: Método Refresh Descripción El valor de la casilla de verificación se actualiza para reflejar los cambios que se puedan haber producido en el origen de datos subyacente. Por ejemplo. se generan por interacción del usuario. si escribe código de método para el evento Clic. las acciones del usuario que desencadenan eventos incluyen clics. No es posible crear nuevos eventos. en la mayor parte de los casos. aunque amplio.blogspot. el conjunto de métodos puede ampliarse indefinidamente. iniciada por el usuario o por el sistema. se desencadena un evento cuando un usuario descuelga el receptor. La complejidad de realizar esa conexión queda oculta. La ventaja de ignorar los detalles internos de un objeto para poder centrarse en los aspectos del objeto que necesita utilizar se denomina abstracción. marcar los números apropiados y hablar con la persona con la que desea hablar. la realización o la finalización de conexiones con centralitas electrónicas o la conversión de las pulsaciones de tecla en señales electrónicas. se ahorraría mucho trabajo si pudiera hacer el cambio en el diagrama original y hacer que todos los teléfonos fabricados anteriormente con ese diagrama heredaran automáticamente la nueva característica. además de la funcionalidad y los controles adicionales que quiera darle. 02/07/2015 20:44 . las propiedades que determinan los elementos de un cuadro de lista y el código que se ejecuta al elegir un elemento de la lista pueden encapsularse en un único control que se agrega a un formulario. La complejidad interna puede estar oculta El encapsulamiento.com/2012/05/poo-en-foxpro. lo más probable es que no le interese el funcionamiento interno del aparato para la recepción de llamadas. Las subclases le permiten reutilizar código Simplificar el mantenimiento de código Con la herencia. ese cambio se reflejará en todas las subclases que se basen en ella. en lugar de tener que agregarla a todos los teléfonos existentes individualmente. que empaqueta el código de métodos y propiedades en un mismo objeto.html Descripción de las clases de Visual FoxPro Todas las propiedades. Lo único que necesitará saber es que puede levantar el auricular. Además. Aprovechar la potencia de las clases existentes Una subclase puede tener toda la funcionalidad de una clase existente.(POO) En Foxpro!! | Quiero aprobar Programacion 5 de 20 http://kensy-garcia. eventos y métodos de un objeto se especifican en la definición de clase. si realiza un cambio en una clase. Esta actualización automática ahorra tiempo y trabajo. si un fabricante de teléfonos quisiera cambiar los teléfonos de tipo marcación por aparatos de pulsación.blogspot. Por ejemplo. podrá tener subclases que tengan toda la funcionalidad del teléfono original y todas las características especializadas que desee darles. contribuye a la abstracción. las clases tienen las siguientes características que las hacen especialmente útiles para crear código reutilizable y fácil de mantener: v Encapsulamiento v Subclases v Herencia Ocultar la complejidad innecesaria Cuando instale un teléfono en la oficina. Por ejemplo. Si la clase es un teléfono básico. cualquier objeto excepto conjuntos de formularios. Puede cambiar fácilmente las posiciones de los cuadros de lista o los títulos de los botones de comando. marcos de página. Conjuntos de formularios Formularios.blogspot. a continuación. 02/07/2015 20:44 . cualquier control. Clases de contenedor Los contenedores pueden incluir otros objetos y permiten el acceso a los objetos que contienen. por ejemplo. cronómetros y otras columnas. Por ejemplo. barras de herramientas. son las clases de contenedor y las clases de control. barras de herramientas Formularios Marcos de página. puede agregar etiquetas para identificar los cuadros de lista. Columnas de cuadrícula Encabezados de columnas. formularios.(POO) En Foxpro!! | Quiero aprobar Programacion 6 de 20 http://kensy-garcia. de objetos de Visual FoxPro. si crea una clase de contenedor que consta de dos cuadros de lista y dos botones de comando. cada objeto individual podrá manipularse en tiempo de ejecución y en tiempo de diseño. contenedores. También puede agregar objetos al control en tiempo de diseño. La tabla siguiente muestra los posibles componentes de cada clase de contenedor: Contenedor Puede contener Grupos de botones de comando Botones de comando Contenedor Cualquier control Control Cualquier control Personalizado Personalizado Cualquier control.com/2012/05/poo-en-foxpro.html Contenedores y no contenedores Los dos tipos principales de clases de Visual FoxPro y por extensión. agrega a un formulario un objeto basado en esta clase. THIS. Clases de base de Visual FoxPro En el Diseñador de clases puede crear subclases para la mayoría de las clases de base de Visual. IIF(THIS.nSec)) Las convierte al tipo Character cMinDisplay = ALLTRIM(STR(THIS. Especifique el tipo de clase que desea crear en el cuadro de diálogo Nueva clase o en la cláusula AS del comando CREATE CLASS. y usar esta clase en la aplicación en cualquier momento que desee agregar un cuadro de texto. Decidir qué tipo de clase va a crear Visual FoxPro permite crear distintos tipos de clases.html Adaptar la clase a la tarea Es conveniente poder usar clases en muchos contextos distintos. de formulario y de control con una apariencia característica. un botón para cerrar un formulario y un botón de ayuda pueden guardarse como clases y agregarse a formularios en cualquier momento que desee que los formularios tengan esta funcionalidad. Un diseño inteligente le permitirá decidir con mayor efectividad qué clases desea diseñar y qué funcionalidad va a incluir en la clase. podría agregar gráficos y patrones de color específicos a una clase de formulario y utilizarla como plantilla para todos los formularios que cree. Código Comentarios CSecDisplay = ALLTRIM(STR(THIS. Proporcionar una apariencia y un uso coherentes Puede crear clases de conjunto de formularios. Es muy probable que acabe con múltiples clases que tengan prácticamente la misma función y que deban mantenerse por separado.Caption = . 7 de 20 Establece los títulos de etiqueta. de modo que todos los componentes de la aplicación tengan la misma apariencia. 02/07/2015 20:44 . como un efecto de sombreado. aunque éste no es el modo más efectivo de diseñar aplicaciones. cada uno con sus propias características.blogspot. los botones de comando que permiten al usuario mover el puntero de registro en una tabla.(POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia. Puede exponer las propiedades y los métodos en una clase de modo que el usuario pueda integrarlos en el entorno de datos concreto de un formulario o un conjunto de formularios.lblSeconds. Encapsular funcionalidad genérica Cree una clase de control para funcionalidad genérica.com/2012/05/poo-en-foxpro. Por ejemplo. Por ejemplo. . Podría crear una clase de cuadro de texto con una apariencia característica.nSec < 10.nMin)) para mostrarlos de tipo cHourDisplay = ALLTRIM(STR(THIS. Decidir cuándo crear clases Puede crear una clase para cada control y cada formulario que utilice.nHour)) etiqueta. .BackColor = RGB(192.nSec < 10.ForeColor = RGB(0.txtDate.0.Objeto. Para establecer una propiedad Utilice esta sintaxis: Contenedor.Value = DATE( ) 8 de 20 Establecer múltiples propiedades La estructura WITH . .Propiedad = ValorManual del programador.0) && texto en negro frmPhoneLog.BackColor = RGB(255. Si los usuarios necesitan averiguar cuándo se contrató a un empleado determinado. frmPhoneLog es el objeto contenedor de mayor nivel. puede proteger la propiedad FechaContr. Parte 1: Programación en Visual FoxPro Página 55 de 83 Por ejemplo.com/2012/05/poo-en-foxpro. Las propiedades de un objeto pueden establecerse en tiempo de ejecución o en tiempo de diseño."") + cSecDisplay THIS.ForeColor = RGB(0. IIF(THIS.nMin < 10. && El control está activado frmPhoneLog. podría utilizar la sintaxis siguiente: WITH THISFORMSET.F. para establecer múltiples propiedades de una columna en una cuadrícula de un formulario perteneciente a un conjunto de formularios.SelectOnEntry = . "0" . también debería incluir el conjunto de formularios en la ruta de acceso primaria: frsContacts.Width = 5 .txtDate.T.nHour < 10.txtDate. . DEFINE CLASS empleado AS CUSTOM PROTECTED FechaContr Nombre = "" Apellido = "" 02/07/2015 20:44 .Enabled = .. si crea una clase para almacenar información sobre empleados y no desea que los usuarios puedan modificar la fecha de contratación. . . Establecer propiedades.255) . "0". "") + cMinDisplay THIS. podrá incluir un método para devolver la fecha de contratación.lblHours. "") + cHourDisplay conservando los 0 iniciales si el valor de la propiedad numérica es menor que 10. "0".T. Por ejemplo.html conservando los 0 iniciales si el valor de la propiedad numérica es menor que 10.192) && fondo en gris Para la configuración de propiedades de los ejemplos anteriores.grdGrid1.txtDate.(POO) En Foxpro!! | Quiero aprobar Programacion IIF(THIS.blogspot. Por ejemplo.255. ENDWITH simplifica el establecimiento de múltiples propiedades.txtDate. las instrucciones siguientes establecen varias propiedades de un a cuadro de textollamado txtDate en un formulario llamado frmPhoneLog: frmPhoneLog.Value = DATE( ) && Muestra la fecha actual frmPhoneLog. ENDWITH Proteger y ocultar miembros de clase Puede proteger u ocultar propiedades y métodos de una definición de clase con las palabras clave PROTECTED y HIDDEN del comando DEFINE CLASS.Resizable = .frmPhoneLog. IIF(THIS.Caption = .0.lblMinutes.grcColumn1 . http://kensy-garcia.frmForm1.Caption = .192.0) . Si frmPhoneLog estuviera incluido en un conjunto de formularios. html Dirección = "" FechaContr = { .blogspot.} PROCEDURE ObtFechaContr RETURN This.com/2012/05/poo-en-foxpro.(POO) En Foxpro!! | Quiero aprobar Programacion 9 de 20 http://kensy-garcia.FechaContr ENDPROC ENDDEFINE 02/07/2015 20:44 .. html Programas en Foxpro y explicación de lo que realiza. Se debe indicar la fila (0-24) y después la columna (0-79).Col Ejemplo: @ 5. Formato: @ Fila.10 Say “Incluya su nombre” @ 15.Columna Say [ Literal . Var2. Store: Permite asignar un valor o expresión a una variable o lista de variables.70 Explicación: Genera un cuadro con línea simple desde la fila 5 columna 10 hasta la fila 9 columna 70 @ F. dato o variable en una coordenada específica de pantalla. Col clear to Fila. [http://2. Da una longitud de 20 espacios a las variables Nomb y Dire Efectúa la suma de V1 y V2 .10 to 9.C: El comando Clear to. y el resultado se almacena en V3 @ Fil. Si se indica un valor mayor el programa envía un mensaje de error.(POO) En Foxpro!! | Quiero aprobar Programacion 10 de 20 http://kensy-garcia..30 Explicación: Borra la pantalla desde la fila 5 columna 10 hasta la fila 15 columna 30.V3 Store Space(20) to Nomb.V2. Formato: @ Fila.gif] Formato: @ Fil. Dire Store V1+V2 to V3 Explicación: Asigna 0 a las variables V1.Col to Fil.blogspot.. .V2 y V3 con lo que pasan a ser variables numéricas. Var “n” Ejemplos: Store 0 to V1.C clear to F.10 clear to 15.Col Ejemplo: @ 5.com/2012/05/poo-en-foxpro. Formato: Store [valor/expresión] to Var1. Variable] Ejemplos: @ 10.com/-DM_sTQrxxZI /T6XR9w2YtsI/AAAAAAAAAA0/CkFX8UZUEMc/s1600/1023481foxpro_logo.Col Say: El Comando Say le proporciona al usuario la posibilidad de imprimir un literal.blogspot.. da la posibilidad al programador de borrar sectores o partes de la pantalla.20 Say Sueldo 02/07/2015 20:44 .bp. 10 say “Indique el % de descuento “ Get Desc Read Picture: El comando Picture permite establecer un formato (máscara) bien sea de entrada o de salida de los datos. En la variable Nom se puede escribir letras y se visualizan en mayúsculas. · En los números indica la representa los miles .10 say “Incluya el monto de la venta “ Get Venta @ 12. En la variable Prom se pueden almacenar solo dígitos y se ha establecido la posibilidad de especificar dos decimales. el comando Read asigna los valores leídos a la variable o variables especificadas. · En los números indica la posición del punto decimal Se pueden usar combinaciones de estas plantillas en un mismo picture.com/2012/05/poo-en-foxpro.html Explicación: Imprime en la fila 10 columna 10 el literal Incluya su nombre Imprime la variable Sueldo en la fila 15 columna 20 Get-Read: El comando Get permite aceptar valores desde el teclado. Formato : @ Fil.10 say “Introduzca su nombre “ Get Nombre Read @ 10. 11 de 20 02/07/2015 20:44 . Esto dos comandos se usan en la mayoría de los casos en combinación con el @ Say. Col Say [Literal] get Variable Read Ejemplos: @ 10. El picture maneja distintas plantillas relacionadas con los diferentes tipos de datos que pueden ser incluidos. la ejecución del programa se detiene. Todo Get o grupo de Gets debe tener su correspondiente Read. Plantilla Acción A · Acepta solamente letras 9 · Acepta exclusivamente dígitos y signos ! · Transforma todos los caracteres en mayúsculas . Range: El comando range permite establecer o definir un rango de valores válidos para una variable numérica al momento de introducir datos por medio del teclado.(POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.99” @ 7. Si el valor incluido sobrepasa o es menor al rango especificado.10 say “ Incluya el promedio “ get Prom Pict “99. Formato: Picture “ plantilla(s)” Ejemplos: @ 5.10 say “ Nombre del alumno “ get Nom Pict “@A!” Explicación. @ 10.20 @ 7. Resaltado : Color de la visualización de las variables o campos editados con GET . Formato: Valid Variable$”items o datos válidos” Ejemplo: @ 5.5 say “Continua la ejecución del programa (S/N) “get Ru Pict “!” Valid Ru$”SN” Explicación: La variable Ru sólo acepta como posible contenido una S o una N. Para desactivar una combinación de colores basta colocar Set Color to Colores : B=Azul R= Rojo N=Negro Bg = Cian W=Blanco Gr = Marrón G=Verde RB= Magenta + = Resalta color * = Parpadeo Ejemplos : Set Color To W+/B+.blogspot. en caso que el usuario coloque otro carácter la ejecución del programa no continua. Formato : Set Color To estandar. El valor que puede ser asignado a la variable Nota va de 1 a 20 El valor que toma la variable Edad va de 6 a 18 Valid: El comando Valid permite validar / definir la entrada de datos a una variable character. Se utiliza en la parte de impresión. cantidad de veces) Ejemplo.html Formato: Range valor inicial.com/2012/05/poo-en-foxpro.25 say “Introduzca una calificación (de 1 a 20) ” get Nota Pict “99” range 1.20) Explicación: 12 de 20 02/07/2015 20:44 . Formato: Replicate (signo.(POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia. Comando Set Color To : Permite cambiar o modificar los atributos de color de pantalla. resaltado Estandar : Color de visualización de los SAY. valor final Ejemplos: @ 5. Gr+/N Letra blanca sobre fondo Azul (Say) y letra Amarilla sobre fondo Negro Set Color to R+/B+ Letra Roja sobre Fondo Azul Replicate: Permite repetir un carácter la cantidad de veces que se requiera.10 say Repl (“*”.18 Read Explicación.25 say “Introduzca edad del alumno “ get Edad Pict “99” range 6. Condiciones. Formato: If [Condición] Instrucciones Else Instrucciones Endif El Endif establece el final de las instrucciones que se ejecutan dependiendo de la condición que se está verificando. el programa procede a calcular Comision como el 10 % de Suel y Vacacion como 90 días de sueldo.20 say “Introduzca el sueldo del empleado “ get Suel Read If Suel > 50000 Comision = Suel * 4 /100 Vacacion = Suel / 30 * 45 Endif 02/07/2015 20:44 .Else . En foxpro el comando que permite establecer condiciones es el If. Ejemplo: @ 10.20 say “Introduzca el sueldo del empleado “ get Suel Read If Suel > 50000 Comision = Suel * 4 /100 Vacacion = Suel / 30 * 45 else Comision = Suel * 10 /100 Vacacion = Suel / 30 * 90 Endif Explicación: En este ejemplo se evalúa el contenido de la variable Suel. en caso de almacenar 50000 o menos. el programa procede a calcular una variable llamada comisión como el 4 % de Suel y Vacacion como 45 días de sueldo.Endif. si ésta almacena un valor mayor de 50000. si es falsa va a ejecutar las instrucciones ubicadas después del Else. se ejecutan las órdenes ubicadas después del If.(POO) En Foxpro!! | Quiero aprobar Programacion 13 de 20 http://kensy-garcia. Otra forma de desarrollar el caso anterior es el siguiente: @ 10.blogspot.html Imprime 20 veces el signo “*” a partir de las coordenadas fila 10 y columna 10.com/2012/05/poo-en-foxpro. de lo contrario. en el cual si la condición verificada es cierta. @ 5. Al momento de transcribir un programa. que verifica multiples condiciones (2 o más) y dependiendo de aquella que se cumpla ejecutará una serie de instrucciones. . Operadores lógicos Los operadores lógicos son estructuras que permite desarrollar o establecer varias condiciones en un mismo if.or. Explicación · Todas las condiciones parciales evaluadas en el If deben cumplirse.30 say “ Nota aprobatoria” Endif Explicación: Si el valor que se incluye a la variable sue (sueldo) está comprendido entre 50000 y 100000. para que la condición final sea cierta · La condición evaluada debe ser falsa para que la condición final sea cierta Ejemplos: @ 5.Endcase: El Do case . puede establecer If dentro de otros If. · Basta que una de las condiciones parciales se cumpla.com/2012/05/poo-en-foxpro.blogspot. .and.Not. sue <100000 Bono=sue *4 / 100 Endif 2. generando lo que se denomina If anidados. entonces el programa procede a calcular Bono como el 4 % de sue. Calif =10 @ 7.20 Read If calif>10 . Formato: 02/07/2015 20:44 . Si la calificación incluida a la variable calif es mayor a 10 o igual se imprime el mensaje de nota aprobatoria. establece condiciones lógicas.html If Suel <= 50000 Comision = Suel * 10 /100 Vacacion = Suel / 30 * 90 Endif Aquí se utilizan dos If o condiciones independientes. Do Case .Endcase es un comando de selección múltiple. para que la condición final sea cierta.20 say “Sueldo: “ get sue pict “99999” Read If sue>50000 . Los operadores lógicos son: Operador Lógico . Asimismo. esto es.(POO) En Foxpro!! | Quiero aprobar Programacion 14 de 20 http://kensy-garcia. el programador debe estar pendiente de cerrar cada uno de los If que haya utilizado dentro del programa.20 say “Calificación: “ get Calif pict “99” range 1.Or.And. 20 say “Enero” Case nm=2 @ 12.10 say “Introduzca el Nº del mes: “ get nm pict “99” range 1. En el Do Case se debe colocar Endcase una sola vez. Contadores y acumuladores Los contadores y acumuladores son variables numéricas que permiten determinar información específica durante la ejecución de un programa.12 Read Do case Case nm=1 @ 12. Ejemplo: Clear Nm=0 @ 10. Al usar el comando range solo se aceptan valores que van de 1 a 12. A continuación se presenta un cuadro con las características más importantes de estas variables.20 say “Febrero” Case nm=3 @ 12.(POO) En Foxpro!! | Quiero aprobar Programacion 15 de 20 http://kensy-garcia.html Do case Case [Condición 1] Instrucciones Case [Condición 2] Instrucciones: Case [Condición N] Instrucciones Otherwise Instrucciones Endcase El Otherwise es una instrucción que se ejecuta cuando ninguna de las opciones establecidas se cumple. Cumple similar función que el Else en el If. Contador Acumulador 02/07/2015 20:44 .20 say “Diciembre Endcase Explicación: Dependiendo del valor que tome la variable nm se imprime el nombre del mes.20 say “Marzo” : Case nm=12 @ 12.com/2012/05/poo-en-foxpro.blogspot. Valor Formato: Variable= variable + Variable Variable=variable+1 Expresión Ejemplos: Ejemplos: C=C+1 C=C+20 Valores=Valores+1 Suma=Suma+Valor Total= Total + (N*E) Los contadores y acumuladores son utilizados regularmente en combinación con el If o con el Do While. Siempre se Formato: incrementa en uno. Ejemplo 1. For Next: El for-next permite al usuario repetir una serie de instrucciones mientras que el valor indicado como final. la ejecución del programa pasa a la siguiente instrucción después del next. Permite determinar el total de los valores leídos o trabajados. Comandos de iteración o repetición Se denomina iteración. Al momento en que la variable de control exceda el valor final especificado. Numero=0 Contador=1 For Numero=1 to 20 02/07/2015 20:44 . Estas estructuras en foxpro son el For . Formato: For <VC> = VI to VF [step Inc] Instrucciones Next <VC> En donde: VC: Representa la variable de control del ciclo. al hecho de repetir varias veces una serie de instrucciones por medio de estructuras cíclicas.Next y el Do While.blogspot. veces que se repite un proceso o dato. el For se incrementa por defecto de 1 en 1. el valor en que aumenta la variable de control cada vez que pasa la ejecución del computador por el ciclo. Variable que controla o determina la cantidad de Se incrementa en cualquier valor. Cuando no se especifica la cláusula Step.html Variable que suma o acumula valores. VI: Identifica el valor inicial que se asigna a la variable de control VF: Representa el mayor valor que toma la variable de control Step Inc: Indica el incremento. no sea excedido por el valor de la variable de control. Nota: Todo For debe tener su next asociado.com/2012/05/poo-en-foxpro. La persona que desarrolla el programa debe plantearse muy bien cual de los dos tipos de variables debe usar.(POO) En Foxpro!! | Quiero aprobar Programacion 16 de 20 http://kensy-garcia. blogspot.20 say “Introduzca una nota:“ get Nota pict “99” range 1.(POO) En Foxpro!! | Quiero aprobar Programacion 17 de 20 http://kensy-garcia.15 say “La suma de los números pares menores o iguales a 20 es: “ @ 5.html @ Contador. cuando la variable Número llega al valor de 21 que excede el valor final especificado.i. También se observa que la variable número no sufre ningún incremento por medio de instrucción. La variable Contador tiene la función de sustituir el Nº de fila donde se imprimen los datos.55 say Sumpar pict “999” En el ejemplo anterior se acumulan los números pares comprendidos entre el 2 y el 20 ambos inclusive.20 read If Nota<10 Capla=capla+1 Else Capro=Capro+1 Endif Tnota=Tnota + nota Next i Notapro=Tnota/15 @ 5.capro. Ejemplo 3: Store 0 to Tnota. Ejemplo 2: Sumapar=0 Contador=0 For contador= 2 to 20 step 2 Sumapar=Sumapar+contador Next contador @ 5. La ejecución del programa pasa a la siguiente instrucción después del next. se imprimen los 20 primeros números naturales. Esto se denomina contador de líneas.notapro For I=1 to 15 Clear Nota=0 @ 5.25 say notapro 02/07/2015 20:44 . es por ello que el valor inicial que toma la variable contador es de 2 y el valor final 20.10 say “Número: “ @ Contador. a la vez que sufre incrementos de 2 en 2. sino que se hace en forma automática.com/2012/05/poo-en-foxpro.20 say Numero pict “99” Contador= Contador+1 Next Numero En el ejemplo anterior por medio del For.10 say “Nota promedio: “ @ 5. capla. 500000 read 18 de 20 02/07/2015 20:44 .40 say Suma Pict “99” En el ejemplo anterior por medio del Do while se han generado los números del 1 al 10 y por medio del ciclo se acumulan esos valores en la variable suma. el control del programa pasa a la siguiente instrucción después del Enddo. Formato: Do While <Condición> (And / or) <Condición> Instrucciones Enddo Ejemplos: * Programa que calcula la suma de los 10 primeros números naturales Set talk off Set bell off Set stat off Suma=0 Contador=1 Do While Contador <=10 Suma=Suma+Contador Contador=Contador+1 Enddo @ 5. así como también la cantidad de alumnos aprobados y aplazados. Al imprimirla se imprime el valor de la suma total de los 10 primeros números naturales. Al momento de dejarse de cumplir la condición.com/2012/05/poo-en-foxpro. En caso de que se tengan que verificar dos o más condiciones se deben utilizar los operadores lógicos.(POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.html En este ejemplo se pide la nota de 15 alumnos y posteriormente se halla o calcula el promedio de esas notas.20 say “Empleado Nº” @ 5. 32 say Contador pict “99” @ 8.20 say “La suma es: “ @ 5. * Programa que pide el sueldo de 20 empleados y calcula el total de sueldos y el *sueldo promedio Tsueldo=0 Contador=1 Do While Contador <=20 Sueldo=0 Clear @ 5. Do While .Enddo: Permite repetir una serie de instrucciones mientras la condición que se está verificando es cierta.20 say “Introduzca el sueldo del empleado” get Sueldo Pict “99999” range 120000.blogspot. desechando la parte decimal. Formato: Col( ) Ejemplo: @ 5.20 say “El total de los sueldos es: “ @ 10. Comando Col( ): El comando Col( ) devuelve el Número de columna en que se encuentra ubicado el cursor. Funciones Función Int: La función Int (Integer).20 say “Monto vendido: “ @ Row()+1.20 say “El sueldo promedio es: “ @ 12. una variable o una expresión numérica. mientras que la variable contador controla la cantidad de empleados leídos.20 say “Monto vendido: “ @ 5.html Tsueldo=Tsueldo+sueldo Contador=Contador+1 Enddo Sueldop=Tsueldo / 20 Clear @ 10.20 say “Valor: “ @ 5. Formato: Row( ) Ejemplo: @ 5.blogspot.40 say Tsueldo pict “9999999” @ 12. El argumento puede estar representado por un valor. Comando Row( ): El comando Row( ) devuelve el número de la fila en que se encuentra ubicado el cursor.col()+1 say Montov Pict “99” En el ejemplo la variable Montov será impresa en la columna siguiente (columna 34).com/2012/05/poo-en-foxpro.(POO) En Foxpro!! | Quiero aprobar Programacion 19 de 20 http://kensy-garcia. Al tener el total de los sueldos.40 say Sueldop pict “9999999” En el ejemplo anterior por medio del Do while se ha desarrollado un proceso que permite pedir el sueldo de 20 empleados y posteriormente hallar el total de los sueldos (por medio de un acumulador).col( )+2 say B Pict “9” 02/07/2015 20:44 . Formato: INT (argumento) Ejemplo: B=0 A=7 B= Int(A/2) @ 5.20 say Montov Pict “99” En el ejemplo la variable Montov será impresa en la fila siguiente (fila 6). se puede obtener también el sueldo promedio al dividir el acumulador entre el número de empleados que es de 20. devuelve/toma la parte entera del argumento. desechando la parte decimal.com/2012/05/poo-en-foxpro. Publicado 5th May 2012 por Kensy Garcia 0 Añadir un comentario Comentar como: Publicar 02/07/2015 20:44 .20 say “Valor: “ @ 5.(POO) En Foxpro!! | Quiero aprobar Programacion 20 de 20 http://kensy-garcia. Nº de decimales) Ejemplo: B=0 A=7 B= Round(A/2. dependiendo de la cantidad de decimales que se especifiquen Formato: ROUND (argumento. ((7/2)= 3.5). Función Round: La función Round (Rounded).col( )+2 say B Pict “9” La variable B toma como valor 4 que es el resultado de aproximar a 0 decimales el resultado de la expresión utilizada en el argumento.0) @ 5.5).blogspot. redondea o aproxima un valor a su inmediato superior o inferior.html La variable B toma como valor el 3 que es la parte entera que se genera al momento de aplicar la división ((7/2)= 3.
Copyright © 2024 DOKUMEN.SITE Inc.