Curso de Programacin Xojo

¡Hola!

Ya está disponible un nuevo Vídeo del Curso de Programación con #Xojo… ¡desde cero y para todos! (No se asumen conocimientos previos).

Resumen de lo visto hasta ahora, creando el embrión de un proyecto de Control de Gastos que iremos ampliando. Puedes acceder al vídeo desde este enlace.

Como de costumbre, ¡espero que os guste! Y estaré encantado de leer tus comentarios y sugerencias.

Javier

Muchas gracias por la informacin Javier y por todo el tiempo dedicado a realizar estos videos, estamos evaluando la compra de XOJO y hemos encontrado dificultades para reunir la informacin necesaria, buscamos herramientas que nos ayuden a optimizar el tiempo de desarrollo en especial aplicaciones de tipo empresarial.

Xojo proporciona gran cantidad de ejemplos, pero son muy escasos los que brindan el conocimiento necesario para desarrollar una aplicacin completa, quizs el nico sea Eddy Electronics, pero me llevo casi 2 semanas tratar de reproducirlo desde cero y tuve que recurrir al copy paste en algunos casos porque no encontre por donde salieron las opciones, hay una demo pero en ella solo explican parte del desarrollo.

Como programador, para este curso de Control de Gastos sera interesante ver lo siguiente :

Un Crud bsico que utilice tanto SQLite como otra alternativa como MariaDB Postgress ya que hay muy poca informacin fuera de SQLite.

Un Crud Maestro Detalle.
Un ComboBox que fuera a traer informacin de una determinada tabla y que llene los campos ( En el caso de este ejemplo tipo de gasto y el presupuesto establecido para dicho gasto por default )
Reporte ( simple y agrupado ).

La mayora de los videos de este tipo estn basados en Data Control pero esa funcin no sirve, ya he instalado XOJO en varios equipos y en todos al momento agregar la clase Data Control, escojo la BD y al mover el cursor a otra parte se borra el link a la BD. Adems para aplicaciones ms completas esta opcin se queda corta, pero casi todos los videos estan basados en ella.

Algo que tambin sera de suma importancia que apareciera en algn video es como XOJO maneja una operacin de tipo transaccional, es decir se opera una factura, pero se apaga el equipo a medio grabar. que sucede en este caso? Se revierte lo que quedo grabado a “medias”

Vengo de programar toda una vida en Visual Fox, y luego de varios aos decid entrar a .NET y fue traumatizante ver tantas opciones por todos lados y averiguar que hace cada una, he buscado otras alternativas como GENEXUS,WINDEV,LIANJA,VELNEO, POWERBUILDER y SERVOY, algunas muy buenas, pero sus costos son muy elevados y hay que comprar licencias para todo, cuando vi el IDE de XOJO fue amor a primera vista, adems su costo es muy accesible para programadores que laboramos fijo en empresas, pero ganamos dinero extra como Freelance, por ello le he invertido tanto tiempo a pesar de los tropiezos encontrados.

Otra cosa que no entiendo es como una herramienta tan buena como XOJO, apenas le han invertido tiempo a la parte del reporteador, he tenido muchos problemas para implementar un reporte agrupado, con todo respeto y sin el afan de molestar a nadie, nada comparado con el reporteador del venerable Foxito.

Nuevamente muchas gracias Javier por el gran aporte a la comunidad XOJO.

Hola Walter,

Lo cierto es que para trabajar con bases de datos deberas de utilizar las clases incluidas en el framework (MySQL/MariaDB, PostgreSQL, MS SQL Server) con el lenguaje SQL directamente. Con ello puedes obtener RecordSet y trabajar todas las operaciones necesariasincluyendo la capacidad de evitar que los datos queden “inestables” por ejemplo debido a un corte de la transmisin (o un error) en mitad de una transaccin; de modo que los datos puedan volver al estado anterior y el programa recibir la correspondiente notificacin.

Por supuesto, puedes encontrar soluciones de terceros que te permitan simplificar aun ms el uso de los diferentes motores de bases de datos soportados por Xojo, e incluso aadir nuevos motores de bases de datos. Por ejemplo, puedes echar un vistazo a las opciones disponibles en la tienda de terceras partes de Xojo en www.xojo.com/store

De igual modo, si encuentras que las capacidades del Editor de Informes de Xojo no cubren todas tus necesidades, tambin puedes encontrar otras opciones de terceros.

En cualquier caso, no te quepa duda de que en Xojo continuamos mejorando absolutamente todos los aspectos de la herramienta. Lleva su tiempo, pero se va haciendo :wink:

Por favor, no dudes en comentarme por aqu si necesitas ayuda adicional!

Javier

Muchas gracias por tu respuesta Javier,

Precisamente eso he estado haciendo con la BD. Estoy armando un frankenstein ya que como te comente en un inicio, hay muy poco material y de lo que sobra es de Data Control pero ya vi en la documentacin que esta descontinuado, “por cierto sera bueno que lo retiraran del IDE de Xojo, pues causa mala impresin sobre todo para quienes somos nuevos y le dedicamos horas a montar una muestra en base a la documentacin y ver al final que es tiempo perdido porque nunca va a funcionar”.

Del reporteador no es mucho lo que pido.

  • El Default para un reporte es Vertical, pero tengo un reporte especifico que es Horizontal, y necesito que cuando aparezca la opcin de imprimir al cliente aparezca ya seleccionada la posicin del papel en horizontal.
  • El reporteador tiene un tremendo BUG cuando se trabaja con reportes agrupados, porque se “come” la informacin ya que no reconoce el tamao de papel imprime al puro filo del pie de pagina. Luego de perder un da completo encontr que eliminando todos los margenes y dejarlos a 0 solventa el problema. Pero esto hay que hacerlo cada vez que se imprime el reporte y por tanto necesito eliminar dichos margenes desde programacin.
  • Para la impresin de cheques se requiere cambiar el tamao de papel a media carta y que imprima de forma continua, pero igual que con la posicin horizontal no veo por donde se pueda parametrizar esta opcin.

Hace pocos das publique esta consulta en el foro pero nadie respondi, as que asumo que no hay solucin y la nica alternativa es recurrir a una solucin de terceros.