Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

30
Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft Visual Foxpro - .NET Novedades Ana María Bisbé | Danysoft

description

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 - PowerPoint PPT Presentation

Transcript of Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Page 1: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Haciendo visible el camino a .NETIV Encuentro de programadores Microsoft & Danysoft

Visual Foxpro - .NETNovedades Ana María Bisbé | Danysoft

Page 2: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Agenda del día09: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

Page 3: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Novedades Visual FoxPro 9.0

Datos Entorno de Desarrollo Interactivo (IDE) Lenguaje

Page 4: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 5: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

¿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

Page 6: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 7: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 8: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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.)

Page 9: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 10: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 11: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 12: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 13: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 14: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Diseñador de Informes (II)Extensibilidad Antes de VFP 9.0

Nuevo Motor de informes

Page 15: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 16: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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()

Page 17: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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.

Page 18: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 19: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

¿VFP o .NET? la perspectiva correcta VFP una herramienta madura .NET una tecnología exitosa La perspectiva correcta ¿Estará VFP en .Net?

Page 20: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

.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

Page 21: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

POO en VFP y .NET En VFP convive la programación procedural con la OOP

LOCAL loObjectloObject = CREATEOBJECT("TestClass")? loObject.GetCurrentDate()

DEFINE CLASS TestClass AS CUSTOMFUNCTION GetCurrentDate()RETURN "La fecha es: " + TRANSFORM(DATE())ENDFUNCENDDEFINE

En .NET todo es objetoConsole.Writeline(“La fecha es: “+ Datetime.Today.ToString))

Page 22: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

POO en VFP y .NET (II) Definición de clases

VFP VB.NET C#.NETDEFINE CLASS TestClass AS CustomENDDEFINE

Public Class TestClassEnd Class

public class TestClass{ } public class TestClass{ }

Public Class TestClass  Inherits ObjectEnd Class

public class TestClass : Object { }

Page 23: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

POO en VFP y .NET (III) Escritura estrictamente tipada En VFP es posible cometer estos erroresLOCAL oFormoForm = CreateObject("Form")oForm = CreateObject("TestClass")oForm.Show() En .NET NO es posibleDim oForm as FormoForm = New Form

En VFP NO es posible crear este acceso directoLOCAL oForm = CreateObject(“Form”) En VB.NETDim oForm AS New Form En C#.NETForm oForm = new Form()

Page 24: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

POO en VFP y .NET (IV) Espacios de nombres (namespaces) En VFP las clases se almacenan en bibliotecas.VCXs.PRGsUn .EXE o .DLL puede almacenar varias bibliotecas de clases En .NET las clases se almacenan en namespacesUn .EXE o .DLL puede almacenar varios namespaces

En .NET los namespaces forman parte del nombre de la clase Public NameSpace MyNamespacePublic Clss TestClassEndClassEnd NameSpace

Page 25: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Herencia en VFP y .NET

VFP VB.NETDEFINE CLASS Contacto AS Custom FUNCTION DameNombre() AS String RETURN “Ana” ENDFUNCENDDEFINE

DEFINE CLASS Cliente AS Contacto FUNCTION ClienteValido() AS Boolean RETURN .T. ENDFUNCENDDEFINE

Public Class Contacto Public Function DameNombre() As String Return “Ana” End FunctionEnd Class

Public class Cliente Inherits Contacto Public Function ClienteValido() AS Boolean Return True End FunctionEnd Class

Page 26: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Herencia en VFP y .NET (II)

VFP VB.NETLOCAL oContacto as ObjectoContacto = CreateObject(“Contact”)oContacto.DameNombre()

LOCAL oCliente as ObjectoCliente = CreateObject(“Cliente”)oCliente.DameNombre()oCliente.ClienteValido()

Dim oContacto As New ClienteoContacto.DameNombre()

Dim oCliente As New ClienteoCliente.DameNombreCompleto()oCliente.ClienteValido()

Dim oCliente As Contacto = New Cliente()oCliente.DameNombre()

Page 27: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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.

Page 28: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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

Page 29: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

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”.

Page 30: Haciendo visible el camino a .NET IV Encuentro de programadores Microsoft & Danysoft

Más información DANYSOFT

Información, artículos técnicos, www.danysoft.comServicios Profesionales, [email protected], utilidades, licencias y libros: www.danyshop.com , [email protected]

Foxhttp://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 conDanysoft en el 902 123146 ó en [email protected]