Problemas de redondeo

En general, el trabajo con números flotantes y operaciones matemáticas (tanto complejas como sencillas), puede resultar un auténtico quebradero de cabeza si no prestamos atención. Dependiendo del compilador que utilicemos, las operaciones pueden producir un resultado u otro, ya que los operadores matemáticos básicos están sobrecargados y dicha sobrecarga implica una salida diferente en según qué ocasiones (ej: en un compilador, la suma de un número entero y uno flotante, aunque puede convertirse en un flotante, puede producir una salida de entero, o viceversa) Además de ese peligro, existe la posibilidad del redondeo: aunque por lo general se produce un truncate, no siempre podremos darlo por supuesto… Sigue leyendo

Anuncios

Delegates en Qt

Ejemplo de delegadosLa mayoría de las veces, con crear un modelo adecuado a nuestras clases podemos representarlas correctamente empleando las vistas existentes en Qt (p.e, listas y tablas). No obstante, hay veces que necesitamos que un campo concreto de nuestra clase se represente de una determinada forma (quizás mediante una casilla de verificación, con una barra de progreso, mediante un botón o un icono…), que además condicione la forma en la cual el usuario interactúa con ella (en el caso de una casilla de verificación, que el usuario la marque o desmarque convenientemente). ¿Cómo podemos arreglar esto? Mediante el uso de los delegados.

Sigue leyendo

Pantallazo azul, e instalación de NetBeans en Kubuntu

Hoy ha sido un mal día; Windows ha petado. Un hermoso pantallazo azul, y reinicio automático. La consola de recuperación no parece funcionar, así que parece que tendré que dedicarme a una reinstalación. Aunque habrá que dejarlo hasta después del curso. Aunque tenía la instalación de Netbeans y Glassfish en Windows por comodidad de instalación, he conseguido instalar y configurarlo en Kubuntu. ¿El truco? Instalar primero el Java SDK 6, descargar el NetBeans 7 de la página oficial, y después instalar en el directorio de nuestra elección. Eso sí, asegurándonos de que no existan conflictos de permisos.

La semana que viene será necesario planificar la reinstalación, y cruzar los dedos. Primero, suministro de DVDs para copias de seguridad, y después descargar el SP 1. Luego, comprobar que los discos de Kubuntu estén preparados, y… al lío.

Primeros pasos en Java

Java JDKComo siempre hay que aprender cosas nuevas (la informática no espera a nadie), hoy me he presentado en el curso de web services que imparte la Universidad de Granada dentro del programa de postgrado. Algún día había que empezar con Java, y es un momento tan bueno como cualquier otro… puede que  incluso, mejor: no sólo aprender Java , sino también arquitectura de web-services.

Hoy, por ser el primer día, tranquilo, sin demasiado estress, y casi diría soporífero. Los conceptos de herencia publica, métodos estáticos y POO en general los tengo muy machacados después de pelearme con Qt, así que no ha sido difícil. Lo gordo vendrá cuando nos metamos a fondo con las distintas tecnologías para web-service: mensajes SOAP, WDSL, XML, etc… Aunque la tecnología lleva tiempo establecida y existan muchas herramientas automatizadas para generar esquemas y clases a partir de dichos esquemas, sin una buena base de Java puedo encontrarme cojeando por los rincones, así que al menos le echaré un vistazo a los tutoriales y estaré atento. Por ahora, los ejercicios de clase son muy simplones y sencillos. Cuando tenga un primer web-service funcionando, ¡albricias!.

 

PD: Trasteando con Google Api, he conseguido descargarme una lista de los documentos de una cuenta de Google Docs. Es un ejemplo básico, pero, ¡maldición, lo que cuesta preparar las dependencias!

Google Forms para obtener datos

Google Forms¡Por fin se terminó con la piscina! Tres días rascando… y cuando pienso lo sencillo que hubiera sido utilizar un decapante, me echo a temblar. Pero bueno, no había más remedio, así que…

 

Pasemos a lo que importa. El procesamiento de actividades dentro del programa AcoLITE es un apartado muy importante. En la anterior versión, las actividades debían de introducirse a mano, y aunque fuera un procesado ‘por lotes’ (introducías de una tacada varias actividades), debía de realizarse a mano, lo cual cuando hay una alta demanda de actividades, resulta bastante tedioso y tiende a producir errores en la entrada de datos. Aunque la revisión es una tarea necesaria, quería automatizar la entrada de actividades a través de formularios. Barajo distintas posibilidades:

Sigue leyendo

QCalendarWidget y una piscina

Imagen de QCalendarWidgetAntes de nada, decir que estoy molido; me duelen los brazos, me duelen las piernas, me duelen los hombros y posiblemente, mañana tendré unas agujetas de órdago. Son las ventajas de pasarte cinco horas dentro de una piscina fregoteando pegotes de cemento de las losetas con una esponja, una espátula, papel de lija, estropajos de aluminio… ¿Ventaja? Dormiré muy bien esta noche 😀 ¿Problema? Que todavía no se termina 😦

 

Pero volviendo al tema principal: esta tarde he podido dedicarle un momento a QCalendarWidget para el programa AcoLITE.

Sigue leyendo