Hará cosa de año y medio (¡cómo pasa el tiempo!) empecé con mi aplicación ColecciónAnime en Visual Basic 2005. Básicamente intentaba ser un front-end para una base de datos para controlar un poco el jaleo que tengo de series y, de paso, terminar de dar el salto de VB6 a VB2005 y.Net Framework. La base de datos pretendía recoger las series y las distintas versiones de éstas que tenía, los fansub que las habían sacado, los estudios que las habían hecho, sus personajes, los actores de doblaje y, de paso, a quién se las prestaba.
Empecé con ganas, pero al poco me puse a trabajar y la idea se quedó en el limbo: después de estar ocho horas al día delante de un ordenador, no me apetecía mucho ponerme a programar al llegar a casa. Algunos fines de semana le echaba un ratito y, así, poco a poco, la fui haciendo. Esta Semana Santa le metí un buen tute y conseguí solucionar dos problemas que arrastraba desde el principio (después de un tiempo empollando un tocho ladrillo, no hay nada como tener documentación). A saber:
-
El formulario de series debía mostrar cada serie y, en un TabControl, cero o más pestañas con las distintas releases que tuviera de esa serie. Me daba problemas al modificar una release. Lo conseguí solucionar con un control de usuario hecho a medida.
-
El otro foco de problemas era el formulario de tablas menores. Este formulario gestionaba (altas, bajas, modificaciones) una serie de tablas casi idénticas (Resolución, códecs de audio y vídeo, tipo de archivo, género, idiomas…): todas tenían los tres mismos campos (Id, nombre y comentarios), pocos registros y se relacionaban con series o releases. En vez de tener un formulario para cada una, creé uno solo y usé un dataset no tipado para poder trabajar con cualquiera de las tablas. Cuando diseñé la base de datos no pensé en hacer la gestión así, así que tuve algunos problemas añadidos (los nombres de los campos eran distintos, etc.) que me complicaron un poco la vida, otra vez con las modificaciones. En Semana Santa, después de pensar tranquilamente, lo corregí.
Así que me encontraba con que la aplicación casi permitía ya altas, bajas y modificaciones sin problemas (me quedaba controlar un par de cosas en el caso de que hubiera múltiples formularios abiertos) y estaba ya dándole vueltas a la parte de consultas cuando me pillé el libro de El Guille de VB2008 y descubrí LINQ.
Aplicación a la papelera.
Cambiamos a VB2008 y, de paso, cambiamos el motor de la base de datos, optando por Compact SQL en lugar de Access. La aplicación la voy a rehacer entera, más orientada a objetos, jugando ya con herencia e interfaces y más o menos en dos capas. Espero poder aprovechar bastante código de la anterior, pero también localizado un buen puñado de líneas que voy a jubilar gracias a LINQ y a lo que he aprendido desde que empecé con VB2005. En fin, veremos que sale, si sale algo.
Y a ver si consigo que funcione mínimamente para cuando salga Visual Basic 10, porque como mantenga el ritmo quiebra Microsoft antes de que la termine.