--------------------------------------------------
From: "Mario L�pez" <guag...@gmail.com>
Sent: Friday, April 13, 2012 4:16 PM
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Subject: [vfp] Re: T�rminos VFP vs WinDev
> @V�ctor:
>
> personalmente wxPython no me parece para nada malo, fijate un
> desarrollo m�o con Dabo
>
> http://troll.ws/plQSCt
>
> Yo no lo veo tan feo (y claro, lo hice yo, que voy a decir :)), los
> colores se ajustan al estilo de mi Windows -por ejemplo, cuando usaba
> color verde oliva se ve�a todo en gradientes de verde-, anda en Linux
> y Mac, y son solamente unas 500 lineas de c�digo para un visualizador
> de clases basado en Dabo que te permite ver y filtrar hasta con
> resaltado de sintaxis todas las clases de cualquier librer�a Python.
>
> Otros screenshots de programas wxPython:
>
> Phatch: http://www.phatch.org/
> SPE IDE: http://sourceforge.net/projects/spe/screenshots/37127
> Wing IDE:
> http://4.bp.blogspot.com/_y_bGxMwbE9g/TLoxhge5lKI/AAAAAAAABDM/aJ0fQswTtxg/s1600/wingware4.JPG
> Task Coach: http://www.taskcoach.org/
> Mockup Screens: http://mockupscreens.com/index.php?page=Screen-Prototypes
>
> En general, yo no veo las GUIs generadas con wxPython como horribles
> ni anacr�nicas, me parecen por lo menos
> iguales o algo mejores que las de VFP est�ndar. Obvio que tanto como
> VFP puede mejorarse notoriamente con
> librer�as como GdiPlusX, RibbonBar, etc wxPython podr� mejorarse con
> sus propias librer�as: AUI -Advanced User Interfaces- etc (hasta v� un
> RibbonBar para wxPython :)). Adem�s record� que como todos estos GUIs
> frameworks son multiplataforma algo de calidad sacrifican a cambio de
> portabilidad.
>
> Igualmente wxPython no el �nico framework GUI disponible:
> * PyQt ya est� soportado en Python 3
> http://qt.nokia.com/qt-in-use/ambassadors/showcase/
>
> * IronPython puede usar todas las clases del .NET o Mono
> http://www.voidspace.org.uk/ironpython/winforms/part11.shtml
>
> * PyjamasDesktop te permite usar un backend de browser como GUI -v�a
> webkit y compilando python a javascript-
> http://pyjs.org/examples/showcase/build/Showcase.html
>
> y hay varios m�s.
>> > C�digo Dabo relevante:
>> > ---
>> > f = dabo.ui.getFile("cnxml")
>> > conn = dabo.db.dConnection(f)
>> > crs = conn.getDaboCursor()
>> > crs.Table = "zipcodes"
>> > crs.executeSQL()
>> > dabo.ui.browse(crs.getDataSet())
>> > ---
>>
>> > Opini�n m�a anterior sobre Dabo
>>
>> >http://newsgrupos.niuz.biz/microsoft-public-es-vfoxpro/884302-ot-vfp-...
>>
>> > Por supuesto, no es "exactamente" igual que VFP, pero tiene una
>> > filosof�a muy similar (dise�adores de clases, forms y reportes,
>> > ventana de comandos, etc). No en vano uno de los creadores es un
>> > "gur�" VFP (Ed Leafe, creador de Codebook y administrador de la lista
>> > de Profoxhttp://news.gmane.org/gmane.comp.db.foxpro.profox)
>>
>> > No cobro nada por la propaganda, eh :))
>>
>> > Igualmente coincido mayormente con vos en que cuando uno se pasa a
>> > otra herramienta de desarrollo hay que acostumbrarse a la forma de
>> > trabajar de �sta y no pretender que la misma haga todo "� la VFP"
>> > porque eso no existe.
>> > S� est� bueno elegir una herramienta lo suficientemente flexible que
>> > te permita desarrollar un scaffolding (andamiaje?) que te permita ser
>> > tan productivo -o m�s- con dicha herramienta como lo somos con VFP.
>> > > > On Friday, April 13, 2012 9:59:59 AM UTC-5, Jos� Anthony Contreras
>> > Peralta
>> > > > wrote:
>>
>> > > >> La opci�n BROWSE si que es importante para nosotros los
>> > desarrolladores
>> > > >> de VFP que podemos ver los datos al instante de cualquier consulta
>> > > >> y
>> > poder
>> > > >> revisar en tiempo de desarrollo o ejecuci�n para ver los datos
>> > filtrados
>> > > >> desde c�digo.
>>
>> > > >> El equivalente a BROWSE seg�n lo que comentas no es posible en
>> > > >> WinDev
>> > con
>> > > >> un simple comando, que l�stima, ya que en WinDev hay que llevarlo
>> > > >> a
>> > una
>> > > >> cuadr�cula ("Table"), construida a mano.
>>
>> > > >> La ventana de comandos en VFP si que es fundamental e importante.
>>
>> > > >> En fin sabemos que entre los dos lenguajes existen diferencias...
>>
>> > > >> *Saludes*
>> > > >> *
>> > > >> *
>> > > >> *Anthony Contreras Peralta*
>> > > >> *
>> > > >> *
>> > > >> *Costa Rica.*
>>
>> > > >> El 13 de abril de 2012 00:39, HernanCano
>> > > >> <jhernanca...@gmail.com>escribi�:
>>
>> > > >>> Glosario:
>> > > >>> ---------
>> > > >>> 1.
>> > > >>> En WinDev a un archivo de datos 'nativo' se le conoce como
>> > "fichero",
>> > > >>> es un archivo con extensi�n ".FIC" en formato HyperFile.
>> > > >>> En VFP estos archivos nativos tienen extensi�n ".DBF" y se les ha
>> > > >>> conocido como tabla (no me gusta el t�rmino y no lo volver� a
>> > > >>> utilizar, los llamar� archivos DBF) cuyo motor se le conoce como
>> > xBase
>> > > >>> (por similitud con otros compiladores que utilizan archivos de
>> > > >>> datos
>> > > >>> similares --DBase, Clipper, Xbase, Harbour, FlagShip--.
>>
>> > > >>> 2.
>> > > >>> En VFP tenemos los t�rminos Grid-Grilla-Cuadr�cula, que son
>> > sin�nimos.
>> > > >>> En WinDev se le conoce --yo lo llamar�-- Table (no lo traduzco,
>> > > >>> pues
>> > > >>> en VFP existe ese t�rmino pero con otro significado, como vimos
>> > > >>> en
>> > el
>> > > >>> primer punto).
>>
>> > > >>> 3.
>> > > >>> En WinDev tenemos la ventana de comandos, que no existe en
>> > > >>> WinDev.
>> > Es
>> > > >>> una ventana donde podemos: (1) escribir comandos individualmente,
>> > (2)
>> > > >>> ejecutarlos, y (3) ver su resultado o respuesta.
>>
>> > > >>> 4.
>> > > >>> En VFP podemos ver los datos de un archivo de datos (1) con el
>> > comando
>> > > >>> BROWSE, o (2) con un grid --este grid puede construirse con un
>> > > >>> asistente o puede definirse mediante la programaci�n (sin
>> > > >>> asistente)
>> > > >>> que permite el lenguaje de VFP--.
>> > > >>> En WinDev s�lo en posible verlos con una table ("cuadr�cula") la
>> > cual
>> > > >>> tiene que ser construida a mano --es decir armar cada uno de sus
>> > > >>> campos y cada una de las propiedaes de cada campo en varios
>> > > >>> pantallazos--, y a su vez la "table" tiene que estar incrustada
>> > > >>> en
>> > una
>> > > >>> ventana de WinDev (formulario en VFP).
>> > > >>> En VFP el grid tambi�n tiene que estar incrustado en un
>> > > >>> formulario,
>> > > >>> pero tanto la grid como el formulario pueden definirse por
>> > > >>> programaci�n, sin pasar por los dos asistentes.
>>
>> > > >>> 5.
>> > > >>> Los "asistentes" son los "constructores" que hay en casi todos
>> > > >>> los
>> > > >>> lenguajes actuales de "altas generaciones". Con los asistentes
>> > > >>> puede
>> > > >>> hacer ventanas en WinDev (formularios en VFP), "tables" en WinDev
>> > > >>> (cuadr�culas en VFP), reportes en ambos lenguajes, queries en
>> > > >>> ambos
>> > > >>> lenguajes, proyectos en ambos lenguajes, an�lisis de datos en
>> > > >>> WinDev
>> > > >>> (bases de datos en VFP), etc.
>>
>> > > >>> 6.
>> > > >>> Ambos lenguajes pueden conectarse a motores de datos externos;
>> > > >>> VFP
>> > > >>> utiliza ODBC para conectarse, mientras que WinDev puede usar
>> > > >>> tanto
>> > > >>> ODBC como algunos comandos nativos (no he llegado a esta parte en
>> > mis
>> > > >>> app; en la empresa hay plantilas que automatizan este aspecto).
>>
>> > > >>> 7.
>> > > >>> Al hecho de hacer click en un bot�n Ok o Aceptar en VFP, se le
>> > conoce
>> > > >>> como Validar en WinDev.
>>
>> > > >>> 8.
>> > > >>> La ejecuci�n de un programa s� se puede detener en WinDev si se
>> > > >>> hace
>> > > >>> click en un bot�n marcado como bot�n de Cancel, aunque una
>> > validaci�n
>> > > >>> sea incorrecta. En VFP aunque un bot�n est� marcado como bot�n de
>> > > >>> Cancel, la ejecuci�n de un programa 'no se detiene': hay que
A Wx tem um demo de exemplo de telas graficas com o uso de todos os controles, o visual é lindo.
--------------------------------------------------
From: "Mario López" <guag...@gmail.com>
Sent: Friday, April 13, 2012 4:16 PM
To: "Comunidad de Visual Foxpro en Español" <publicesvfoxpro@googlegroups.com>
Subject: [vfp] Re: Términos VFP vs WinDev
@Víctor:
personalmente wxPython no me parece para nada malo, fijate un
desarrollo mío con Dabo
http://troll.ws/plQSCt
Yo no lo veo tan feo (y claro, lo hice yo, que voy a decir :)), los
colores se ajustan al estilo de mi Windows -por ejemplo, cuando usaba
color verde oliva se veía todo en gradientes de verde-, anda en Linux
y Mac, y son solamente unas 500 lineas de código para un visualizador
de clases basado en Dabo que te permite ver y filtrar hasta con
resaltado de sintaxis todas las clases de cualquier librería Python.
Otros screenshots de programas wxPython:
Phatch: http://www.phatch.org/
SPE IDE: http://sourceforge.net/projects/spe/screenshots/37127
Wing IDE: http://4.bp.blogspot.com/_y_bGxMwbE9g/TLoxhge5lKI/AAAAAAAABDM/aJ0fQswTtxg/s1600/wingware4.JPG
Task Coach: http://www.taskcoach.org/
Mockup Screens: http://mockupscreens.com/index.php?page=Screen-Prototypes
En general, yo no veo las GUIs generadas con wxPython como horribles
ni anacrónicas, me parecen por lo menos
iguales o algo mejores que las de VFP estándar. Obvio que tanto como
VFP puede mejorarse notoriamente con
librerías como GdiPlusX, RibbonBar, etc wxPython podrá mejorarse con
sus propias librerías: AUI -Advanced User Interfaces- etc (hasta ví un
RibbonBar para wxPython :)). Además recordá que como todos estos GUIs
frameworks son multiplataforma algo de calidad sacrifican a cambio de
portabilidad.
Igualmente wxPython no el único framework GUI disponible:
* PyQt ya está soportado en Python 3
http://qt.nokia.com/qt-in-use/ambassadors/showcase/
* IronPython puede usar todas las clases del .NET o Mono
http://www.voidspace.org.uk/ironpython/winforms/part11.shtml
* PyjamasDesktop te permite usar un backend de browser como GUI -vía
webkit y compilando python a javascript-
http://pyjs.org/examples/showcase/build/Showcase.html
y hay varios más.
> Código Dabo relevante:
> ---
> f = dabo.ui.getFile("cnxml")
> conn = dabo.db.dConnection(f)
> crs = conn.getDaboCursor()
> crs.Table = "zipcodes"
> crs.executeSQL()
> dabo.ui.browse(crs.getDataSet())
> ---
> Opinión mía anterior sobre Dabo
>http://newsgrupos.niuz.biz/microsoft-public-es-vfoxpro/884302-ot-vfp-...
> Por supuesto, no es "exactamente" igual que VFP, pero tiene una
> filosofía muy similar (diseñadores de clases, forms y reportes,
> ventana de comandos, etc). No en vano uno de los creadores es un
> "gurú" VFP (Ed Leafe, creador de Codebook y administrador de la lista
> de Profoxhttp://news.gmane.org/gmane.comp.db.foxpro.profox)
> No cobro nada por la propaganda, eh :))
> Igualmente coincido mayormente con vos en que cuando uno se pasa a
> otra herramienta de desarrollo hay que acostumbrarse a la forma de
> trabajar de ésta y no pretender que la misma haga todo "á la VFP"
> porque eso no existe.
> Sí está bueno elegir una herramienta lo suficientemente flexible que
> te permita desarrollar un scaffolding (andamiaje?) que te permita ser
> tan productivo -o más- con dicha herramienta como lo somos con VFP.
> > > On Friday, April 13, 2012 9:59:59 AM UTC-5, José Anthony Contreras
> Peralta
> > > wrote:
> > >> La opción BROWSE si que es importante para nosotros los
> desarrolladores
> > >> de VFP que podemos ver los datos al instante de cualquier consulta > > >> y
> poder
> > >> revisar en tiempo de desarrollo o ejecución para ver los datos
> filtrados
> > >> desde código.
> > >> El equivalente a BROWSE según lo que comentas no es posible en > > >> WinDev
> con
> > >> un simple comando, que lástima, ya que en WinDev hay que llevarlo > > >> a
> una
> > >> cuadrícula ("Table"), construida a mano.
> > >> La ventana de comandos en VFP si que es fundamental e importante.
> > >> En fin sabemos que entre los dos lenguajes existen diferencias...
> > >> *Saludes*
> > >> *
> > >> *
> > >> *Anthony Contreras Peralta*
> > >> *
> > >> *
> > >> *Costa Rica.*
> > >> El 13 de abril de 2012 00:39, HernanCano > > >> <jhernanca...@gmail.com>escribió:
> > >>> Glosario:
> > >>> ---------
> > >>> 1.
> > >>> En WinDev a un archivo de datos 'nativo' se le conoce como
> "fichero",
> > >>> es un archivo con extensión ".FIC" en formato HyperFile.
> > >>> En VFP estos archivos nativos tienen extensión ".DBF" y se les ha
> > >>> conocido como tabla (no me gusta el término y no lo volveré a
> > >>> utilizar, los llamaré archivos DBF) cuyo motor se le conoce como
> xBase
> > >>> (por similitud con otros compiladores que utilizan archivos de > > >>> datos
> > >>> similares --DBase, Clipper, Xbase, Harbour, FlagShip--.
> > >>> 2.
> > >>> En VFP tenemos los términos Grid-Grilla-Cuadrícula, que son
> sinónimos.
> > >>> En WinDev se le conoce --yo lo llamaré-- Table (no lo traduzco, > > >>> pues
> > >>> en VFP existe ese término pero con otro significado, como vimos > > >>> en
> el
> > >>> primer punto).
> > >>> 3.
> > >>> En WinDev tenemos la ventana de comandos, que no existe en > > >>> WinDev.
> Es
> > >>> una ventana donde podemos: (1) escribir comandos individualmente,
> (2)
> > >>> ejecutarlos, y (3) ver su resultado o respuesta.
> > >>> 4.
> > >>> En VFP podemos ver los datos de un archivo de datos (1) con el
> comando
> > >>> BROWSE, o (2) con un grid --este grid puede construirse con un
> > >>> asistente o puede definirse mediante la programación (sin > > >>> asistente)
> > >>> que permite el lenguaje de VFP--.
> > >>> En WinDev sólo en posible verlos con una table ("cuadrícula") la
> cual
> > >>> tiene que ser construida a mano --es decir armar cada uno de sus
> > >>> campos y cada una de las propiedaes de cada campo en varios
> > >>> pantallazos--, y a su vez la "table" tiene que estar incrustada > > >>> en
> una
> > >>> ventana de WinDev (formulario en VFP).
> > >>> En VFP el grid también tiene que estar incrustado en un > > >>> formulario,
> > >>> pero tanto la grid como el formulario pueden definirse por
> > >>> programación, sin pasar por los dos asistentes.
> > >>> 5.
> > >>> Los "asistentes" son los "constructores" que hay en casi todos > > >>> los
> > >>> lenguajes actuales de "altas generaciones". Con los asistentes > > >>> puede
> > >>> hacer ventanas en WinDev (formularios en VFP), "tables" en WinDev
> > >>> (cuadrículas en VFP), reportes en ambos lenguajes, queries en > > >>> ambos
> > >>> lenguajes, proyectos en ambos lenguajes, análisis de datos en > > >>> WinDev
> > >>> (bases de datos en VFP), etc.
> > >>> 6.
> > >>> Ambos lenguajes pueden conectarse a motores de datos externos; > > >>> VFP
> > >>> utiliza ODBC para conectarse, mientras que WinDev puede usar > > >>> tanto
> > >>> ODBC como algunos comandos nativos (no he llegado a esta parte en
> mis
> > >>> app; en la empresa hay plantilas que automatizan este aspecto).
> > >>> 7.
> > >>> Al hecho de hacer click en un botón Ok o Aceptar en VFP, se le
> conoce
> > >>> como Validar en WinDev.
> > >>> 8.
> > >>> La ejecución de un programa sí se puede detener en WinDev si se > > >>> hace
> > >>> click en un botón marcado como botón de Cancel, aunque una
> validación
> > >>> sea incorrecta. En VFP aunque un botón esté marcado como botón de
> > >>> Cancel, la ejecución de un programa 'no se detiene': hay que
| |||


| |||


Aunque la versión Express es bastante limitada hice estos ejercicios para que cualquiera puede ejecutarlos.
Es una aplicación pequeña de cuatro ficheros (tablas) y unas tres ventanas (formularios), para que descarguen la versión Express y
puedan ver el programa fuente.
Para realizar un proyecto primero se debe crear el Analisis (algo así como el diccionario de datos), el analisis no crea ningún
fichero (tabla), los archivos de datos se crean automáticamente cuando tenemos HyperFile Classic o Cliente Servidor, si se tiene otra
bases de datos (SQL server, MySQL, Oracle) se genera el script correspondiente para crear las tablas en esa base de datos.
Las varibles se deben definir con su tipo (fuertemente tipeadas), al principio es un poco molesto debido a la forma un poco
descomplicada de VFP, pero al final es muy práctico debido a que no podemos asignar un dato a esa variable que no le corresponda,
además WinDev hace la traducción automática de los diferentes tipos, ej:
A is string
B is int = 20
C is string
A = B // A contiene "20"
C = A + B // C contiene "2020"
B = C // B contiene 2020El bloqueo de registros y la integridad referencial se hacen en forma automática.
Primero hice una aplicación con el RAD, no hice una sola línea de código y lo deje sin modificaciones tal cual los genero el WinDev,por lo que veran que esta bastante simple.
La generación nos crea una aplicación mas o menos funcional en algunos aspectos, pero es necesario terminar de pulir, organizar y
personalizar nuestra aplicación.
La aplicación con RAD tardo menos de media hora para generarla, no se toco una sola línea de código y por supuesto que le falta mucho
trabajo todavía para que quede un programa aceptable, se puede descargar desde: http://www.sistemasia.com/WinDev_Ejemplos/Con_RAD.rar
lo descargan y descomprimen en un directorio para hacer pruebas.
Para el segundo ejercicio tome el mismo análisis del primer ejercicio. No utilice la generación por RAD.Las ventanas (formularios) de Terceros y Productos lo hice con RAD (solo las ventanas), luego las puli un poco. También se pueden
hacer desde cero.
En las observaciones del Tercero se puede utilizar formato RTF
Se crearon un informe de Terceros y Productos basados en la table (cuadricula/grid) de la ventana (formulario).
El código que se necesitó para el funcionamiento de la ventana (formulario) ha sido muy poco.
La ventana (formulario) de Movimiento la hice desde cero con una ventana en blanco, agregue y valide los controles, es de la forma
Encabezado / Detalle.
La consulta del encabezado de movimiento y detalle de movimiento se hicieron con el generador de consultas, pero al mostrar la
ventana popup de detalle hice la consulta manual con el fin de ilustración, lo normal es hacerla con el generar de consultas y
ejecutarlas con HExecuteQuery, para mi concepto es una de las mejores herramientas de WinDev.
Se hizo una ventana popup para mostrar los datos del detalle en la consulta.
Coloque un código en el inicio del proyecto para mostrar lo sencillo que es la conectividad con una base de datos (en este caso
Hyperfile). Yo recomiendo crear el análisis como si la conexión se realizará con una base de datos Hyperfile classic y luego se
cambia la conexión a cualquier motor, tener en cuenta que en lo posible debe ser conexión nativa de WinDev (algunas conexiones
nativas son de pago) pero también lo podemos hacer por medio de OLEDB.
La aplicación sin RAD tardo aproximadamenre 6 horas para su desarrollo, se puede hacer en un poco menos cuando se tiene mas habilidado un poco mas cuando se desea pulirla, se puede descargar desde: http://www.sistemasia.com/WinDev_Ejemplos/Sin_RAD.rar lo descargan y
descomprimen en un directorio para hacer pruebas.
En los archivos comprimidos quite las DLL que necesita el programa, cuando usted compile o ejecute el programa se instalaranautomáticamente.
Aunque esta no es la forma en que desarrollamos normalmente lo trate de hacer sencillo para ver algunas caracteristicas de WinDev.Espero que les guste, les aporte a su conocimiento, y les sirva para tomar decisiones.
Gracias, Att.Daniel Rodríguez