viernes, 21 de diciembre de 2007

Cómo saber quién te borró del MSN

Hace poco leí en mi bandeja de entrada un correo que supuestamente me había mandado uno de mis contactos y se me hizo bastante interesante.

Decía:

" Fíjate quién te borró del MSN "

También mencionaba una dirección para que usaras el servicio que te ofrecen este tipo de páginas (por obvias razones no lo citaré).

Creo que a estas alturas esta por demás mencionar que estas páginas son un fraude. Se hacen de tu contraseña para mandar spam desde tu cuenta y según ellos NO guardarán tus datos pero esto no es así. Mínimo se quedan con tu dirección y despues te llenan de correo no deseado tu bandeja.

Si en verdad quieren saber quién te ha borrado de sus contactos no es necesario dar tu contraseña en otro lado que no sea el propio msn.

Les voy a dar dos formas:

Herramientas -> Opciones -> Privacidad

En la lista de contactos hacer click derecho y si en el menú emergente aparece la opción ELIMINAR habilitada eso quiere decir que ese contacto te ha borrado.

Es lenta pero segura :)

La otra opción es AMSN. Verán que no es nada difícil ver quién nos ha borrado.

Una vez más en Linux encuentras la solución XD

miércoles, 5 de diciembre de 2007

Cómo hacer un Textbox que sólo acepte números y punto decimal en Visual Basic

Haciendo un programita en Visual Basic, me encontré con el detalle de hacer que un Textbox (o una caja de texto) sólo aceptara números. Pues bien eso no tuvo mayor problema ya que la solución esta relativamente fácil:

· En el evento KeyPress de un Textbox llamado Text1.

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 8 Then Exit Sub

If KeyAscii <48 Or KeyAscii > 58 Then
KeyAscii = 0

End If

End Sub

Pues hasta aquí todo bien. ¿Y si quiero poner punto decimal? :S

En El Guille me encontre con esta otra solución:


Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End Sub

Ya estaba resuelto el problema del punto pero ahora la cuestión era: ¿cómo restringir el Textbox para que solo aceptara un punto decimal y poder borrarlo?

Manos a la obra:


Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim x As Integer, h As Integer
Dim cadena As String
Dim band As Boolean

h = Len(Text1.Text) ' Longitud de cadena

cadena = Text1.Text ' Almacena lo escrito en el textbox


For p = 1 To h

If Mid(cadena, p, 1) = "." Then ' Si hay un punto en la cadena...
band = True ' Se activa la bandera
Exit For
Else
band= False
End If

Next p

If band = True Then ' Si la bandera esta activada no acepta el punto

If InStr("0123456789", Chr(KeyAscii)) = 0 Then
If KeyAscii <> 8 Then KeyAscii = 0

End If
End If

If band = False Then
' Si la bandera no esta activada acepta el punto

If InStr("0123456789.", Chr(KeyAscii)) = 0 Then
If KeyAscii <> 8 Then KeyAscii = 0

End If

End If


End Sub


Espero que alguna vez le sirva para alguna aplicación que les surga por ahí, hasta el momento yo lo he utilizado y me va muy bien.


"Felices Líneas" XD (me refiero a las de código)



viernes, 26 de octubre de 2007

Excel 0 - Calculadoras 1. Bug de órdago.

Para algunos este bug será noticia antigua pero para los que no se los platico. Resulta que como curiosidad, Ex¢el tiene un problemita con las operaciones que den como resultado el "mágico" número 65 535 ( que es igual a (2 ^ 32) - 1 ) . Intenten hacer la operación 77.1 * 850 = ????? Habrá quienes piensen que esto no llegue a ser más que una curiosidad, sin embargo estoy seguro que habrá empresas que no basan su contabilidad en este software y seguramente despues de esto estarán haciendo varios calculos como lo hacian en la primaria: a mano.

La explicación que dan algunos es que Excel trabaja con números binarios y que por esta razón le cuesta trabajar con números decimales, por ejemplo 0.1 ya que este no tiene una representación exacta en binario, mas o menos equivalente a 1/3 en decimal (0.333333......)



Sin embargo pues la maldición no cae del todo en el número 35535, ya que por ejemplo la operación 13107 * 5 = 35535; este es un ejemplo que probablemente de razón a la explicación que se esta dando ya que es un producto entre numeros enteros y no implica números decimales. Otro ejemplo sería 5052748.5 / 77.1 = 65 535 ; este tampoco es un problema. Algunas otras combinaciones:
Un ejemplo por si quieres hacer unas pruebas:

=PRODUCTO(F2:F3)

En F2 y F3 pones los factores que quieras probar para ver al número maldito.

Ahora la pregunta es la siguiente: ¿Es conveniente pagar lo que cuesta este "programa" y arriesgarte a ver si de puro milagro no tiene otro bug?


Yo digo que no es para tanto. Para quienes aman a Office y creen que por este error deban aterrorizarse aquí hay dos soluciones:


Parche

y Open Office !!!!!

Nota: Linux --- $ 0
Sharp EL - 506W --- $ 150
Open Office --- $ 0
Office --- $ 6000

Que una calculadora te de en la madre
¡No tiene precio!