Visual FoxPro era un lenguaje de programación procedimental centrado en datos de Microsoft que posteriormente se volvió orientado a objetos .
Desarrollador (es) | Microsoft |
---|---|
Lanzamiento final | |
Sistema operativo | Windows 2000 , Windows XP y Windows Server 2003 [3] |
Plataforma | IA-32 [4] |
Disponible en | IDE: inglés, alemán, español Tiempo de ejecución: arriba más francés, chino, ruso, checo, coreano |
Tipo | Entorno de desarrollo integrado , lenguaje de programación |
Licencia | Software propietario comercial |
Sitio web | msdn |
Se derivó de FoxPro (originalmente conocido como FoxBASE) que fue desarrollado por Fox Software a partir de 1984. Fox Technologies se fusionó con Microsoft en 1992, después de lo cual el software adquirió más funciones y el prefijo "Visual". [6] FoxPro 2.6 funcionó en Mac OS , DOS , Windows y Unix .
Visual FoxPro 3.0, la primera versión "Visual", redujo el soporte de la plataforma solo a Mac [7] y Windows, y las versiones posteriores 5, 6, 7, 8 y 9 eran solo para Windows. La versión actual de Visual FoxPro está basada en COM y Microsoft ha declarado que no tienen la intención de crear una versión de Microsoft .NET .
La versión 9.0, lanzada en diciembre de 2004 y actualizada en octubre de 2007 con el parche SP2, fue la versión final del producto.
Historia
Visual FoxPro se originó como miembro de la clase de lenguajes comúnmente denominados lenguajes " xBase ", que tienen una sintaxis basada en el lenguaje de programación dBase . Otros miembros de la familia de idiomas xBase incluyen Clipper y Recital (base de datos).
Visual FoxPro, comúnmente abreviado como VFP, está estrechamente integrado con su propio motor de base de datos relacional, que amplía las capacidades xBase de FoxPro para admitir consultas SQL y manipulación de datos. A diferencia de la mayoría de los sistemas de administración de bases de datos , Visual FoxPro es un lenguaje de programación dinámico con todas las funciones que no requiere el uso de un entorno de programación de propósito general adicional. Se puede utilizar para escribir no solo aplicaciones tradicionales de " cliente pesado ", sino también aplicaciones web y middleware .
A finales de 2002, se demostró que Visual FoxPro puede ejecutarse en Linux con el paquete de compatibilidad Wine Windows. En 2003, esto provocó quejas por parte de Microsoft: se afirmó que la implementación del código FoxPro en tiempo de ejecución en máquinas que no son Windows viola el Acuerdo de licencia de usuario final . [8]
Visual FoxPro tuvo un rápido aumento y caída en popularidad según lo medido por el índice de la comunidad de programación TIOBE . [9] En diciembre de 2005, VFP entró en el top 20 por primera vez. En junio de 2006 alcanzó la posición 12, convirtiéndolo (en ese momento) en un idioma "B". A octubre de 2019, Visual FoxPro ocupa el puesto 51 en el índice TIOBE. [10]
En marzo de 2007, Microsoft anunció que no habrá VFP 10, [11] lo que hace que VFP9 (lanzado a la fabricación el 17 de diciembre de 2004) sea el último lanzamiento comercial de VFP de Microsoft. El Service Pack 2 para Microsoft Visual FoxPro 9.0 se lanzó el 16 de octubre de 2007. [12] El soporte de la Versión 9 finalizó el 13 de enero de 2015. [13]
En el momento del anuncio del final de la vida útil, el trabajo en la próxima versión con nombre en código Sedna (que lleva el nombre de un planeta enano descubierto recientemente ) que se construyó sobre la base de código VFP9 ya había comenzado. "Sedna" es un conjunto de complementos para VFP 9.0 de componentes xBase para admitir una serie de escenarios de interoperabilidad con diversas tecnologías de Microsoft, incluidas SQL Server 2005, .NET Framework , Windows Vista, Office 2007, Windows Search y Team Foundation Server (TFS ). Microsoft lanzó Sedna bajo la licencia de fuente compartida en el sitio de 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. [14] En marzo de 2008, todos los componentes xBase del VFP 9 SP2 (incluido Sedna) estaban disponibles para el desarrollo comunitario en CodePlex.
A finales de marzo de 2007, la comunidad de FoxPro de habla hispana en MásFoxPro [15] ("MoreFoxPro" en inglés ) inició una campaña de base para firmar una petición a Microsoft para continuar actualizando Visual FoxPro o distribuirlo a la comunidad como código abierto . El 3 de abril de 2007 el movimiento fue notado por la prensa técnica. [dieciséis]
El 3 de abril de 2007, Microsoft respondió a la petición con esta declaración de Alan Griver: [16]
"Somos muy conscientes de la comunidad FoxPro y eso jugó un papel importante en lo que anunciamos el 13 de marzo. Nunca es una decisión fácil anunciar que no lanzaremos otra versión de un producto y es una que consideramos muy cuidadosamente.
"No estamos anunciando el final de FoxPro: obviamente, las aplicaciones FoxPro seguirán funcionando. Según algunas de nuestras estimaciones internas, hay más aplicaciones ejecutándose en FoxPro 2.6 que en VFP y FoxPro 2.6 no ha sido compatible en muchos Microsoft admitirá Visual FoxPro 9 hasta 2015.
"Para que Microsoft continúe evolucionando la base de FoxPro, tendríamos que considerar la creación de un entorno de desarrollo de 64 bits y eso 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 , incluida la edición gratuita SQL Server Express Edition. En lo que respecta a formar una sociedad con un tercero, hemos escuchado de varios clientes importantes de FoxPro que esto les haría imposible continuar usando FoxPro, ya que ya no sería de un proveedor aprobado. Sentimos que poner el entorno en código abierto en CodePlex , que equilibra las necesidades tanto de la comunidad como de los grandes clientes, era el mejor camino a seguir ".
Cronología de la versión
Todas las versiones enumeradas son para Windows. [17]
Versión | Fecha de lanzamiento |
---|---|
Visual FoxPro 3.0 | Junio de 1995 |
Visual FoxPro 5.0 | Octubre de 1996 |
Visual FoxPro 5.0a | Octubre de 1997 |
Visual FoxPro 6.0 | 18 de mayo de 1998 |
Visual FoxPro 7.0 | 27 de junio de 2001 |
Visual FoxPro 8.0 | 1 de febrero de 2003 |
Visual FoxPro 8.0 Service Pack 1 | 7 de octubre de 2003 |
Visual FoxPro 9 | 20 de diciembre de 2004 |
Visual FoxPro 9 Service Pack 1 | 8 de diciembre de 2005 |
Visual FoxPro 9 Service Pack 2 | 16 de octubre de 2007 |
Muestras de código
El lenguaje FoxPro contiene comandos bastante similares a otros lenguajes de programación como Basic.
Algunas muestras de sintaxis básica:
PARA i = 1 a 10 x = x + 6.5 SIGUIENTE && En lugar de "SIGUIENTE" también puede usar "ENDFOR"SI i = 25 i = i + 1 ELSE i = i + 3 ENDIFx = 1 HACER MIENTRAS x <50 x = x + 1 FIN HACERx = 1 HACER MIENTRAS .T. x = x + 1 SI x <50 BUCLE ELSE SALIR ENDIF ENDDOnMonth = MES ( FECHA ()) HACER CASO CASO nMonth <= 3 MESSAGEBOX ( "Q1" ) CASO nMonth <= 6 MESSAGEBOX ( "Q2" ) CASO nMonth <= 9 MESSAGEBOX ( "Q3" ) DE LO CONTRARIO CAJA DE MENSAJES ( "Q4" ) FINALIZARPARA CADA o control EN THISFORM .Controls MESSAGEBOX (o control .Nombre ) ENDFORf = factorial (10)FUNCIÓN Factorial (n) LOCAL i, r r = 1 FOR i = n TO 1 STEP -1 r = r * i NEXT && También puede usar "ENDFOR" aquí en lugar de "NEXT" RETURN r ENDFUNC
Ejemplos de Hello World:
* ¿Salida en la ubicación actual
? "Hola Mundo" * Salida en una ubicación especificada @ 1,1 DIGA "Hola mundo" * Salida en una ventana separada, borrada en la entrada ESPERA VENTANA "Hola mundo" * Salida en un cuadro de diálogo estándar, desactivado en OK MESSAGEBOX ( "Hola mundo" )
Objeto
* Salida en una ventana definida loForm = CREATEOBJECT ( "HiForm" ) loForm .Show (1)DEFINE CLASE Hola Form AS Form AutoCenter = .T. Caption = "Hola, mundo" AÑADIR OBJETO lblHi como etiqueta ; WITH Caption = "¡Hola, mundo!" ENDDEFINE
loMine = CREATEOBJECT ( " Mi clase " )? loMine.cProp1 && Esto funcionará. (¿El doble y marca un comentario de final de línea)
? loMine.cProp2 && Error de programa: la propiedad CPROP2 no se encuentra porque está oculta externamente.? loMine.MyMethod1 () && Esto funcionará. ? loMine.MyMethod2 () && Error de programa: la propiedad MYMETHOD2 no se encuentra porque está oculta externamente.DEFINIR CLASE MiClase AS personalizada cProp1 = "mi propiedad" && Esta es una propiedad pública HIDDEN cProp2 && Esta es una organización privada (oculto) Propiedad dProp3 = {} && Otra propiedad pública PROCEDIMIENTO Init () && Class constructor This .cProp2 = "Esta es una propiedad oculta". PROCEDIMIENTO dProp3_Access && Property Getter FECHA DE RETORNO () PROCEDIMIENTO dProp3_As sign (vNewVal) && Property Setter usa la etiqueta "_assign" en el nombre de la propiedad IF VARTYPE (vNewVal) = "D" THIS .dProp3 = vNewVal ENDIF PROCEDURE MyMethod1 () * Este es un método público, que llama a un método oculto que devuelve * el valor de una propiedad oculta. DEVOLVER Este .MyMethod2 () PROCEDIMIENTO OCULTO MyMethod2 () && Este es un método privado (oculto) VOLVER Este .cProp2 ENDDEFINE
- VFP tiene una extensa biblioteca de clases predefinidas y objetos visuales a los que se accede en el IDE mediante una hoja de propiedades (incluidos los métodos ), [18] por lo que el código como las clases y los objetos que definen anteriormente solo se necesitan para fines especiales y el marco de grandes sistemas.
Manejo de datos
El lenguaje también tiene amplios comandos de indexación y manipulación de bases de datos. El índice de "ayuda" de comandos en VFP 9 tiene varios cientos de comandos y funciones descritas. Los ejemplos a continuación muestran cómo codificar la creación e indexación de tablas, sin embargo, VFP tiene pantallas de creación de tablas y bases de datos que crean las tablas e índices sin tener que escribir código.
* Crear una tabla CREAR TABLA randData (iData I) * Rellenar con datos aleatorios usando xBase y comandos SQL DML PARA i = 1 TO 50 APPEND BLANK REEMPLACE iData WITH ( RAND () * 100) INSERTAR EN randData (iData) VALUES ( RAND () * 100) ENDFOR * Coloque un índice estructural en los datos ÍNDICE EN iData TAG iData CERRAR DATOS && No cierre bibliotecas abiertas, etc. * Mostrar datos ordenados usando comandos estilo xBase USE randData SET ORDER TO iData LOCATE && en lugar de GO TOP. Exige el uso del índice para encontrar LISTA PRINCIPAL SIGUIENTES 10 && Primeros 10 IR BOTTOM SKIP -10 LIST REST && Últimos 10 CERRAR DATOS * Examinar datos ordenados usando comandos SQL DML SELECT * ; FROM randData ; PEDIR POR iData DESCENDENTE
Acceso ODBC mediante paso a través de SQL
PRIVATE cAuthorID, cAuthorName && Las variables privadas suplantan cualquier variable global o privada anterior del mismo nombre LOCAL nHnd, nResult && Las variables locales son visibles solo aquí * Conectarse a una fuente de datos ODBC nHnd = SQLCONNECT ( "ODBCDSN" , "usuario" , "pwd" ) * Ingrese un bucle para que podamos salir al código de conexión cerrada si hay un error DO WHILE .T. * Ejecutar un comando SQL nResult = SQLEXEC (nHnd, "USE master" ) IF nResult <0 MESSAGEBOX ( "¡La base de datos MASTER no existe!" ) EXIT && Para cerrar la conexión ENDIF * Recuperar datos del servidor remoto y almacenarlos en un cursor de datos local nResult = SQLEXEC (nHnd, "SELECT * FROM autores" , "QAUTHORS" ) IF nResult <0 MESSAGEBOX ( "¡No se puede ejecutar el comando SQL SELECT remoto!" ) EXIT && Para cerrar la conexión ENDIF * Actualizar un registro en una tabla remota usando los parámetros cAuthorID = "1001" cAuthorName = "Nuevo nombre" nResult = SQLEXEC (nHnd, "ACTUALIZAR autores SET auth_name =? CAuthorName WHERE auth_id =? CAuthorID" ) IF nResult <0 MESSAGEBOX ( "No se puede para ejecutar el comando UPDATE de SQL remoto! " ) EXIT && Para cerrar la conexión ENDIF * Si llegamos aquí, hemos recuperado todo con éxito SALIR && Salir incondicionalmente ENDDO * Cerrar la conexión SQLDISCONNECT (nHnd)
Aplicaciones
Algunas aplicaciones notables escritas en Visual FoxPro incluyen
- PWCT : lenguaje de programación visual de código abierto gratuito para el desarrollo de software
Ver también
- Objetos visuales
- Xbase ++
- Puerto
Referencias
- ^ "Actualizaciones de Visual FoxPro 9.0" . Centro de desarrolladores de Visual FoxPro . Microsoft . Consultado el 7 de junio de 2013 .
- ^ "Descargar Microsoft Visual FoxPro 9.0 Service Pack 2.0" . Centro de descargas . Microsoft. 16 de octubre de 2007 . Consultado el 7 de junio de 2013 .
- ^ "Requisitos del sistema" . Centro de desarrolladores de Visual FoxPro . Microsoft . Consultado el 7 de junio de 2013 .
- ^ "Preguntas frecuentes" . Centro de desarrolladores de Visual FoxPro . Microsoft . Consultado el 7 de junio de 2013 .
- ^ "Un mensaje a la comunidad" . Centro de desarrolladores de Visual FoxPro . Microsoft . Consultado el 7 de junio de 2013 .
- ^ NY Times
- ^ Microsoft Visual FoxPro 3.0 para Power Macintosh ya está disponible , 25 de julio de 1996, news.microsoft.com
- ^ Visual FoxPro para Linux: ¿una infracción del EULA? , 13 de mayo de 2003, por Ed Leafe, Linux Journal
- ^ Historial del índice de Tiobe para FoxPro
- ^ https://www.tiobe.com/tiobe-index/
- ^ Un mensaje para la comunidad
- ^ Microsoft Visual FoxPro 9.0 Service Pack 2.0
- ^ "Ciclo de vida de Microsoft Visual FoxPro 9.0" . support.microsoft.com . Consultado el 31 de agosto de 2018 .
- ^ Descarga de Microsoft SEDNA
- ^ Mas FoxPro - Wiki de Visual FoxPro
- ^ a b Los desarrolladores solicitan a Microsoft que reconsidere la eliminación de FoxPro Publicado por Mary Jo Foley (3 de abril de 2007) - Todo sobre Microsoft - ZDNet.com
- ^ La historia de FoxPro
- ^ "Herramientas de productividad de desarrollo de Visual FoxPro" . Microsoft . Consultado el 20 de diciembre de 2014 .
enlaces externos
Páginas de Microsoft
- Página principal de Microsoft Visual FoxPro
- Placa de soporte MSDN FoxPro
- Ayuda en línea de VFP
Otras paginas
- Wiki de Visual FoxPro Un repositorio de información de FoxPro (escrito en VFP)
- Un sitio dedicado a la historia de FoxPro
- VFPx Un esfuerzo de la comunidad de Visual FoxPro para crear complementos de código abierto para VFP 9.0