(poo) en foxpro!! _ quiero aprobar programacion

20
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] (POO) En Foxpro!! (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html 1 de 20 02/07/2015 20:44

Upload: jorge-vega-trigueros

Post on 12-Sep-2015

7 views

Category:

Documents


5 download

DESCRIPTION

POO foxpro

TRANSCRIPT

  • 5th May 2012

    Programacin en Visual FoxPro

    [http://3.bp.blogspot.com/-O9h66CeTuaY/T6XR4H1m3zI/AAAAAAAAAAs/wgAB9Nrsag8/s1600/descarga.jpg]

    Visual FoxPro es una eficaz herramienta de administracin de datos, pero adems podr beneficiarse detoda su eficacia para crear aplicaciones. Comprender las tcnicas de programacin orientada a objetos yel modelo controlado por eventos puede aumentar su productividad como programador.

    Conceptos iniciales.Variable: Espacio de memoria que permite almacenar informacin que puede cambiar o variar durante laejecucin de un programa. Las variables pueden ser dos tipos: numricas y alfanumricas. El nombre deuna variable puede contener hasta 8 caracteres: letras y nmeros. Debe comenzar con una letra.

    Constante: Valor que no cambia o varia durante la ejecucin de un programa. Ejemplo de una constantees el nmero Pi que siempre vale 3,1416

    Comandos de Edicin y EjecucinModify Command: Permite entrar al editor de programas del foxpro. Puede escribirse como Modi

    Comm. Losprogramas en foxpro se reconocen o identifican porque poseen la extensin .Prg. Paraalmacenar un programa se utiliza la combinacin Ctrol + W

    Formato: Modi Comm [unidad: ] [Nombre del programa]Ejemplos: Modi comm A:Programa Almacena el programa en la unidad deModi comm Sueldos disco por defecto

    Do: El comando Do ejecuta un programa en foxpro.Formato: Do [unidad: ] [Nombre del programa]

    (POO) En Foxpro!!

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    1 de 20 02/07/2015 20:44

  • Ejemplos: Do A:ProgramaDo Sueldos

    Comandos de ProgramacinClear: Borra / Limpia pantalla

    * Note: El asterisco o Note permite al usuario hacer un comentario o breve descripcin del programa.

    Set Talk Off / On: Desactiva/activa la visualizacin de mensajes e inicializaciones propios del foxpro.Set Bell Off / On: Activa/ desactiva la emisin de sonidos (pitido) al momento de rellenar campos o

    variables.

    Set Stat On/Off: Activa / desactiva la visualizacin de la lnea de status en el foxpro.

    @ Fila, Col to Fil,Col: Permite generar o imprimir un cuadro en pantalla, donde el usuario indica lascoordenadas del extremo superior izquierdo y el extremo inferior derecho.

    Programacin orientada a objetosAunque Visual FoxPro admite la programacin estndar por procedimientos, se ha ampliado la capacidaddel lenguaje para proporcionar la potencia y la flexibilidad propias de la programacin orientada a objetos.El diseo orientado a objetos y la programacin orientada a objetos representan un cambio de perspectivacon respecto a la programacin estndar por procedimientos. En lugar de pensar en el flujo del programadesde la primera hasta la ltima lnea de cdigo, se debe pensar en la creacin de objetos: componentesauto contenidos de una aplicacin que tienen funcionalidad privada adems de la funcionalidad que sepuede exponer al usuario.

    En este blog se tratan los temas siguientes:Descripcin de los objetos de Visual FoxProDescripcin de las clases de Visual FoxProAdaptar la clase a la tareaCrear clasesAgregar clases a formulariosDefinir clases mediante programacin

    Descripcin de los objetos de Visual FoxProEn Visual FoxPro, los formularios y los controles son objetos que puede incluir en sus aplicaciones.Puede manipular estos objetos a travs de sus propiedades, eventos y mtodos. Las mejoras en ellenguaje orientado a objetos de Visual FoxPro proporcionan un mayor control sobre los objetos de lasaplicaciones. Asimismo, facilitan la creacin y el mantenimiento de bibliotecas de cdigo reutilizable,proporcionando:

    Cdigo ms compacto. Incorporacin ms sencilla del cdigo a las aplicaciones sin necesidad de elaborar esquemas

    de asignacin de nombres. Menos complejidad al integrar cdigo de distintos archivos en una aplicacin.

    La programacin orientada a objetos es en gran medida un modo de empaquetar cdigo demanera que se pueda volver a utilizar y mantener ms fcilmente. Los paquetes principales sellaman clases.

    Clases y objetos: los bloques funcionales de las

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    2 de 20 02/07/2015 20:44

  • aplicacionesLas clases y los objetos estn estrechamente relacionados, pero no son lo mismo. Una clasecontiene informacin sobre cul debe ser la apariencia y el comportamiento de un objeto. Unaclase es el planoo esquema de un objeto. Por ejemplo, el esquema elctrico y de diseo de un telfono seraalgo similar a una clase. El objeto o una instancia de la clase sera el telfono.

    Los objetos tienen propiedadesUn objeto tiene ciertas propiedades o atributos. Por ejemplo, un telfono tiene un color y untamao determinados. Cuando se instala un telfono en la oficina, tiene una determinadaposicin sobre la mesa. El receptor puede estar colgado o descolgado. Los objetos que secrean en Visual FoxPro tambin tienen propiedades que estn determinadas por la clase en laque se basa el objeto. Estas propiedades pueden establecerse en tiempo de diseo o entiempo de ejecucin. Por ejemplo, en la tabla siguiente se indican algunas propiedades quepuede tener una casilla de verificacin.

    Propiedad DescripcinCaption Texto descriptivo que aparece junto a la casilla de verificacin.Enabled Especifica si un usuario puede elegir o no la casilla de verificacin.ForeColor Color del texto del ttulo.Left Posicin del extremo izquierdo de la casilla de verificacin.MousePointer Apariencia del puntero del mouse (ratn) cuando est s situado sobre la casilla de verificacin.Top Posicin de la parte superior de la casilla de verificacinVisible Especifica si la casilla de verificacin es visible o no.

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    3 de 20 02/07/2015 20:44

  • Los objetos tienen eventos y mtodos asociadosCada objeto reconoce y puede responder a determinadas acciones denominadas eventos. Unevento es una actividad especfica y predeterminada, iniciada por el usuario o por el sistema.Los eventos, en la mayor parte de los casos, se generan por interaccin del usuario. Porejemplo, con un telfono, se desencadena un evento cuando un usuario descuelga el receptor.Los eventos tambin se desencadenan cuando el usuario presiona los botones para efectuaruna llamada.En Visual FoxPro, las acciones del usuario que desencadenan eventos incluyen clics,movimientos del mouse y pulsaciones de teclas. Inicializar un objeto y encontrar una lnea decdigo que produce un error son eventos iniciados por el sistema. Los mtodos sonprocedimientos asociados a un objeto. Los mtodos se diferencian de los procedimientosnormales de Visual FoxPro en que estn vinculados inseparablemente a un objeto y tienennombres distintos que los procedimientos normales de Visual FoxPro. Los eventos puedentener mtodos asociados. Por ejemplo, si escribe cdigo de mtodo para el evento Clic, esecdigo se ejecutar cuando se produzca el evento Clic. Los mtodos tambin pueden existirindependientemente de los eventos. Se debe llamar a estos mtodos de forma explcita en elcdigo. El conjunto de eventos es limitado, aunque amplio. No es posible crear nuevos eventos.Sin embargo, el conjunto de mtodos puede ampliarse indefinidamente. La tabla siguientemuestra algunos de los eventos asociados a una casilla de verificacin:

    Evento DescripcinClick El usuario hace clic en la casilla de verificacin.GotFocus El usuario activa la casilla de verificacin al hacer clic en ella o al llegar a ella a travs de la tecla TAB.LostFocus El usuario selecciona otro control.

    La tabla siguiente muestra algunos mtodos asociados a una casilla de verificacin:

    Mtodo DescripcinRefresh El valor de la casilla de verificacin se actualiza para reflejar los cambios que se puedan haber producido en el origen de datos subyacente.SetFocus El enfoque se establece en la casilla de verificacin como si el usuario hubiera presionado la tecla TAB hasta activar la casilla de verificacin.

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    4 de 20 02/07/2015 20:44

  • Descripcin de las clases de Visual FoxPro Todas las propiedades, eventos y mtodos de unobjeto se especifican en la definicin de clase. Adems, las clases tienen las siguientescaractersticas que las hacen especialmente tiles para crear cdigo reutilizable y fcil demantener:

    v Encapsulamientov Subclasesv Herencia

    Ocultar la complejidad innecesaria Cuando instale un telfono en la oficina, lo ms probable esque no le interese el funcionamiento interno del aparato para la recepcin de llamadas, larealizacin o la finalizacin de conexiones con centralitas electrnicas o la conversin de laspulsaciones de tecla en seales electrnicas. Lo nico que necesitar saber es que puedelevantar el auricular, marcar los nmeros apropiados y hablar con la persona con la que deseahablar. La complejidad de realizar esa conexin queda oculta. La ventaja de ignorar los detallesinternos de un objeto para poder centrarse en los aspectos del objeto que necesita utilizar sedenomina abstraccin.

    La complejidad interna puede estar ocultaEl encapsulamiento, que empaqueta el cdigo de mtodos y propiedades en un mismo objeto,contribuye a la abstraccin. Por ejemplo, las propiedades que determinan los elementos de uncuadro de lista y el cdigo que se ejecuta al elegir un elemento de la lista pueden encapsularseen un nico control que se agrega a un formulario. Aprovechar la potencia de las clasesexistentes Una subclase puede tener toda la funcionalidad de una clase existente, adems dela funcionalidad ylos controles adicionales que quiera darle. Si la clase es un telfono bsico, podr tenersubclases que tengan toda la funcionalidad del telfono original y todas las caractersticasespecializadas que desee darles.

    Las subclases le permiten reutilizar cdigo

    Simplificar el mantenimiento de cdigoCon la herencia, si realiza un cambio en una clase, ese cambio se reflejar en todas lassubclases que se basen en ella. Esta actualizacin automtica ahorra tiempo y trabajo. Porejemplo, si un fabricante de telfonos quisiera cambiar los telfonos de tipo marcacin poraparatos de pulsacin, se ahorrara mucho trabajo si pudiera hacer el cambio en el diagramaoriginal y hacer que todos los telfonosfabricados anteriormente con ese diagrama heredaran automticamente la nueva caracterstica,en lugar de tener que agregarla a todos los telfonos existentes individualmente.

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    5 de 20 02/07/2015 20:44

  • Contenedores y no contenedoresLos dos tipos principales de clases de Visual FoxPro y por extensin, de objetos de VisualFoxPro, son las clases de contenedor y las clases de control.

    Clases de contenedorLos contenedores pueden incluir otros objetos y permiten el acceso a los objetos que contienen.Por ejemplo, si crea una clase de contenedor que consta de dos cuadros de lista y dos botonesde comando, a continuacin, agrega a un formulario un objeto basado en esta clase, cadaobjeto individual podr manipularse en tiempo de ejecucin y en tiempo de diseo. Puedecambiar fcilmente las posiciones de los cuadros de lista o los ttulos de los botones decomando. Tambin puede agregar objetos al control en tiempo de diseo; por ejemplo, puedeagregar etiquetas para identificar los cuadros de lista.

    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 Cualquier control, marcos de pgina,

    Personalizado Conjuntos de formularios Formularios, barras de herramientas

    Formularios Marcos de pgina, cualquier control, contenedores,

    Columnas de cuadrcula Encabezados de columnas, cualquier objeto excepto conjuntos de formularios, formularios, barras de herramientas, cronmetros y otras columnas.

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    6 de 20 02/07/2015 20:44

  • Adaptar la clase a la tareaEs conveniente poder usar clases en muchos contextos distintos. Un diseo inteligente lepermitir decidir con mayor efectividad qu clases desea disear y qu funcionalidad va aincluir en la clase. Decidir cundo crear clasesPuede crear una clase para cada control y cada formulario que utilice, aunque ste no es elmodo ms efectivo de disear aplicaciones. Es muy probable que acabe con mltiples clasesque tengan prcticamente la misma funcin y que deban mantenerse por separado. Encapsularfuncionalidad genricaCree una clase de control para funcionalidad genrica. Por ejemplo, los botones de comandoque permiten al usuario mover el puntero de registro en una tabla, un botn para cerrar unformulario y un botn de ayuda pueden guardarse como clases y agregarse a formularios encualquier momento que desee que los formularios tengan esta funcionalidad. Puede exponerlas propiedades y los mtodos en una clase de modo que el usuario pueda integrarlos en elentorno de datos concreto de un formulario o un conjunto de formularios. Proporcionar unaapariencia y un uso coherentes Puede crear clases de conjunto de formularios, de formulario yde control con una apariencia caracterstica, de modo que todos los componentes de laaplicacin tengan la misma apariencia. Por ejemplo, podra agregar grficos y patrones de colorespecficos a una clase de formulario y utilizarla como plantilla para todos los formularios quecree. Podra crear una clase de cuadro de texto con una apariencia caracterstica, como unefecto de sombreado, y usar esta clase en la aplicacin en cualquier momento que deseeagregar un cuadro de texto.

    Decidir qu tipo de clase va a crearVisual FoxPro permite crear distintos tipos de clases, cada uno con sus propias caractersticas.Especifique el tipo de clase que desea crear en el cuadro de dilogo Nueva clase o en laclusula AS del comando CREATE CLASS.

    Clases de base de Visual FoxProEn el Diseador de clases puede crear subclases para la mayora de las clases de base deVisual.

    Cdigo ComentariosCSecDisplay = ALLTRIM(STR(THIS.nSec)) Las convierte al tipo CharactercMinDisplay = ALLTRIM(STR(THIS.nMin)) para mostrarlos de tipocHourDisplay = ALLTRIM(STR(THIS.nHour)) etiqueta.

    THIS.lblSeconds.Caption = ; IIF(THIS.nSec < 10, ; Establece los ttulos de etiqueta,

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    7 de 20 02/07/2015 20:44

  • IIF(THIS.nSec < 10, ; conservando los 0 iniciales si el valor de "0" ,"") + cSecDisplay la propiedad numrica es menor que 10.THIS.lblMinutes.Caption = ; IIF(THIS.nMin < 10, ; "0", "") + cMinDisplayTHIS.lblHours.Caption = ; IIF(THIS.nHour < 10, ;

    "0", "") + cHourDisplayconservando los 0 iniciales si el valor dela propiedad numrica es menor que 10.

    Establecer propiedades.Las propiedades de un objeto pueden establecerse en tiempo de ejecucin o en tiempo de diseo.Para establecer una propiedad

    Utilice esta sintaxis:Contenedor.Objeto.Propiedad = ValorManual del programador, Parte 1: Programacin en Visual FoxProPgina 55 de 83Por ejemplo, las instrucciones siguientes establecen varias propiedades de un a cuadro de textollamadotxtDate en un formulario llamado frmPhoneLog:frmPhoneLog.txtDate.Value = DATE( ) && Muestra la fecha actual frmPhoneLog.txtDate.Enabled = .T. && El control est activadofrmPhoneLog.txtDate.ForeColor = RGB(0,0,0) && texto en negro frmPhoneLog.txtDate.BackColor = RGB(192,192,192) && fondo en gris Para la configuracin de propiedades de los ejemplos anteriores, frmPhoneLog es el objetocontenedor de mayor nivel. Si frmPhoneLog estuviera incluido en un conjunto de formularios,tambin debera incluir el conjunto de formularios en la ruta de acceso primaria:frsContacts.frmPhoneLog.txtDate.Value = DATE( )

    Establecer mltiples propiedadesLa estructura WITH ... ENDWITH simplifica el establecimiento de mltiples propiedades. Por ejemplo, paraestablecer mltiples propiedades de una columna en una cuadrcula de un formulario perteneciente a unconjunto de formularios, podra utilizar la sintaxis siguiente:WITH THISFORMSET.frmForm1.grdGrid1.grcColumn1 .Width = 5 .Resizable = .F. .ForeColor = RGB(0,0,0) .BackColor = RGB(255,255,255)

    .SelectOnEntry = .T.ENDWITH

    Proteger y ocultar miembros de clasePuede proteger u ocultar propiedades y mtodos de una definicin de clase con las palabras clavePROTECTED y HIDDEN del comando DEFINE CLASS. Por ejemplo, si crea una clase para almacenarinformacin sobre empleados y no desea que los usuarios puedan modificar la fecha de contratacin,puede proteger la propiedad FechaContr. Si los usuarios necesitan averiguar cundo se contrat a unempleado determinado, podr incluir un mtodo para devolver la fecha de contratacin.DEFINE CLASS empleado AS CUSTOMPROTECTED FechaContr

    Nombre = "" Apellido = ""

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    8 de 20 02/07/2015 20:44

  • Direccin = "" FechaContr = { - - }PROCEDURE ObtFechaContr RETURN This.FechaContrENDPROCENDDEFINE

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    9 de 20 02/07/2015 20:44

  • Programas en Foxpro y explicacin de lo que realiza.

    [http://2.bp.blogspot.com/-DM_sTQrxxZI/T6XR9w2YtsI/AAAAAAAAAA0/CkFX8UZUEMc/s1600/1023481foxpro_logo.gif]

    Formato: @ Fil,Col to Fil,Col

    Ejemplo: @ 5,10 to 9,70

    Explicacin:

    Genera un cuadro con lnea simple desde la fila 5 columna 10 hasta la fila 9 columna 70

    @ F,C clear to F,C: El comando Clear to, da la posibilidad al programador de borrar sectores o partes dela pantalla.

    Formato: @ Fila, Col clear to Fila,Col

    Ejemplo: @ 5,10 clear to 15,30

    Explicacin:

    Borra la pantalla desde la fila 5 columna 10 hasta la fila 15 columna 30.

    Store: Permite asignar un valor o expresin a una variable o lista de variables.

    Formato: Store [valor/expresin] to Var1, Var2, ..., Var nEjemplos:Store 0 to V1,V2,V3

    Store Space(20) to Nomb, Dire Store V1+V2 to V3

    Explicacin:

    Asigna 0 a las variables V1,V2 y V3 con lo que pasan a ser variables numricas.

    Da una longitud de 20 espacios a las variables Nomb y Dire

    Efecta la suma de V1 y V2 , y el resultado se almacena en V3

    @ Fil,Col Say: El Comando Say le proporciona al usuario la posibilidad de imprimir un literal, dato ovariable en una coordenada especfica de pantalla. Se debe indicar la fila (0-24) y despus la columna(0-79). Si se indica un valor mayor el programa enva un mensaje de error.

    Formato: @ Fila,Columna Say [ Literal , Variable]Ejemplos: @ 10,10 Say Incluya su nombre

    @ 15,20 Say Sueldo

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    10 de 20 02/07/2015 20:44

  • Explicacin:

    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, el comando Read asigna losvalores ledos a la variable o variables especificadas. Todo Get o grupo de Gets debe tener sucorrespondiente Read. Esto dos comandos se usan en la mayora de los casos en combinacin con el @Say.

    Formato : @ Fil, Col Say [Literal] get VariableRead

    Ejemplos: @ 10,10 say Introduzca su nombre Get Nombre

    Read

    @ 10,10 say Incluya el monto de la venta Get Venta

    @ 12,10 say Indique el % de descuento Get Desc

    Read

    Picture: El comando Picture permite establecer un formato (mscara) bien sea de entrada o de salida delos datos. El picture maneja distintas plantillas relacionadas con los diferentes tipos de datos que puedenser incluidos.

    Plantilla Accin

    A Acepta solamente letras

    9 Acepta exclusivamente dgitos y signos

    ! Transforma todos los caracteres en maysculas

    , En los nmeros indica la representa los miles

    . En los nmeros indica la posicin del punto decimal

    Se pueden usar combinaciones de estas plantillas en un mismo picture.

    Formato: Picture plantilla(s)Ejemplos: @ 5,10 say Incluya el promedio get Prom Pict 99.99

    @ 7,10 say Nombre del alumno get Nom Pict @A!

    Explicacin.

    En la variable Prom se pueden almacenar solo dgitos y se ha establecido la posibilidad de especificardos decimales.

    En la variable Nom se puede escribir letras y se visualizan en maysculas.

    Range: El comando range permite establecer o definir un rango de valores vlidos para una variablenumrica al momento de introducir datos por medio del teclado. Si el valor incluido sobrepasa o es menoral rango especificado, la ejecucin del programa se detiene.

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    11 de 20 02/07/2015 20:44

  • Formato: Range valor inicial, valor final

    Ejemplos: @ 5,25 say Introduzca una calificacin (de 1 a 20) get Nota Pict 99 range 1,20 @ 7,25 say Introduzca edad del alumno get Edad Pict 99 range 6,18

    Read

    Explicacin.

    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.

    Formato: Valid Variable$items o datos vlidosEjemplo: @ 5,5 say Continua la ejecucin del programa (S/N) get Ru Pict ! Valid Ru$SNExplicacin:

    La variable Ru slo acepta como posible contenido una S o una N, en caso que el usuario coloque otrocarcter la ejecucin del programa no continua.

    Comando Set Color To : Permite cambiar o modificar los atributos de color de pantalla.

    Formato :

    Set Color To estandar, resaltado

    Estandar : Color de visualizacin de los SAY.

    Resaltado : Color de la visualizacin de las variables o campos

    editados con GET .

    Para desactivar una combinacin de colores basta colocar Set Color to

    Colores :

    B=Azul R= Rojo N=Negro Bg = Cian W=Blanco Gr = Marrn G=Verde RB= Magenta

    + = Resalta color * = Parpadeo

    Ejemplos :Set Color To W+/B+, Gr+/N Letra blanca sobre fondo

    Azul (Say) y letra Amarillasobre fondo Negro

    Set Color to R+/B+ Letra Roja sobre Fondo AzulReplicate: Permite repetir un carcter la cantidad de veces que se requiera. Se utiliza en la parte de

    impresin.

    Formato: Replicate (signo, cantidad de veces)Ejemplo.

    @ 10,10 say Repl (*,20)Explicacin:

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    12 de 20 02/07/2015 20:44

  • Imprime 20 veces el signo * a partir de las coordenadas fila 10 y columna 10.

    Condiciones.En foxpro el comando que permite establecer condiciones es el If- Else - Endif, en el cual si la condicinverificada es cierta; se ejecutan las rdenes ubicadas despus del If; si es falsa va a ejecutar lasinstrucciones ubicadas despus del Else.

    Formato:

    If [Condicin]Instrucciones

    Else

    Instrucciones

    Endif

    El Endif establece el final de las instrucciones que se ejecutan dependiendo de la condicin que se estverificando.

    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

    Explicacin:

    En este ejemplo se evala el contenido de la variable Suel; si sta almacena un valor mayor de 50000,el programa procede a calcular una variable llamada comisin como el 4 % de Suel y Vacacion como 45das de sueldo, de lo contrario, en caso de almacenar 50000 o menos, el programa procede a calcularComision como el 10 % de Suel y Vacacion como 90 das de sueldo.

    Otra forma de desarrollar el caso anterior es el siguiente:

    @ 10,20 say Introduzca el sueldo del empleado get Suel

    Read

    If Suel > 50000

    Comision = Suel * 4 /100

    Vacacion = Suel / 30 * 45

    Endif

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    13 de 20 02/07/2015 20:44

  • If Suel 50000 .and. sue 10 .or. Calif =10

    @ 7,30 say Nota aprobatoria

    Endif

    Explicacin:

    Si el valor que se incluye a la variable sue (sueldo) est comprendido entre 50000 y 100000, entonces elprograma procede a calcular Bono como el 4 % de sue.

    Si la calificacin incluida a la variable calif es mayor a 10 o igual se imprime el mensaje de notaaprobatoria.

    Do Case - Endcase: El Do case - Endcase es un comando de seleccin mltiple, esto es, que verificamultiples condiciones (2 o ms) y dependiendo de aquella que se cumpla ejecutar una serie deinstrucciones.

    Formato:

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    14 de 20 02/07/2015 20:44

  • Do case

    Case [Condicin 1]Instrucciones

    Case [Condicin 2]Instrucciones:

    Case [Condicin N]Instrucciones

    Otherwise

    Instrucciones

    Endcase

    El Otherwise es una instruccin que se ejecuta cuando ninguna de las opciones establecidas se cumple.Cumple similar funcin que el Else en el If. En el Do Case se debe colocar Endcase una sola vez.

    Ejemplo: Clear

    Nm=0

    @ 10,10 say Introduzca el N del mes: get nm pict 99 range 1,12

    Read

    Do case

    Case nm=1

    @ 12,20 say Enero

    Case nm=2

    @ 12,20 say Febrero

    Case nm=3

    @ 12,20 say Marzo

    :

    Case nm=12

    @ 12,20 say Diciembre

    Endcase

    Explicacin:

    Dependiendo del valor que tome la variable nm se imprime el nombre del mes. Al usar el comandorange solo se aceptan valores que van de 1 a 12.

    Contadores y acumuladoresLos contadores y acumuladores son variables numricas que permiten determinar informacin especficadurante la ejecucin de un programa. A continuacin se presenta un cuadro con las caractersticas msimportantes de estas variables.

    Contador Acumulador

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    15 de 20 02/07/2015 20:44

  • Variable que controla o determina la cantidad deveces que se repite un proceso o dato. Siempre seincrementa en uno.

    Formato:

    Variable=variable+1

    Ejemplos:C=C+1

    Valores=Valores+1

    Variable que suma o acumula valores. Permitedeterminar el total de los valores ledos o trabajados.Se incrementa en cualquier valor.

    Formato:

    Valor

    Variable= variable + Variable

    Expresin

    Ejemplos:C=C+20

    Suma=Suma+Valor

    Total= Total + (N*E)

    Los contadores y acumuladores son utilizados regularmente en combinacin con el If o con el Do While. Lapersona que desarrolla el programa debe plantearse muy bien cual de los dos tipos de variables debeusar.

    Comandos de iteracin o repeticinSe denomina iteracin, al hecho de repetir varias veces una serie de instrucciones por medio deestructuras cclicas. Estas estructuras en foxpro son el For - Next y el Do While.

    For Next: El for-next permite al usuario repetir una serie de instrucciones mientras que el valor indicadocomo final, no sea excedido por el valor de la variable de control. Al momento en que la variable de controlexceda el valor final especificado, la ejecucin del programa pasa a la siguiente instruccin despus delnext.

    Formato:

    For = VI to VF [step Inc]Instrucciones

    Next

    En donde:

    VC: Representa la variable de control del ciclo.

    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, el valor en que aumenta la variable de control cada vez que pasa laejecucin del computador por el ciclo. Cuando no se especifica la clusula Step, el For se incrementa pordefecto de 1 en 1.

    Nota: Todo For debe tener su next asociado.

    Ejemplo 1.Numero=0

    Contador=1

    For Numero=1 to 20

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    16 de 20 02/07/2015 20:44

  • @ Contador,10 say Nmero:

    @ Contador,20 say Numero pict 99

    Contador= Contador+1

    Next Numero

    En el ejemplo anterior por medio del For, se imprimen los 20 primeros nmeros naturales. La variableContador tiene la funcin de sustituir el N de fila donde se imprimen los datos. Esto se denomina contadorde lneas. Tambin se observa que la variable nmero no sufre ningn incremento por medio deinstruccin, sino que se hace en forma automtica. La ejecucin del programa pasa a la siguienteinstruccin despus del next, cuando la variable Nmero llega al valor de 21 que excede el valor finalespecificado.

    Ejemplo 2:Sumapar=0

    Contador=0

    For contador= 2 to 20 step 2

    Sumapar=Sumapar+contador

    Next contador

    @ 5,15 say La suma de los nmeros pares menores o iguales a 20 es:

    @ 5,55 say Sumpar pict 999

    En el ejemplo anterior se acumulan los nmeros pares comprendidos entre el 2 y el 20 ambos inclusive, espor ello que el valor inicial que toma la variable contador es de 2 y el valor final 20, a la vez que sufreincrementos de 2 en 2.

    Ejemplo 3:Store 0 to Tnota, capla,capro,i,notapro

    For I=1 to 15

    Clear

    Nota=0

    @ 5,20 say Introduzca una nota: get Nota pict 99 range 1,20

    read

    If Nota

  • En este ejemplo se pide la nota de 15 alumnos y posteriormente se halla o calcula el promedio de esasnotas, as como tambin la cantidad de alumnos aprobados y aplazados.

    Do While - Enddo: Permite repetir una serie de instrucciones mientras la condicin que se estverificando es cierta. Al momento de dejarse de cumplir la condicin, el control del programa pasa a lasiguiente instruccin despus del Enddo. En caso de que se tengan que verificar dos o ms condicionesse deben utilizar los operadores lgicos.

    Formato:

    Do While (And / or) Instrucciones

    Enddo

    Ejemplos:* Programa que calcula la suma de los 10 primeros nmeros naturales

    Set talk off

    Set bell off

    Set stat off

    Suma=0

    Contador=1

    Do While Contador

  • Tsueldo=Tsueldo+sueldo

    Contador=Contador+1

    Enddo

    Sueldop=Tsueldo / 20

    Clear

    @ 10,20 say El total de los sueldos es:

    @ 10,40 say Tsueldo pict 9999999

    @ 12,20 say El sueldo promedio es:

    @ 12,40 say Sueldop pict 9999999

    En el ejemplo anterior por medio del Do while se ha desarrollado un proceso que permite pedir el sueldode 20 empleados y posteriormente hallar el total de los sueldos (por medio de un acumulador), mientrasque la variable contador controla la cantidad de empleados ledos. Al tener el total de los sueldos, sepuede obtener tambin el sueldo promedio al dividir el acumulador entre el nmero de empleados que esde 20.

    Comando Col( ): El comando Col( ) devuelve el Nmero de columna en que se encuentra ubicado elcursor.

    Formato: Col( )Ejemplo:@ 5,20 say Monto vendido:

    @ 5,col()+1 say Montov Pict 99En el ejemplo la variable Montov ser impresa en la columna siguiente (columna 34).

    Comando Row( ): El comando Row( ) devuelve el nmero de la fila en que se encuentra ubicado elcursor.

    Formato: Row( )Ejemplo:@ 5,20 say Monto vendido:

    @ Row()+1,20 say Montov Pict 99En el ejemplo la variable Montov ser impresa en la fila siguiente (fila 6).Funciones

    Funcin Int: La funcin Int (Integer), devuelve/toma la parte entera del argumento, desechando la partedecimal. El argumento puede estar representado por un valor, una variable o una expresin numrica.

    Formato: INT (argumento)Ejemplo:B=0

    A=7

    B= Int(A/2)@ 5,20 say Valor:

    @ 5,col( )+2 say B Pict 9

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    19 de 20 02/07/2015 20:44

  • La variable B toma como valor el 3 que es la parte entera que se genera al momento de aplicar la divisin((7/2)= 3.5), desechando la parte decimal.

    Funcin Round: La funcin Round (Rounded), redondea o aproxima un valor a su inmediato superior oinferior, dependiendo de la cantidad de decimales que se especifiquen

    Formato:

    ROUND (argumento, N de decimales)Ejemplo:B=0

    A=7

    B= Round(A/2,0)@ 5,20 say Valor:

    @ 5,col( )+2 say B Pict 9La variable B toma como valor 4 que es el resultado de aproximar a 0 decimales el resultado de laexpresin utilizada en el argumento. ((7/2)= 3.5).

    Publicado 5th May 2012 por Kensy Garcia

    Comentar como:

    Publicar

    0 Aadir un comentario

    (POO) En Foxpro!! | Quiero aprobar Programacion http://kensy-garcia.blogspot.com/2012/05/poo-en-foxpro.html

    20 de 20 02/07/2015 20:44