Re: [vfp] Re: Numerar registros

49 views
Skip to first unread message

Carlos Miguel FARIAS

unread,
Feb 19, 2020, 11:29:27 AM2/19/20
to Fernando M. Romero, vfp-a-python
Hola Fernando: Si vas a programar en Python debes tener en cuenta que puedes desarrollar aplicaciones tanto de escritorio como web.
Esa es una decisión importante, por cuanto una aplicación web es mucho más fácil de desplegar que una de escritorio.
En cuanto a las interfaces gráficas para escritorio.
a) TKInter, viene incluida en Python  La herramienta más aceptable para diseñar pantallas es Pygubu, que genera un archivo que luego es leído por python  La ventaja de TKinter es que la menos líneas de código se requieran para manejar (y más fácil de entender), cuando se convierte la aplicación el exe es más pequeño y es más rápido para arrancar. La desventaja es que no cuenta con un conjunto de widgets amplio y solo te soluciona la parte de GUI, no da soporte a otras cosas. Esta demanda trabajo más artesanal.
b) wxpython. Tiene que instalarse por separado. Tiene enorme cantidad de widgets (no necesitas ningún widget externo como podrías necesitar en fox). El diseñador estrella es wxformbuilder. Te genera todo el código fuente para gestionar la GUI, lo único luego tu tienes que agregar el contenido funcional de cada control. Por fuera del wxformbuilder, de wxpython se consigue un programa demo, donde están aplicados todos los widgets (con sus variantes), todo explicado (en inglés) y con el código fuente correspondiente. (O sea que puedes diseñar y/o cortar y pegar). wxpython permite controles donde puedes incrustar páginas del navegador (o sea una aplicación de escritorio con páginas incluidas) y da facilidades para imprimir. Los exe son más grandes pero, no es para matarse, igual siempre lo que más espacio ocupa son imágenes incluidas.
Si estás pensando en una aplicación vistosa, esta es la que elegiría.
c) pyside es la versión gratis de pyqt. Posiblemente la más poderosa, con un buen diseñador QTDesigner, probé algo pero me volqué a TKinter (para aplicaciones simples) o la web.
Por otra parte, puedes desarrollar Web. Python del lado del servidor con dos (al menos) frameworks recomendables, Flask para sistemas pequeños a medianos y Django para sistemas medianos a grandes. Luego de lado del navegador, hay innumerables opciones desde el clásico jquery a otros más sofisticados como vue, react, etc.etc. Django por supuesto es lo mejor, pero el manual de Django tiene 2000 páginas y el de Flask no llega la décima parte.
Te pido que las próximas consultas las pases al foro de vfp-a-python (mando esto con copia allí), porque hay otros foxeros que han hecho aportes muy interesantes, hasta un curso de Django para foxeros
Saludos: Miguel


El mié., 19 feb. 2020 a las 9:24, Fernando M. Romero (<pumar...@hotmail.com>) escribió:
Hola Carlos. Disculpa el atrevimiento de mandarte un correo particular, pero vi tu interesante respuesta que publicaste en el grupo de VFP sobre Python. Tengo sistemas realizados en Foxpro 2.6 (para windos todavía funcionando) y VFP 9 (conectado con MariaDB), ultimamente estoy viendo la posibilidad de comenzar algo con PYTHON y me choque con algunos contratiempos. La duda que te quiero consultar es sobre parte de tu respuesta: "... En Python puedes trabajar con TKinter (incluida en Python), wxpython o pyside, todas grátis. Las dos últimas muy potentes (más que las posibilidades de Fox)..."

Me podes orientar cual de las herramienta utilizar que sea similar a la Interfaz que utilizamos para generar pantallas, menus, reportes, etc pero en forma VISUAL. No se si me explico, la idea es no escribir tanto sino que acepto modificar visualmente los objetos y/o caracteristicas.

Desde ya muchisimas gracias.

PD.: Mi nombre es Fernando M. Romero, soy de Santa Fe (Argentina).


De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Carlos Miguel FARIAS <carlosmig...@gmail.com>
Enviado: miércoles, 19 de febrero de 2020 07:57
Para: Grupo Fox <publice...@googlegroups.com>
Asunto: Re: [vfp] Re: Numerar registros
 
