06 noviembre 2008

Orden de eventos para un formulario en Microsoft Access

Cuando se abre un formulario, la secuencia de los eventos es:

Open -> Load -> Resize -> Activate -> [GotFocus ->] Current

NOTA: El evento GotFocus se dispara antes de Current si el formulario no tiene controles que puedan recibir el foco (activos).

...al cerrar el formulario, la secuencia es:

Unload -> Deactivate -> Close

04 septiembre 2008

Google Chrome (Beta)

Luego de tenerlo instalado en mi PC por dos días y haberlo probado en varias páginas como todo producto Beta tiene largo camino que recorrer...

Aunque pude reproducir varios problemas reportados por diversos usuarios de esta versión una que no funcionó fue la de ejecución de código arbitrario contenido en archivos Jar.

En aparienca me convenció de inmediato, tiene una interfaza bastante simple y fácil de utilizar, lo cual me parece bastante acertado ya que para los usuarios es menos estresante una aplicación que no expone demasiadas opciones.

Algo que me parece curioso es la velocidad con que se cargan algunas páginas comparado con el todo lento IE7 o el Firefox 3.0, aunque también es curioso que algunas de esas páginas no se cargan correctamente cono el sitio de Guate360

Pues bien, como decía... en Chrome la página en cuestión se cargo en una fracción de lo que tardó en cargarse en el Firefox, empero no cargó todas las imágenes y en el texto los caracteres que no corresponden al alfabeto inglés no se muestran correctamente.

Otro asunto que no termina de convencerme es el no poder ingresar a Blogger desde dicho Navegados ya que al intentar acceder a mi cuenta aparece una ventanita como se muestra a continuación

...esto desde luego a persar de tener seleccionada la opción "Mostrar todas las Cookies" en la configuración de Cookies de las opciones del navegador.

Una cosa que sí me parece preocupante es que se apoya mucho en la configuración del Internet Explorer, no se hasta que grado, pero hasta ahora se sabe que lo hace en lo que corresponde a Certificados y configuración de Proxies.

No nos queda sino esperar a que la siguiente actualización incluya la corrección a la mayor parte de los problemas que los usuarios han encontrado en estos primeros días de arduas pruebas.

26 agosto 2008

VB.NET no tiene StrPtr o equivalente

Pues eso, que el VB.NET hasta la versión 2008 no tiene un equivalente al StrPtr del Visual Basic 6, así que en el caso del InputBox no hay forma de saber cuando un usuario ha presionado el botón y cuando ha ingresado un texto vacío.

VB6

Dim dato As String

dato = InputBox("Ingrese el dato","Título")
If StrPtr(dato) = vbEmpty Then
'El usuario ha presionado Cancelar
Else
'Lo que sea...
End If

VB.NET

Dim dato As String = InputBox("Ingrese el dato","Título")

If dato Is Nothing Then
'El usuario ha presionado el botón Cancelar
'...o ingresó un texto vacío

Else
'Lo que sea...
End If

25 agosto 2008

Este es mi escritorio de trabajo...

Creo que el título lo dice todo.

05 junio 2008

Acceder a un servidor de correo POP3 usando Telnet

Con Telnet, es posible iniciar una sesión en un servidor de correo POP3 y efectuar varias tareas como: listar los mensajes de correo, eliminarlos y verlos (en texto plano).

Esto puede servirnos para consultar nuestros mensajes desde cualquier equipo sin tener que configurar la cuenta en un cliente de correo... aunque también nos resulta util como herramienta de diagnóstico cuando desde determinado equipo no nos es posible recuperar los mensajes.


1) Para ello abrimos la consola del sistema ("Símbolo del sistema" en Win2) y ejecutamos Telnet pasándole como parámetros el servidor y el puerto correspondiente al protocolo POP3 (110). Cabe mencionar que en Win2 Vista el cliente Telnet no viene instalado de manera predeterminada en el sistema.

C:\telnet servidor.com 110

2) Una vez establecida la conexión con el servidor, éste nos dará una respuesta indicandonos que la conexión está abierta. Aquí es donde procedemos a identificarnos con la instrucción USER .

+OK servidor.com POP3 Server (Version 1.020h) ready.
user mreynoso


3) El servidor nos solicitará que le proporcionemos la contraseña para dicho usuario, lo cual haremos la instrucción PASS .

+OK please send PASS command
pass 123


4) Si el usuario no es validado correctamente el servidor nos mostrará un mensaje de error. En este caso tendremos que reintentar identificarnos enviando nuevamente la instrucción USER y la instrucción PASS.

-ERR invalid usercode or password, please try again

5) Si el usuario se validó correctamente, el servidor nos lo indicará con un mensaje similar al siguiente (en el cual nos informa que tenemos un mensaje disponible):

+OK 1 messages ready for mreynoso in /home/servidor/servidor-mail/mreynoso

6) Habiendo llegado a este punto, disponemos de las siguientes intrucciones para manipular nuestros mensajes: DELE, LAST, LIST, NOOP, RETR, RSET, STAT, TOP, UIDL y QUIT

De estas instrucciones las más utilizadas son:

  • STAT: devuelve el estado de buzón, indicandonos la cantidad de mensajes disponibles.

  • LIST: lista todos los mensajes, mostrandonos el identificador (secuencia) y el tamaño. También es posible pasarle como parámetro el identificador.

  • TOP : permite ver el encabezado del mensaje más la cantidad de líneas especificadas.

  • RETR : recupera y muestra el contenido de un mensaje, donde es el número del mensaje.

  • DELE : marca el mensaje indicado para su eliminación.

  • QUIT: cierra la sesión. Es en este momento que se eliminan los mensajes previamente marcados para ello.