Devorador de recursos y máquina antigua

Estos días pegándome con un viejo amigo me he sentido como si estuviera con mi ordenador viejo recién comprado: maldiciendo la voracidad de recursos de XP. 256MB de RAM PC133MHz y un disco duro ATA100 no dan para mucho y menos si hay que meterle un antivirus. Me estoy acordando de los que cuando salió Vista se quejaban de la máquina que necesitaba y decían que XP funciona bien con 128MB de RAM. ¡Ja! Con un ordenador del 2002/2003 les quería yo ver (de las primeras cosas que hice yo entonces fue gastarme 100 leuros en un banco de 512MB con lo que la cosa mejoró muy mucho).

En fin, tras varias pruebas creo que con Avast por lo menos no se arrastra. He quitado todo lo quitable del arranque y los servicios de los que podía prescindir, le he dado un cachete al Nero para que deje de dar la murga y he reducido al mínimo los efectos visuales. Este medio día lo probaré con los estilos visuales activados a ver si anda o se arrastra y se lo entregaré a su dueña.

Corrigiendo un… problema de diseño con un evento

Si ya me lo decían: «no vayas a Z’ha’dum«. Pero yo, ni caso. Me puse a hacer una interfaz MDI tan ricamente para la aplicación de fábrica sin pensarlo con detenimiento (eso también me lo decían, en este caso Coco y Barrio Sésamo, lo de «tienes que planificar», pero, igualmente, ni caso) y ahora me encuentro con lo normal: mucho impedirle cambiar de registro cuando está modificando una pieza, por ejemplo, pero nada le impide irse a otro formulario a trastear allí. Y, como es un luser, lo hará. O sea, que me pueden coger en un renuncio (error de concurrencia en el mejor de los casos) sin necesidad de tener dos lusers, con uno me basta y sobra.

Vale, que no cunda el pánico. Pensemos. O cubro bien todas las posibilidades o me curo en salud y no le dejo tocar al usuario donde no deba. Como soy alumno de mi profe, he optado por lo segundo. Así que quiero que cuando el luser quiera modificar o dar de alta «algo» en uno de los formularios, todos los demás se hagan los suecos (disabled). Pregunta: ¿cómo lo hago?

Sigue leyendo

Ordenando imágenes: uso de etiquetas

A raíz de los artículos sobre búsqueda e indexación en Vista me he puesto a trastear con las etiquetas de archivos. Sí, hasta ahora no las he usado, yo pecador.

El tema es que tengo tropecientas mil imágenes distribuidas en enecientas carpetas, con los problemas habituales: no sé qué tengo, tengo imágenes repetidas, no tienen nombres descriptivos. Un infierno. Así que, aprovechando la búsqueda y filtrado de Vista, me he puesto a simplificar el jaleo de carpetas. En el proceso he descubierto las etiquetas y la facilidad con que la Galería fotográfica de Vista nos permite manejarlas (añadir, quitar, seleccionar…).

Sigue leyendo

¿Quién dijo que era sencillo?

Tenemos estas semanas en el foro un aluvión de gente con conocimientos muy justitos que se han lanzado alegremente a instalar XP en ordenadores muy nuevos (en algunos casos, cepillándose sin contemplaciones su Vista preinstalado, así como la partición de rescate y sin haber sacado los discos de ídem). En todos los casos se encuentran con múltiples problemas que nacen directamente del desconocimiento y la preparación inadecuada (además de un ansia por el formateo como solución de todos los males que no comparto). Ya evito directamente esos temas, porque si contesto infringiría la regla 4 del foro (lo de no faltar al respeto y todo eso) porque por muy fino que quieras llamas idiota a alguien, llega un momento en que sueltas el improperio.

Sigue leyendo

Usar la búsqueda de Windows Vista

Todo el rollo anterior es para preparar las búsquedas. Todo el tema de las búsquedas en Windows Vista, las distintas opciones que tenemos… es demasiado extenso para ponerlo todo aquí (mis deditos se cansan de escribir) así que mi primera recomendación es que vayáis a la Ayuda y soporte técnico de Windows, en el Menú Inicio, y busquéis el artículo «Sugerencias para buscar archivos», precisamente. Es un buen punto de partida. Aquí os pongo un breve resumen, y así aprendo yo también (como digo, Vista no es XP y a todos nos cuesta el cambio; lo que hay que hacer es afrontarlo con ilusión). Nota: este artículo es la segunda parte del de indexación antes citado, por eso la numeración de las imágenes es correlativa a las de aquel.

Sigue leyendo

Señales: el fin del mundo se acerca

Tengo varios episodios en Matroska dando guerra con los subtítulos. No consigo verlos o verlos bien ni con el BSPlayer ni con el Media Player Classic. El reproductor del Nero estalla en cachitos y el VLC tampoco sabe muy bien qué hacer. He cambiado de versión del splitter y del ffdshow y nada. No sé que hacen los de Rakuen, pero sus matroska (y sólo los suyos) me están dando guerra.

En estas me dice Menxar que pruebe con el Windows Media Player, sí, el reproductor de Windows. Je je, ¡anda ya! Si incluso con avi da problemas (dos cadenas de audio, por ejemplo). Prueba, me dice.

Voy y pruebo. Me dice el Windows Media Player que eso de mkv no va con él. Le digo que lo intente, verás qué risas.

Y va y lo hace. Sin problemas. Con sus subtítulos, sin problemas con las tildes y otros caracteres, perfecto.