Desde python puedes trabajar con DBF, al menos con datos del tipo manejado por fox DOS y con los de vfp puede haber algún inconveniente con los específicos de esa versión. Base de datos sugiero postgresql o mariadb (mysql es de Oracle y para ciertos niveles de uso hay licencia de pago). En Python puedes trabajar con TKinter (incluida en Python), wxpython o pyside, todas grátis. Las dos últimas muy potentes (más que las posibilidades de Fox). TKinter es limitada pero mucho más simple. O puedes trabajar con Flask (sistemas chicos a medianos) o Django (medianos hasta lo que se te ocurra).

En cuanto a los datos, si usas fox, lo puedes solucionar con una sentencia SQL

SELECT Transacc  unidades  orden FROM tuTabla ORDER BY 1, 3 INTO CURSOR miLista && (o lo que sea)

Esta solución te funciona en fox para dos o visual, y en cualquier moto de base de datos.
Lo único que varía es como abres la tabla (y si la tabla es parte de una bd nativa).

En realidad, el SQL es un 95% estandar en todos los casos. O sea que trabajes con Fox, Python o casi cualquier otro SGBD o lenguaje, usar SQL te da respuesta con alta compatibilidad.
Aún en el caso que trabajes con fox, sugiero montar todos tus accesos a datos usando instrucciones SQL, porque si a futuro necesitas migrar a otro lenguaje, tu lógica de datos no cambia.
Por otra parte con una sentencia SQL he llegado a reemplazar más de 200 líneas de código dbase estándar.
Saludos: Miguel

El mar., 18 feb. 2020 a las 21:45, Pablo Sebastian Vera (<ver...@gmail.com>) escribió:
Hola Miguel, gracias por tu respuesta.
Estoy mirando con cariño python. También pensé en .Net (#C) pero creo que se me complica en esta etapa. 
Python lo vi mas accesible para mi y bastante potente.

No obstante, arranque por VFP porque acá en la empresa hay 2 sistemas hechos en vfp que trabajan con dbfs. Y la verdad, es que no se hoy como pasar ese dbf a otra cosa (un mariadb/mysq o algún otro motorl), hacer cambios y volver a grabar eso en los dbf. Con VFP me pareció mas fácil todo eso.


Saludos

El lunes, 17 de febrero de 2020, 8:16:37 (UTC-3), Miguel escribió:
Hola Pablo: También soy contador, como consejo básico, si hace tampoco que empezaste en programación, sugiero amablemente que trates de desarrollar en otra herramienta que no sea visual foxpro. La herramienta es excelente pero hace 13 años que no salen versiones nuevas. Por más que han hecho compiladores de 64 bits (conversores) no me han contestado la pregunta acerca de qué pasará cuando los sistemas operativos dejen de soportar 32 bits, como desarrollar si el IDE no funciona.
En otro post, alguien están ofertando de pago Harbour, que es software libre y además hace 9 que no tiene versiones nuevas.
Saludos: Miguel

El lun., 17 feb. 2020 a las 0:30, Pablo Sebastian Vera (<ver...@gmail.com>) escribió:
hola.
Perdón por no contestar antes pero tuve algunos problemas familiares

Gracias por sus respuestas fueron muy útiles

Hernan: no estoy estudiando, ya me recibí hace varios años (de contador y licenciado en administración de empresas). Pero desde octubre de 2019 se me dio por este mundo de la programación. Un poco para resolverme algunas tareas manuales y otro poco porque me empezó a gustar.
Soy autodidacta en el tema. Si bien se lo que quiero hacer, me imagino como resolverlo....pero eso no puedo llevarlo a la práctica, no puedo escribir el código aún.

Tengo algunas preguntas mas, así tontas como la que hice antes, pero no se si las puedo hacer ahora.



El viernes, 31 de enero de 2020, 0:44:52 (UTC-3), Pablo Sebastian Vera escribió:
Hola a todos. Como les va?
Estoy dando mis primeros pasos en VFP y necesito de su ayuda si son tan amables.
Tengo un DBF con los campos
Transacc N(10), unidadesvta, orden

Necesito darle un orden segun la transaccion. Para la misma transaccion se debería repetir ese orden.
Sería así

Transacc  unidades  orden
12345678    100        1
98765443     50        2
34567890      2        3
34567890      5        3
34567890     10        3
90123987      1        4
56129856      3        5

Gracias pornsu ayuda

Saludos cordialed



--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publice...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/260a9f7f-856d-4074-867b-fc89f2adf652%40googlegroups.com.

--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/80dc376d-a6e1-467a-937a-84be16ab8f1f%40googlegroups.com.

--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CACqOu4y83GnFi86GpCuZ_722_zyrvSYxkssOd-8F5We4wQ1v%3Dg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages