jueves, 30 de octubre de 2008

Inconsciencia idiota de los usuarios de una empresa

Tirurí Tirurí

Yo: – Digamelón con jamón.

Usuaria: – La  organización de la base de datos de contabilidad ha cambiado y no consigo encontrar lo que busco, es muy importante. ( Todo es muy importante siempre, luego si todo tiene prioridad máxima, todo tiene la misma prioridad, luego las prioridades son convertidas en una estupidez )

Yo: – ¿Ha cambiado la organización de ContaFul?

Usuaria: – No, de la base de datos de contabilidad.

Y: – En contabilidad no tenéis una base de datos.

U: – ¿ Cómo que no ? ¡ La usamos desde hace mucho tiempo !.

Y: – Voy para allí alma de cántaro.

Minutos mas tarde…

¿Lo adivináis? Pues no porque era in-adivinable. La muy CATETAZA llamaba base de datos porque “nosotroslellamamosasí” ( vamos que cualquier día me da por llamarle a mi portátil “gromenagüer” y ya está todo el mundo tiene que saberlo ), a una carpeta normal y corriente y había cambiado el tipo de vista.

Es la gota que colma el vaso y mira que he visto en ésta empresa llamarle base de datos a todo, sobretodo a hojas de Excel.

miércoles, 29 de octubre de 2008

Mi colega, el McGiver de los retretes.

Me veo en la imperiosa necesidad de contar ésta anécdota pues es algo que debería pasar a los anales de la historia ( y nunca mejor dicho ).

Éste gran amigo mío, trabaja en una tienda de informática y en una mañana tranquila notó como la parte baja del aparato digestivo le hacía dumban dumban a mas no poder.

Debido las condiciones de insalubridad del lugar habilitado para los menesteres que nos depara el ano, decidió ir a un bar cercano, con la idea en mente de, tras pedir algo caliente, utilizar el asueto para hacer de vientre.

Entro el caballerete a convertirse en rey en su trono, tras soltar lastre cual heces de mono, decidió al culo darse lustro.

Pues bien, la ocasión se pintó fetén pues en el lugar no había rollo ni de pergamino ni de satén.

Decidió muy avispado él buscar solución a su empresa con los utensilios que encontrase sobre la mesa, tras rebuscarse en los bolsillos sólo pudo dar con un paquete de cigarrillos; y exclamó “-¡Eureka! – ¡Esto puede servir de lustro para quien defeca!”

Así que sin mas preambulos utilizó el papel de aluminio, que otros utilizan para hacerse un chino, para limpiar el residuo de salida del pepino submarino.

Los de Yoigo son unos cabrones.. y colgando mis cojones.

Sin letra pequeña y una botella de valdepeñas.

Pues bien, hoy me han cortado 4 líneas de teléfono porque en una de ellas hay un consumo superior a 100€ ( 101€ en concreto ) y ellos estiman que eso es un consumo alto, mas como es el primer mes.. como medida cautelar te lo cortan y tienes que ingresar el 80% de adelanto porque no se fían de ti, por si eres un tío púas.

Y oiga, no te cortan la del consumo alto no.. te cortan todas las que estén con el mismo titular, ahí con dos cojones..

Si no fuese por lo chorizos que son los demás operadores ( he reducido de un consumo global de 500-600€ mensuales a menos de 200€ pasandome a Yoigo ) le iban a dar mucho por el ojete..

Pero bueno ya sabemos como van las cosas en la piel de toro. Ea! Estais avisados de lo que os van a hacer los dos primeros meses, y al que o le guste ajo y agua.

miércoles, 22 de octubre de 2008

VS2008 C# Centrar un formulario en pantalla.

Seguro que os toca las narices como a mi que cuando arrancais vuestra flamante app se carguen los formularios por la parte de la pantalla que le sale de ahí, pues bien, para que salga centrado en la pantalla hacéis lo siguiente:

En el evento Load del form que queráis centrar en pantalla:


this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2;

VS2008 C# Ocultar la primera fila de un DataGridView ( solución para cuando no se deja )

Pues bien, otro error con los controles autogenerados, resulta que a veces según la alineación de los planetas cuando agregas un DataGridView desde la pestaña de Data Sources y luego pones la primera columna que suele ser la del ID en visible=false; en el diseñador se te ve oculta pero en tiempo de ejecución no.