A mí no se me pueden romper los esquemas así a estas alturas. Debería estar prohibido por la Convención de Ginebra.

Es una señal, sin duda. Voy a revisar las profecías de Nostradamus, ahí tiene que venir.

Mientras, voy a hacer como el astrónomo que se volvió loco en La estrella misteriosa: sábana blanca y gong chiquitito.

Dong…

El fin del mundo se acerca.

Configurar la indexación de archivos en Windows Vista

Hace unos meses (allá por marzo) empecé un tutorial en el foro que debía incluir un apartado sobre la búsqueda en Windows Vista. Luego lo dejé aparcado y al final lo descarté: Vista lleva ya con nosotros casi dos años y no le veía razón a sacar un tema que, a estas alturas, debería estar muy trillado. Sin embargo, viendo lo que se comenta en blogs y foros me doy cuenta de que la búsqueda de Vista es casi desconocida, así que me he decidido a retomarlo. Mi idea es postearlo aquí en tres partes: esta, dedicada a la indexación, una segunda dedicada a las búsquedas y una última donde trataré la configuración de Windows Search 4.0 (el motor de búsqueda que tenemos actualmente para Vista) en XP. Dicho esto, empezamos.

Sigue leyendo

Un viejo conocido

Conozco varios buenos tenderos que dan un servicio profesional y que se quejan, con razón, de la competencia de las grandes superficies (por unas causas) y del mal hacer del amigo, cuñado, conocido «que entiende de informática». Reivindican, con más razón que un santo, su papel como vendedores y como soporte.

La pena es que no abundan.

Hubo una temporada en que hice de «conocido que entiende», pringao o como quiera llamarse, sacándome algunas perrillas reinstalando sistemas operativos y aconsejando compras. De cuando en cuando me llaman antiguos «clientes» para alguna consulta o alguna reparación. Una de estos clientes me llamó el fin de semana para que echara un ojo a su ordenador (un PIV 2GHz, no sé ahora si Northwood o Willamette con 256MB de RAM, viejo conocido con bastante mili a sus espaldas) porque «va muy lento».

Me paso a verlo, temiendo una infección vírica del 15 (ya había corregido dos en los años anteriores), pero al pronto no veo nada raro, excepto un abuso de procesos al inicio (algo más de 40). Reviso el MSCONFIG y veo incluso aplicaciones bastante técnicas que yo no puse (Norton Ghost) y un antivirus pirata. La chica me dice que el hermano lo llevó a una tienda de informática cercana, pero que se lo dejaron igual de lento.

Bueno, pienso yo, salvo troyano peleón, parece que sólo hay que aligerar el arranque, desfragmentar, cambiar el aceite…

Y en esto que me doy cuenta: XP Professional Service Pack 2.

Y la torre con dos bonitas pegatinas con su key del Home.

Así que tengo el equipo en casa, para volver a ponerle su XP Home original.

Error al acceder a una DataRow borrada mediante una consulta LINQ to DataSet

Estaba haciendo unas pruebas a una parte de la aplicación de fábrica que debería funcionar cuando me casca todo, de manera catastrófica, dando un bonito y magnífico error de DeletedRowInaccessibleException, así, en mi cara. Estaba añadiendo, borrando y modificando varias filas de un datatable y, en un momento dado, ha intentado acceder a una de las filas borradas. Guay.

Rastreando el error lo he encontrado en una sentencia LINQ que se ejecuta sobre la datatable. La muy puñetera arrampla con todo y, claro, lo que está borrado está borrado aunque siga estando ahí. Tsktsktsk.

La solución ha sido rápida: añadir una cláusula WHERE a la sentencia LINQ para que no incluya las filas borradas. O sea, algo como:

Where Fila.RowState <> DataRowState.Deleted

Mover los elementos de un ListBox

Hay veces que lo que parece más simple da unos dolores de cabeza terribles. Estaba yo, feliz y despistado, queriendo montar un listbox y dos botoncitos, uno con una flecha para arriba y otro con una flecha para abajo, de forma que, al pulsar el botoncito con la flecha hacia arriba, el elemento seleccionado en el listbox intercambie su posición con el que tiene encima (vulgo, suba) y cuando pulse sobre el botoncito con la flecha para abajo… en fin, creo que os lo imagináis.

Pues tiene su aquél. Bueno, vale, no tiene mucho «aquél» pero me ha costado un buen rato dar con la tecla. O sea, sacar el elemento, borrarlo, insertarlo en su nueva posición. Ahora mismo no estoy seguro, pero creo haber hecho algo parecido en VB6 sin necesidad de dar tantos pasos. Por ejemplo, el código del click del botón de subir quedaría más o menos así:

Dim MiMecanizado As MecanizadoPieza
Dim i As Integer = Me.lstOrdenMecanizado.SelectedIndex
If i > 0 Then
    MiMecanizado = TryCast(Me.lstOrdenMecanizado.SelectedItem, _
                          MecanizadoPieza)
    If MiMecanizado Is Nothing Then Exit Sub
    Me.lstOrdenMecanizado.Items.RemoveAt(i)
    Me.lstOrdenMecanizado.Items.Insert(i - 1, MiMecanizado)
    Me.lstOrdenMecanizado.SelectedIndex = i - 1
End If

Donde MecanizadoPieza es una clase que incluye un campo Descripción (DisplayMember) y un campo Id (ValueMember) y lstOrdenMecanizado es el listbox de marras.

Si alguien lo encuentra útil, pues mejor.