VISUAL FOX Public

VISUAL FOX

Homa n
Course by Homa n, updated more than 1 year ago Contributors

Description

GHGHHHG

Module Information

No tags specified
Visual FoxPro es un lenguaje de programación por procedimientos, orientado a objetos que posee un Sistema Gestor de Bases de datos o Database Management System (DBMS) y Sistema administrador de bases de datos relacionales, producido por Microsoft. Características[editar] Visual FoxPro provee a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web. Entre sus características se pueden enumerar: Capacidades para el manejo de datos nativos y remotos. Flexibilidad para crear soluciones de bases de datos. Lenguaje de Programación Orientado a objetos. Utilización de Sentencias SQL en forma nativa. Manejo de vistas, cursores y control completo de estructuras relacionales. Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL. Cuenta con un motor de generación de informes renovado y flexible para soluciones más robustas. Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XML. La última versión liberada es la 9.0. Esta cuenta con el SP1 y el (más reciente) SP2 (en inglés) en los que hay algunas nuevas características y especialmente brindan estabilidad al producto. En la actualidad, a pesar de que Microsoft ha decidido no continuar con Microsoft Visual FoxPro, existe una comunidad de desarrolladores que sigue trabajando en él, PortalFox y Mundo Visual FoxPro son las más importantes entre los desarrolladores de habla hispana. También se encuentra una comunidad muy activa de desarrolladores en los grupos de Google [1] donde existen muchos programadores que siguen desarrollando software para las distintas versiones de Windows.
Show less
No tags specified
Historia[editar] Visual FoxPro proviene de FoxPro, que a su vez deriva de FoxBASE, creado por Fox Software en 1984; inicialmente un clon de dBase, acabó superándolo y, junto a Clipper, convirtiéndose en una de las estrellas de los lenguajes xBase. Cuando se presentó FoxPro 2.0 se incluyeron varias tecnologías que revolucionaron el mercado de desarrollo de bases de datos las cuales son: La adición de Tecnología Rushmore hizo posible que tablas tuvieran millones de registros sin la necesidad de pasar a tecnologías más caras Las instrucciones SQL que reemplazaban procedimientos completos. SQL fue, y todavía es, el lenguaje de los datos La presentación de medios tipo WYSIWYG (What you see is what you get) que significa: "lo que tu ves es lo que consigues" que abrió el camino a diseñadores de pantallas e informes. Microsoft compró Fox Software en junio de 1992 por 173 millones de dólares. En el momento de la compra el desarrollo de FoxPro 2.5 estaba casi terminado, añadiéndole la capacidad de generar ejecutables para Windows. Las versiones de FoxPro 2.6 para Windows, Mac y Unix se consideran las últimas versiones de FoxPro. Visual FoxPro 3.0[editar] En junio de 19951​ aparece Visual FoxPro 3.0, conocido durante su desarrollo como Taz, es la primera versión Visual y se considera un punto de ruptura al evolucionar de un lenguaje procedimental a un lenguaje orientado a objetos. Fue lanzado en Standard Edition (versión recortada sin archivos de runtime distribuibles) y Professional Edition, con el runtime licenciado y el juego completo de componentes. Requiere como mínimo de un compatible IBM PC con microprocesador Intel 80386 ejecutando Windows 3.1 / Windows NT 3.5 o superiores, 8 Megabytes de memoria RAM (se recomiendan 12 MB), de 15 a 50 MB de espacio libre en el disco duro, mouse o equivalente y tarjeta gráfica VGA o superior. Tiene las siguientes características:2​ El contenedor de base de datos, también conocido como DBC, añadió el soporte para procedimientos almacenados, reglas de datos asociadas a tablas y un conjunto de funciones de datos adicionales. Las vistas, que son cursores SQL actualizables, añadieron un método completamente nuevo de acceso a datos para su procesamiento. Una implementación completa de programación orientada a objetos Soporte de Object Linking and Embedding y ActiveX Más adelante aparecerá Visual FoxPro 3.0b3​ que aporta soporte a los lenguajes de doble byte (Double Byte Character Set, como el chino o el japonés) y mejoras en el soporte de ODBC. Además el logotipo para de utilizar una fuente serif a una sans-serif bold, que utilizará en adelante. Visual FoxPro 3.0 for Macintosh, conocido durante su desarrollo como Speedy aparece el mismo año. Será la última versión de Visual FoxPro para Macintosh. Requiere un equipo Power Macintosh con un microprocesador PowerPC PPC 601 o superior, 8 MB de RAM, (16 MB de RAM recomendado), 80 MB espacio en disco disponible (instalación completa) y sistema operativo System 7.1.2 o posterior.
Show less
No tags specified
Visual FoxPro 5.0[editar] En octubre de 1996 aparece Visual FoxPro 5.0, conocido durante su desarrollo como RoadRunner. Aunque hubo un desarrollo de Visual FoxPro 4.0 conocido como Renard, Microsoft decidió cuando finalizó su fase beta que todos los componentes principales de Microsoft Visual Studio tuvieran el mismo número de versión, por lo que todo el trabajo se pasó a la versión 5.0 Presenta un cambio en la estructura de los proyectos y otros archivos por lo que debe de realizarse una conversión desde versiones anteriores.4​ Trae como novedades: Integración con Visual SourceSafe Creación desde VFP de aplicaciones Web Un nuevo depurador mejorado Capacidad de crear y usar servidores COM (Component Object Model que significa Modelo de Objetos Componentes). Mejora del soporte de ActiveX
Show less
No tags specified
Visual FoxPro 6.0[editar] El 18 de mayo de 1998 aparece Visual FoxPro 6.0, conocido durante su desarrollo como Tahoe. Tras FoxPro 2.6 para Windows es la versión con que más aplicaciones FoxPro se han realizado. Se incluye con Microsoft Visual Studio 6. Requiere de un compatible IBM PC con microprocesador Intel 80486-DX a 66 MHz o superior (se recomienda un Intel Pentium) ejecutando Windows 95/Windows 98/Windows NT 4.0 con Service Pack 3 o superior; 16 Megabytes (32 recomendados) de memoria RAM para Windows95/98; 24 MB (32 recomendados) para Windows NT 4.0; Internet Explorer 4.01 con Service Pack 1 (se incluye en el paquete); 85 MB de espacio libre en el disco duro para una instalación típica, 90 MB para una completa; 43 a 59 MB adicionales si debe instalar IE 4.0; de 57 a 493 MD para el MSDN; unidad de CD-ROM, mouse o equivalente y tarjeta gráfica VGA o superior (se recomienda Super VGA). 20 Aporta mejoras para Internet y una nueva galería de componentes y clases.
Show less
No tags specified
Visual FoxPro 7.0[editar] El 21 de junio de 2001 aparece Visual FoxPro 7.0, conocido durante su desarrollo como Sedona. Trae como novedades:5​ Soporte de la tecnología IntelliSense Mejoras del control del Entorno de desarrollo integrado (IDE) y un más rápido acceso al código fuente. Más de 50 comandos, funciones y variables del sistema se han mejorado o añadido a Visual FoxPro 7.0, algunas de las cuales incluyen nuevas capacidades para enlazar eventos a otros componentes COM. Mejora del soporte de interoperabilidad con componentes Component Object Model como Microsoft BizTalk Server Soporte de servicios web XML, permitiendo la exportación de datos de Visual FoxPro a XML y la importación de datos XML en tablas. Nuevo Explorador de objetos Administrador de la lista de tareas Mejor rendimiento
Show less
No tags specified
Visual FoxPro 8.0[editar] El 1 de febrero de 2003 aparece Visual FoxPro 8.0, conocido durante su desarrollo como Toledo. Trae como novedades:6​ Manejo de errores estructurado, mediante TRY... CATCH... FINALLY, escalado de excepciones usando THROW y gestión del uso de objetos de excepción. Clase CursorAdapter para el acceso universal a datos en formato Visual FoxPro, XML, Microsoft SQL Server 2000, ODBC y OLE DB Soporte de incremento automático en tablas Visual FoxPro Soporte de Themes de Windows XP Diseño de vistas mediante SELECT SQL conmutando entre consulta / vista y salida de código fuente. Controles avanzados con capacidad de orientación de pestañas en los marcos de página, cambio automático de ancho de columnas, etc. Soporte GDI+ mejorado pudiendo usar y rotar imágenes en formularios en formato BMP, JPG, GIF normal y animado, TIFF, WMF y EMF y otros Bindeo de eventos Importación y exportación de XML jerárquico con el apoyo de DiffGrams entre cursores de Visual FoxPro y DataSets de ADO.NET Publicar y usar XML Web services basados en SOAP compatible con .NET via HTTP utilizando Microsoft SOAP Toolkit 3.0 (incluido). OLE DB proporciona acceso a datos Visual FoxPro como Microsoft Visual Studio .NET y Microsoft Office XP. Microsoft SQL Server 2000 Desktop Engine (MSDE) para crear soluciones de escritorio y compartidas compatibles con Microsoft SQL Server 2000 y migrar a SQL Server 2000 directamente sin modificar el código. InstallShield Express para Visual FoxPro, para crear instaladores de programas.
Show less
No tags specified
Visual FoxPro 9.0[editar] El 17 de diciembre de 2004 aparece Visual FoxPro 9.0, conocido durante su desarrollo como Europa con un amplio soporte a XML y una mejora notable en los reportes permitiendo detalles en múltiples bandas, la rotación de texto, y el encadenamiento de informe. Los informes de salida soportados incluyen XML, HTML, formatos de imagen, y personalización de la salida de impresión. En marzo de 2007, Microsoft anunció que no habrá VFP 10,7​ con lo que VFP9 es la última versión comercial de Visual FoxPro. Su soporte está garantizado hasta 2015 y se han publicado dos Service Packs, el 8 de diciembre de 2005 y el 11 de octubre de 2007. Se trata del soporte más largo para un producto de Microsoft. A finales de marzo de 2007, se origina una campaña grassroots entre la comunidad hispana de usuarios de FoxPro en MasFoxPro8​ para firmar una petición a Microsoft para continuar con la actualización de Visual FoxPro o liberarlo a la comunidad como Open Source. El 3 de abril de 2007, el movimiento tuvo eco en la prensa especializada9​ También el 3 de abril de 2007 Microsoft respondió a las solicitudes de los peticionarios, con esta declaración de Alan Griver:
Show less
No tags specified
"Somos muy conscientes de la comunidad FoxPro y esto jugó un papel importante en el anuncio del 13 de marzo. Nunca es una decisión fácil anunciar que no vamos a sacar otra versión de un producto y es algo que consideramos con mucho cuidado. "No estamos anunciando el fin de FoxPro. Obviamente, las aplicaciones de FoxPro seguirán funcionando. Por algunas de nuestras estimaciones internas, hay más aplicaciones que se ejecutan en FoxPro 2.6 que en VFP y FoxPro 2.6 no ha recibido soporte en muchos años. Visual FoxPro 9 será soportado por Microsoft hasta el año 2015. "Para que Microsoft continuara evolucionando la base de FoxPro, tendríamos que comenzar por la creación de un entorno de desarrollo de 64 bits lo que implicaría una reescritura casi completa del producto principal. También hemos invertido en la creación de una base de datos escalable con SQL Server, incluyendo la libremente disponible SQL Server Express Edition. En cuanto a la formación de una asociación con terceras partes, hemos escuchado de una serie de grandes clientes FoxPro que esto haría imposible para ellos seguir utilizando FoxPro, ya que ya no sería de un proveedor aprobado. Nos pareció que poner el entorno en código abierto en CodePlex, equilibra las necesidades de la comunidad y los grandes clientes, y era el mejor camino a seguir."
Show less
No tags specified
En el momento del anuncio del fin de la vida de FoxPro, el trabajo en la próxima versión con nombre en código Sedna que había comenzado sobre la parte superior de la base de código VFP9 ya había comenzado. "Sedna" es un conjunto de ampliaciones para VFP 9.0 de los componentes xBase para soportar una serie de escenarios de interoperabilidad con varias tecnologías de Microsoft, incluyendo SQL Server 2005, .NET Framework, Windows Vista, Microsoft Office 2007, Windows Search y Team Foundation Server (TFS). Microsoft liberó Sedna bajo licencia Shared Source en CodePlex. Microsoft ha aclarado que el núcleo de VFP seguirá siendo de código cerrado. Sedna fue lanzado el 25 de enero de 2008.10​ A partir de marzo de 2008, todos los componentes xBase de VFP 9 SP2 (incluyendo Sedna) están disponibles para el desarrollo comunitario en CodePlex. Sedna contiene seis componentes: VistaDialogs4COM, Upsizing Wizard, Data Explorer, NET4COM, MY para VFP y VS 2005 Extension para VFP.
Show less
No tags specified
Este artículo trata sobre el lenguaje de programación. Para el grupo de humoristas, véase Monty Python. Para el revólver, véase Colt Python. Para otros usos de este término, véase Pitón. Python     Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma. Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominada Python Software Foundation License,1​ que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores.
Show less
No tags specified
Historia[editar] Artículo principal: Historia de Python   Guido van Rossum, creador de Python, en la convención OSCON 2006 Python fue creado a finales de los ochenta2​ por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.3​ El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.4​ Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de Python es reconocido, refiriéndose a él como Benevolente Dictador Vitalicio (en inglés: Benevolent Dictator for Life, BDFL). En 1991, van Rossum publicó el código de la versión 0.9.0 en alt.sources.5​ En esta etapa del desarrollo ya estaban presentes clases con herencia, manejo de excepciones, funciones y los tipos modulares, como: str, list, dict, entre otros. Además en este lanzamiento inicial aparecía un sistema de módulos adoptado de Modula-3; van Rossum describe el módulo como “una de las mayores unidades de programación de Python”.2​ El modelo de excepciones en Python es parecido al de Modula-3, con la adición de una cláusula else.3​ En el año 1994 se formó comp.lang.python, el foro de discusión principal de Python, marcando un hito en el crecimiento del grupo de usuarios de este lenguaje.
Show less
No tags specified
Python alcanzó la versión 1.0 en enero de 1994. Una característica de este lanzamiento fueron las herramientas de la programación funcional: lambda, reduce, filter y map. Van Rossum explicó que “hace 12 años, Python adquirió lambda, reduce(), filter() y map(), cortesía de un hacker informático de Lisp que las extrañaba y que envió parches”.6​ El donante fue Amrit Prem; no se hace ninguna mención específica de cualquier herencia de Lisp en las notas de lanzamiento. La última versión liberada proveniente de CWI fue Python 1.2. En 1995, van Rossum continuó su trabajo en Python en la Corporation for National Research Initiatives(CNRI) en Reston, Virginia, donde lanzó varias versiones del software. Durante su estancia en CNRI, van Rossum lanzó la iniciativa Computer Programming for Everybody (CP4E), con el fin de hacer la programación más accesible a más gente, con un nivel de 'alfabetización' básico en lenguajes de programación, similar a la alfabetización básica en inglés y habilidades matemáticas necesarias por muchos trabajadores. Python tuvo un papel crucial en este proceso: debido a su orientación hacia una sintaxis limpia, ya era idóneo, y las metas de CP4E presentaban similitudes con su predecesor, ABC. El proyecto fue patrocinado por DARPA.7​ En el año 2007, el proyecto CP4E está inactivo, y mientras Python intenta ser fácil de aprender y no muy arcano en su sintaxis y semántica, alcanzando a los no-programadores, no es una preocupación activa.8​ En el año 2000, el equipo principal de desarrolladores de Python se cambió a BeOpen.com para formar el equipo BeOpen PythonLabs. CNRI pidió que la versión 1.6 fuera pública, continuando su desarrollo hasta que el equipo de desarrollo abandonó CNRI; su programa de lanzamiento y el de la versión 2.0 tenían una significativa cantidad de traslapo.9​ Python 2.0 fue el primer y único lanzamiento de BeOpen.com. Después que Python 2.0 fuera publicado por BeOpen.com, Guido van Rossum y los otros desarrolladores de PythonLabs se unieron en Digital Creations.
Show less
No tags specified
Python 2.0 tomó una característica mayor del lenguaje de programación funcional Haskell: listas por comprensión. La sintaxis de Python para esta construcción es muy similar a la de Haskell, salvo por la preferencia de los caracteres de puntuación en Haskell, y la preferencia de Python por palabras claves alfabéticas. Python 2.0 introdujo además un sistema de recolección de basura capaz de recolectar referencias cíclicas.9​ Posterior a este doble lanzamiento, y después que van Rossum dejó CNRI para trabajar con desarrolladores de software comercial, quedó claro que la opción de usar Python con software disponible bajo GNU GPL era muy deseable. La licencia usada entonces, la Python License, incluía una cláusula estipulando que la licencia estaba gobernada por el estado de Virginia, por lo que, bajo la óptica de los abogados de Free Software Foundation (FSF), se hacía incompatible con GPL. CNRI y FSF se relacionaron para cambiar la licencia de software libre de Python para hacerla compatible con GPL. En el año 2001, van Rossum fue premiado con FSF Award for the Advancement of Free Software. Python 1.6.1 es esencialmente el mismo que Python 1.6, con unos pocos arreglos de bugs, y con una nueva licencia compatible con GPL.1​
Show less
No tags specified
Python 1.6.1 es esencialmente el mismo que Python 1.6, con unos pocos arreglos de bugs, y con una nueva licencia compatible con GPL.1​   Código Python con coloreado de sintaxis. Python 2.1 fue un trabajo derivado de Python 1.6.1, así como también de Python 2.0. Su licencia fue renombrada a: Python Software Foundation License. Todo el código, documentación y especificaciones añadidas, desde la fecha del lanzamiento de la versión alfa de Python 2.1, tiene como dueño a Python Software Foundation (PSF), una organización sin ánimo de lucro fundada en el año 2001, tomando como modelo la Apache Software Foundation.1​ Incluido en este lanzamiento fue una implementación del scoping más parecida a las reglas de static scoping (del cual Scheme es el originador).10​ Una innovación mayor en Python 2.2 fue la unificación de los tipos en Python (tipos escritos en C), y clases (tipos escritos en Python) dentro de una jerarquía. Esa unificación logró un modelo de objetos de Python puro y consistente.11​ También fueron agregados los generadores que fueron inspirados por el lenguaje Icon.12​ Las adiciones a la biblioteca estándar de Python y las decisiones sintácticas fueron influenciadas fuertemente por Java en algunos casos: el package logging,13​ introducido en la versión 2.3, está basado en log4j; el parser SAX, introducido en 2.0; el package threading,14​ cuya clase Threadexpone un subconjunto de la interfaz de la clase homónima en Java.
Show less
No tags specified
Características y paradigmas[editar] Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones. Python usa tipado dinámico y conteo de referencias para la administración de memoria. Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado enlace dinámico de métodos). Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable. Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme. Filosofía[editar]
Show less
No tags specified
Los usuarios de Python se refieren a menudo a la Filosofía Python que es bastante análoga a la filosofía de Unix. El código que sigue los principios de Python de legibilidad y transparencia se dice que es "pythonico". Contrariamente, el código opaco u ofuscado es bautizado como "no pythonico" ("unpythonic" en inglés). Estos principios fueron famosamente descritos por el desarrollador de Python Tim Peters en El Zen de Python Bello es mejor que feo. Explícito es mejor que implícito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Disperso es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan especiales como para quebrantar las reglas. Lo práctico gana a lo puro. Los errores nunca deberían dejarse pasar silenciosamente. A menos que hayan sido silenciados explícitamente. Frente a la ambigüedad, rechaza la tentación de adivinar. Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.15​ Ahora es mejor que nunca. Aunque nunca es a menudo mejor que ya mismo. Si la implementación es difícil de explicar, es una mala idea. Si la implementación es fácil de explicar, puede que sea una buena idea. Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Show less
No tags specified
Modo interactivo[editar] El intérprete de Python estándar incluye un modo interactivo en el cual se escriben las instrucciones en una especie de intérprete de comandos: las expresiones pueden ser introducidas una a una, pudiendo verse el resultado de su evaluación inmediatamente, lo que da la posibilidad de probar porciones de código en el modo interactivo antes de integrarlo como parte de un programa. Esto resulta útil tanto para las personas que se están familiarizando con el lenguaje como para los programadores más avanzados. Existen otros programas, tales como IDLE, bpython o IPython,17​ que añaden funcionalidades extra al modo interactivo, como el autocompletado de código y el coloreado de la sintaxis del lenguaje. Ejemplo del modo interactivo:
Show less
No tags specified
Elementos del lenguaje[editar] Python fue diseñado para ser leído con facilidad. Una de sus características es el uso de palabras donde otros lenguajes utilizarían símbolos. Por ejemplo, los operadores lógicos !, || y && en Python se escriben not, or y and, respectivamente. Curiosamente el lenguaje Pascal es junto con COBOL uno de los lenguajes con muy clara sintaxis y ambos son de la década del 70. La idea del código claro y legible no es algo nuevo. El contenido de los bloques de código (bucles, funciones, clases, etc.) es delimitado mediante espacios o tabuladores, conocidos como indentación, antes de cada línea de órdenes pertenecientes al bloque.18​ Python se diferencia así de otros lenguajes de programación que mantienen como costumbre declarar los bloques mediante un conjunto de caracteres, normalmente entre llaves {}.19​20​ Se pueden utilizar tanto espacios como tabuladores para indentar el código, pero se recomienda no mezclarlos.21​
Show less
No tags specified
Comentarios[editar] Los comentarios se pueden poner de dos formas. La primera y más apropiada para comentarios largos es utilizando la notación ''' comentario ''', tres apóstrofos de apertura y tres de cierre. La segunda notación utiliza el símbolo #, y se extienden hasta el final de la línea. El intérprete no tiene en cuenta los comentarios, lo cual
Show less
Show full summary Hide full summary