¡Qué bonita es la primavera!

Con su solecito, sus florecillas, sus pajaritos, su cambio horario, su 347…

El programa de contabilidad que tenemos es una patata. Es barato, así que no se le puede pedir mucho, supongo. Lo que te ahorras por un lado lo gastas, con creces, en horas de trabajo. El archivo del 347 lo saca mal. Añádase a esto que el modelo 347 ha cambiado este año y que el puñetero programa está como quien oye llover. Así que me ha tocado ganarme el sueldo. El año que viene, si sigo aquí, me haré, con tiempo, un programilla para preparar el puñetero archivo del 347.

En resumen: a este lado, un listado con los datos que pide el 347. Al otro, un archivo con la estructura antigua y los datos mal. En medio, yo, enmarronado (al fondo, el departamento de contabilidad, haciendo vida social con otros departamentos de contabilidad). La solución, tirar de BOE para ver la estructura de los registros y corregir el archivo con los datos correctos y el formato adecuado. Un par de aburridas horas de trabajo. He tenido también que adaptar los 347 de las otras empresas, pero para esas tenemos un programa decente, así que sólo ha habido que hacer un par de retoques.

Y, de paso, encontrar un buen puñado de CIF y NIF mal metidos. Un viernes aburrido, vamos. En fin, que viva el bloc de notas, una de las herramientas más útiles que hay.

Urbanismo

Estos días están repintando mi calle y la plaza a la que da mi calle. Yo esperaba, iluso de mí, que en este tiempo el responsable del área de urbanismo se hubiera caído de la burra y nos devolviera los tres aparcamientos del final de mi calle, pero nada. Están pintando otra vez los dos carriles, uno para seguir de frente y otro de giro obligatorio a la derecha.

Mi calle es estrecha, un único carril y aparcamientos a la izquierda. Justo antes de dar a la plaza, se ensancha (la acera derecha se abre) y caben, en ese lado, tres coches. Siempre ha sido así… hasta que les dio por remodelar la plaza. Se ve que quitar veinte aparcamientos (la mitad) de la plaza no era suficiente y quitaron también esos tres poniendo un absurdo carril a derecha. Y digo absurdo porque, al remodelar la plaza, e igual que están haciendo en todas partes, dejaron los carriles tan sumamente estrechos y la embocadura tan igualmente estrecha que nada más grande que un Smart puede girar a la derecha desde el carril de la derecha. El resto de los mortales tenemos que girar desde lo más a la izquierda posible, excepto las furgonetas, que hagan lo que hagan, tienen que maniobrar.

Sigue leyendo

El fin del mundo se acerca (II)

Este fin de semana mi hermano ha cambiado su venerable y fiable Windows 2000 por el denostado, tragón, feo y pesado Windows XP. Supongo que, tarde o temprano, hay que actualizarse, y más si ya nos quedamos sin soporte de ciertas aplicaciones. Pero, ¡joder, qué susto me dio cuando me lo dijo! El Athlon con W2k de mi hermano era toda una institución en casa.

PD: otro que se pasa al Zune Theme para XP. Y es que es queda tan mono en negro y naranja.

PPD: llevaba con 2000 al menos desde que se le fundió la placa base, hará cuatro o cinco años. Por supuesto, sin formatear desde entonces (una vez hubo que desclonar la instalación inicial por culpa de una infección vírica): un NT bien cuidado dura años y años.

Dando clases

Tengo este blog un poco en stand by. La razón es que he estado dando [impartiendo] clases particulares de VB2005 que se me han llevado el tiempo que dedicaba antes a programar para mí y cacharrear en Windows. Así, los planes de meterme con WPF y también con servicios Windows, así como alguna cosilla de Windows Vista han tenido que esperar. Tampoco he podido investigar con calma algunos problemas bonitos que se han planteado en el foro: los días sólo tienen veinticuatro horas.

Respecto a las clases, no estoy contento. Sólo he tenido un mes, el peor del curso (2º de un FP superior son dos trimestres, así que los finales han sido ahora), así que ha tocado jugar a la defensiva, a verlas venir. Me hubiera gustado tener más tiempo para darle un buen tute a lo básico, pero hubo que entrar directamente con arrays de estructuras. La verdad es que los puñeteros arrays son un fastidio; ya me había acostumbrado a otras colecciones y volver a lo básico duele. Y más si no se puede tirar de ICompare para ordenar, o propiedades para enlazar a los controles me ha exigido pensar mucho. No poder usar el ValueMember y el DisplayMember de un ComboBox o ListBox por no poder definir unas Property en la estructura, para mí, que abuso de eso precisamente, ha sido definitivamente exasperante.

Al final, un mes a carajo sacado, mucho array y mucha base de datos y sin tiempo para explicar las cosas como me gustaría. Sólo espero que las horas les hayan sido de provecho y tengan suerte.

Por otra parte, he empezado con WPF y no me entero de ná. Mi reino por un buen libro al respecto, pero no encuentro ninguno. En fin, con paciencia.

40 minutos perdidos por una tontería

Ayer hice el enésimo formulario de búsqueda (son aburridos de narices). Uno que me hacía falta para un usercontrol que forma parte de un asistente (vulgo, siguiente-siguiente-siguiente) que no sé en qué feliz día se me ocurrió que sería una buena idea. Hoy he embutido el usercontrol en un formulario de pruebas, para comprobar que hace lo que debe, y de paso ir ajustando tanto el usercontrol como el formulario de búsqueda: orden de tabulación, ámbito de los controles, propiedades varias.

En una de esas, el formulario de búsqueda ha decidido pasarse el ShowDialog por donde le da la gana y cerrarse sin hacer lo que debiera. Vale, partiendo de que no puede hacer eso, o sea, el ShowDialog es sagrado y que antes funcionaba, queda claro que alguien ha metido la pata. Como yo no he sido, la culpa debe ser, por narices, del manazas que comparte silla, ordenador y cuerpo con un servidor. Seguro que jugando con las propiedades de algo ha cambiado lo que no debía por error, y ahora no recuerda.

40 minutos después, 40 jodidos minutos de romperme la cabeza y revisar todos los controles (porque en ejecución paso a paso nothing de nothing) encuentro la causa: botón que tiene la propiedad DialogResult a algo que no es None. Creo que tocando algunas cosas del formulario asigné como AcceptButton o CancelButton al botón, luego lo quité, pero la propiedad DialogResult del puñetero botón siguió asignada.

En fin, el diseñador de Visual Studio ahorra trabajo, pero a veces dan ganas de pasar de él y escribir el código uno mismo.