Ésto es porque el mismo se raya y hace la asignación de la propiedad cuando no debe (la hace antes de asignar el Data Binding, y claro al asignarlo después pues vuelve a aparecer la columna), la solución a ésto es controlar el evento BindingContextChanged del DataGridView en cuestión y añadirle dentro la instrucción para ocultar la columna, ejemplo:


clienteDataGridView.Columns[0].Visible = false;

VS2008 C# Combobox enlazado a datos que no devuelve el foco.

Bien, sigo con mi empeño de ir colocando todos los problemas absurdos que me van ocurriendo para que a alguien que le ocurra lo mismo le pueda servir de ayuda; el problema en éste caso es el siguiente:

Colocamos un combobox a pelo en un formulario arrastrandolo desde la pestaña de Data Sources ( si, lo tengo en inglés porque yo lo valgo ), y al ejecutar el form nos encontramos con que, al ir a seleccionar en el combobox, seleccionamos el item que queremos pero no podemos salir del combobox; pues eso es por lo siguiente: Hay veces que al añadirlo de forma automática, la propiedad que pone como databinding es la propiedad "Text" cuando debería ser "SelectedValue".

Solución:

Vamos a las propiedades y en la sección "DataBindings" quitamos el binding de la propiedad "Text" y lo ponemos en la propiedad "SelectedValue" et voilá.

martes, 21 de octubre de 2008

VS2008 C# ComboBox enlazado a datos con primer elemento en blanco

Como he visto que la información que hay en internet sobre ésto es confusa, tosca y poco útil, he decidido ponerlo aquí por si a alguien le es de ayuda puesto que he visto burradas como añadir nuevos elementos en blanco al dataset y demás.

Bien, si lo único que quieres es que cuando se cargue tu flamante formulario con tu ComboBox sin ningún elemento seleccionado, osea en blanco pero con todos los de la base de datos en la lista; lo único que debes hacer es lo siguiente:


comboBoxTuComboBox.selectedIndex = -1;



¡¡Y así de simple!! ¡¡COJONES!!


P.D.:

Añado el error típico que suele sufrir la gente para que si alguien busca por ello aparezca en google: "No se puede modificar la colección Items cuando está establecida la propiedad DataSource."

jueves, 16 de octubre de 2008

HowTo Cambiar campo "Archivar como" para que se asemejer a "Nombre completo"

Bien, el problema surgió con mi primer smartphone, resulta que cuando sincroniza con activesync coje por defecto el campo "Archivar como" de outlook para el nombre de los contactos. Ésto para mi era un problema puesto que estaba acostumbrado al orden en mi anterior teléfono que los ordenaba por nombre completo por lo cual estaban confeccionados para ello y con ésto me salían cosas tan feas como "Fress, Lorena" en mis contactos.

La solución existente es entrar uno a uno en todos los contactos e ir cambiando ésto para que aparezca Nombre Apellido en vez de Apellido, Nombre. Ni que decir tiene que esto es un engorro o una soberana putada, pues bien mi solución a ésto ha sido una macro en VBscript que os enseño ahora mismo.



- Para el que nunca lo haya hecho, con la carpeta contactos como actual se va uno a "Herramientas>Macro>Editor de Visual Basic.

- Agregas un nuevo módulo.

- Pegas el siguiente código.


Sub reordenarContactos()
Dim items As items, item As ContactItem, folder As folder
Dim contactItems As Outlook.items
Dim itemContact As Outlook.ContactItem

Set folder = Session.GetDefaultFolder(olFolderContacts)
Set items = folder.items
Count = items.Count
If Count = 0 Then
MsgBox "¡No hay contactos!"
Exit Sub
End If

'Filtramos en la clase mensaje para obtener sólo los items de contactos
Set contactItems = items.Restrict("[MessageClass]='IPM.Contact'")

For Each itemContact In contactItems
itemContact.FileAs = itemContact.FirstName + " " + itemContact.LastName
itemContact.Save
Next

MsgBox "Tus contactos han sido rearchivados"
End Sub


- Le das al botoncito de la flecha de play, guardas la nueva macro y la ejecutas.

- TODO AL PELO !!