300 likes | 1.27k Views
Visual Foxpro - .NET Novedades Ana María Bisbé | Danysoft. Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft. Agenda del día. 09:00 - 11:00 Novedades Visual FoxPro 9.0 Datos Entorno de Desarrollo Interactivo (IDE) Lenguaje
E N D
Visual Foxpro - .NETNovedades Ana María Bisbé | Danysoft Haciendo visible el camino a .NETIV Encuentro de programadores Microsoft & Danysoft
Agenda del día • 09:00 - 11:00 Novedades Visual FoxPro 9.0 • Datos • Entorno de Desarrollo Interactivo (IDE) • Lenguaje • 11:00 - 11:30 Café • 11:30 - 13:00 Interoperabilidad VFP - .NET • ¿VFP o .NET? la perspectiva correcta • .NET y sus beneficios para desarrolladores VFP • VFP y sus beneficios para desarrolladores .NET • POO en VFP y .NET • Herencia en VFP y .NET • Métodos, propiedades y campos en VFP y .NET • Ejemplos de Interoperabilidad • 13:00 Conclusiones
Novedades Visual FoxPro 9.0 • Datos • Entorno de Desarrollo Interactivo (IDE) • Lenguaje
Visual FoxPro es un lenguaje centrado en datos, orientado a objetos que ofrece a los desarrolladores un conjunto de herramientas robustas para la creación de aplicaciones de bases de datos, desde escritorios, cliente servidor o la web. – Ken Levy Product Manager MS VS
¿Por qué Visual FoxPro? Porque está en todas partes, es poderoso, es rápido de aprender, es económico. Porque tiene integrado mucho de lo necesario para escribir, depurar y mantener aplicaciones de escritorio, multicapa, de Internet, COM y Servicios web, y lo que le falta lo puede consumir o está disponible en herramientas de terceros. Es capaz de correr en hardware económico, de menor tecnología, utilizar código heredado y aún así seguir haciendo todo lo que se espera que haga un lenguaje moderno. ”Aun cuando nunca más fuese a escribir otra aplicación en VFP, siempre estará instalado en mi máquina”.- David T. Anderson
Objetivos del FoxTeam para la Versión 9.0 • Basarse en las sugerencias de los usuarios y Listas de deseos (Wish list) • Mantener compatibilidad hacia atrás • Mejoras en el lenguaje, nuevas funciones: ICASE(), CAST(), CLEAR ERROR, SYS(2910) • Nuevos tipos de datos:VarChar, VarBinary, y BLOB • Añadir nuevas características de interfaz a los usuarios finales: Autocomplementar en textbox, IntelliSense en aplicaciones, modificación protegida de informes. • Mejorar la productividad del desarrollador: MemberData, panel Explorador de Datos en Panel de tareas • Mejoras significativas en el Generador de informes: múltiples bandas de detalle, protección, extensibilidad • Nueva clase base ReportListener • Nuevos diseñadores de propiedades: Anchor y MemberData • Mayor conectividad con XML y SQL Server
Visual FoxPro 9.0 en Castellano • Se realizó la traducción al castellano del IDE y la Ayuda de VFP 8.0 por un equipo internacional • Ya se traduce el IDE de la versión 9.0. En breve se convocará a los desarrolladores para la traducción de la ayuda de VFP 9.0
Datos (I) • Nuevos tipos de datos: VarChar, Varbinary y Blob • Nuevo tipo de índice Binary • Mejoras XML • XML anidados • Soporte a esquemas XSD de diferentes formatos • Soporte a nuevos tipos de datos – nuevas propiedades MAPVARCHAR y MAPVARBINARY • Mejoras SQL • Menos restricciones • Subconsultas anidadas • Subconsultas en cláusula FROM, lista de campos y UPDATE • Nuevo resultado en TOP n • Mejoras de optimización • Mostrar resultado de optimización • SELECT desde tablas almacenadas en buffer – cláusula • WITH (buffering .T.)
Datos (II) • Mejoras CursorAdapter • Transacciones sobre tablas libres y cursores funciones MAKETRANSACTABLE(), ISTRANSACTABLE() • Refrescar datos desde CursorAdapter – método RecordRefresh • Valores predeterminados para CURSORFILL – propiedades UseCursorSchema, NoData • Deshabilitar transacciones automáticas – propiedad UseTransactions • Valores restringidos y predeterminados – claúsula CHECK • Aumento del tamaño para valor de propiedad
Entorno de Desarrollo Interactivo (IDE) • Diseñador de clases y formularios • Administrador de proyectos • Ventanas de código • Panel de Tareas • Diseñador de informes
Diseñador de clases y formularios • Cambios en opciones de menú y títulos de ventanas de ventanas • Posibilidad de acoplar (Dock) ventanas de usuarios • Ventana Propiedades • Nueva propiedad MemberData • Propiedad Anchor • Mostrar elementos gráficos • Autocompletar en cuadros de texto • Control de capitalización • Control de Ficha Propiedades • Generador de MemberData
Administrador de proyectos • Modificar librerías de clases VCX • Obtener log de errores de generación • Arrastre de archivos al Administrador de proyectos • Administrador del Panel de Tareas (Task Pane) • Nuevos ejemplos Solution • Nuevas fichas en el panel Administrador de Entorno • Nuevo panel Explorador de datos • Ventanas de código • IntelliSense dentro de comandos WITH… ENDWITH, FOR EACH …. ENDFOR • Compilación inmediata • Imprimir texto seleccionado • Copiar código con formato • Mejoras en el cuadro de diálogo Buscar
Diseñador de Informes (I) • Protege todo el trabajo invertido. • No modifica la estructura actual del archivo FRX. • Mejora el interfaz de usuario: • se eliminaron muchos de los cuadros de diálogos aislados y se unificaron en la nueva • ventana Propiedades de informe, • fueron rediseñadas las ventanas Propiedades de campo y Banda • cambios en el cuadro de diálogo Generador de expresiones • nuevo cuadro de diálogo Selección múltiple • Proporciona nuevas posibilidades • Es soportada la depuración en Informes • Protección – MODIFY REPORT nombreInforme PROTECTED • encabezados en tiempo de diseño, • manipulación de DataEnviroment, • múltiples bandas de detalle
Diseñador de Informes (II) • Extensibilidad • Antes de VFP 9.0 • Nuevo Motor de informes
Diseñador de Informes (III) • Extensibilidad • Nueva clase ReportListener • oListener = CREATEOBJECT("ReportListener") • oListener.ListenerType = 1 • REPORT FORM <name> <clauses> OBJECT oListener • Nuevas variables del sistema • Mejoras en las capacidades en tiempo de ejecución • _REPORTBUILDER • _REPORTPREVIEW • _REPORTOUTPUT • Posibilitar más tipos de salidas además de pantalla e impresora • - HTML • - XML • - Imagen
Lenguaje • ICASE() antes: IIF(1+1=2, "Se cumple la primera”, IIF(1+1=3,"Se cumple la segunda",“Ninguna")) ahora:ICASE(1+1=2,"Se cumple la primera",1+1=3,"Se cumple la segunda","Ninguna”) • CAST() • Mejoras en STREXTRACT()
Conclusiones • Visual FoxPro 9.0 es una versión estable, que incorpora funcionalidades nunca antes vistas como el nuevo Generador de Informes, con la salida asistida por objetos y la posibilidad de trabajar con archivos XML anidados y subconsultas anidadas. • Los nuevos tipos de datos y el soporte de nombres largos de campos, hacen a Visual FoxPro cada vez más compatible al resto de herramientas para tratamiento de datos. • El IDE continúa en constante evolución, buscando elevar cada vez más la productividad de los de los desarrolladores. LA ventana Propiedades, la nueva propiedad _memberdata, los generadores de propiedades y el panel Entorno de datos, son evidentes ejemplos de ello. • El archivo de Ayuda ha sido mejorado y complementado en muchos aspectos. Es fuente inagotable de conocimientos y material de lectura altamente recomendada.
Interoperabilidad VFP - .NET • ¿VFP o .NET? la perspectiva correcta • .NET y sus beneficios para desarrolladores VFP • VFP y sus beneficios para desarrolladores .NET • Programación Orientada a Objetos en VFP y .NET • Herencia en VFP y .NET • Ejemplos de Interoperabilidad • Conclusiones
¿VFP o .NET? la perspectiva correcta • VFP una herramienta madura • .NET una tecnología exitosa • La perspectiva correcta • ¿Estará VFP en .Net?
.NET y sus beneficios para desarrolladores VFP • Muchas clases en .NET • Aprender la tecnología .NET y aplicarla en VFP • Adopción de buenas prácticas de programación VFP y sus beneficios para desarrolladores .NET • Conocimiento de OOP desde VFP • Reproducir la forma en que trabaja desde VFP
POO en VFP y .NET • En VFP convive la programación procedural con la OOP • LOCAL loObject • loObject = CREATEOBJECT("TestClass") • ? loObject.GetCurrentDate() • DEFINE CLASS TestClass AS CUSTOM • FUNCTION GetCurrentDate() • RETURN "La fecha es: " + TRANSFORM(DATE()) • ENDFUNC • ENDDEFINE • En .NET todo es objeto • Console.Writeline(“La fecha es: “+ Datetime.Today.ToString))
POO en VFP y .NET (II) • Definición de clases
POO en VFP y .NET (III) • Escritura estrictamente tipada • En VFP es posible cometer estos errores LOCAL oForm oForm = CreateObject("Form") oForm = CreateObject("TestClass") oForm.Show() • En .NET NO es posible Dim oForm as Form oForm = New Form • En VFP NO es posible crear este acceso directo LOCAL oForm = CreateObject(“Form”) • En VB.NET Dim oForm AS New Form • En C#.NET Form oForm = new Form()
POO en VFP y .NET (IV) • Espacios de nombres (namespaces) • En VFP las clases se almacenan en bibliotecas .VCXs .PRGs Un .EXE o .DLL puede almacenar varias bibliotecas de clases • En .NET las clases se almacenan en namespaces Un .EXE o .DLL puede almacenar varios namespaces • En .NET los namespaces forman parte del nombre de la clase Public NameSpace MyNamespace Public Clss TestClass EndClass End NameSpace
Herencia en VFP y .NET (III) • En VFP se puede sobreescribir los métodos. • En .NET no se puede sobreescribir un método. Hay que incluir la palabra clave Overrides para VB.NET u Override para C#.NET en la instancia actual y Overridable en la clase base • En VFP DODEFAULT() ejecuta el código de la clase padre En VB.NET – MyBase.DameNombre() En C#.NET – base.DameNombre() • En VFP se construye el objeto al ocurrir el evento INIT() • En .NET existen constructores: En VB.NET son métodos New, En C#.NET se nombran igual que la clase padre.
Ejemplos de Interoperabilidad • Consumir datos VFP en .NET • Consumir componentes COM VFP desde .NET • Exponer desde .NET objetos VFP como Servicios WEB • Consumir Servicios Webs .NET desde VFP
Conclusiones • Visual FoxPro es una herramienta de programación de aplicaciones que se encuentra en constante perfeccionamiento. • Visual FoxPro incluyó la capacidad de trabajar con XML en su versión 7.0. haciendo así posible publicar y consumir Servicios Webs. Versiones posteriores han mejorado sus prestaciones. • .NET es una herramienta estable y actual que brinda un conjunto de clases y capacidad integrada de gran utilidad para los desarrolladores. • La mejor perspectiva es sin dudas: “Aprovechar lo mejor de ambos mundos”.
Más información • DANYSOFT • Información, artículos técnicos, www.danysoft.com • Servicios Profesionales, sp@danysoft.com • Software, utilidades, licencias y libros: www.danyshop.com , info@danysoft.com • Fox • http://www.gotdotnet.com/team/vfp/ • http://www.utmag.com/Spanish/Index.asp • http://msdn.microsoft.com/vfoxpro/ • http://www.eps-cs.com/VFPConversion/foxtofox.aspx • http://www.pinpub.com/ME2/default.asp • http://foxproadvisor.com/ Gracias por su asistencia, para +información contacten con Danysoft en el 902 123146 ó en sp@danysoft.com