Blog de Alejandro More

sábado, mayo 26, 2007

El "And" de Visual Basic 6, un ejemplo practico

Hace unos dias estaba haciendo un ordenamiento por inserción directa en VB y me di con la sorpresa que, el and de VB evalua todos los operandos aun cuando el primero o uno de los primeros sea falso, dado que si uno es falso el resultado de las operaciones and dara falso.
Busque y no encontre ninguna solución propia de VB(que se podia esperar del amigo azul xD). Aqui les muestro un ejemplo de como resolvi el problema para el ordenamiento de insercion directa (como ya saben este metodo usa un and en una estructura repetitiva q puede ser un while o un for).

Dim nReg as Integer
Dim registro() as tipo
'estas 2 primeras asignadas y redimensionadas antes de iniciar la función

Public Function ordenarInsDirectaRegistros()
Dim temp As tipo
Dim i As Integer
Dim j As Integer
Dim com As Boolean
For i = 1 To nReg
temp = registro(i)
j = i - 1
If j >= 0 Then
If temp.cod < registro(j).cod Then
com = True
End If
Else
com = False
End If
While com = True
registro(j + 1) = registro(j)
j = j - 1
If j >= 0 Then
If temp.campo < registro(j).campo Then
com = True
End If
Else
com = False
End If
Wend
registro(j + 1) = temp
Next i
End Function

Para resolver el problema, lo que uso es un conjunto de if anidados y una variable com de tipo booleana para el control del while.
En este caso solo tengo 2 operandos, el gran problema es cuando aumentan el número de operando pues la cantidad de if anidados aumentaria, ojalá alguien encuentre otra solución.

domingo, mayo 20, 2007

Enviar mensajes firmados o cifrados digitalmente.

Hace tiempo me comunicaba con un amigo y cuando me enviaba sus mensajes estaban firmados digitalmente, y como me pico la curiosidad me puse a investigar y aqui les doy lo que necesitan para poder hacerlo.
Antes de empezar todo lo que voy a usar son tecnologia y herramientas de software libre.

Primero necesitamos un cliente de correo y claro una cuenta que soporte configuracion pop.
Yo uso mi cuenta de gmail, y como cliente de correo Thunderbird, del cual es necesario la version 2, si tienes una versión anterior solo baja el nuevo instalador y ejecutalo, te mantendrá la configuración y tus mensajes de la bandeja de entrada.
http://www.mozilla-europe.org/es/products/thunderbird/

Antes de todo necesitamos crear una clave publica y privada, usaremos OpenPGP el cual usa criptografia de clave publica, con el programa GnuPGP(alternativa libre del pgp) http://www.gnupg.org/(es)/index.html, es muy intuitivo, por ejemplo en la figura esta mi configuracion.


Ahora necesitamos que el thunderbird registre nuestra clave privada y publica, asi como la de las personas con las que nos comunicaremos, para ello instalamos un complemento del thunderbird que se llama enigmail.
http://enigmail.mozdev.org/
Una vez descargado(el archivo xpi), lo instalamos en el thunderbird, vamos a complementos y damos en install, seleccionamos el enigmail xpi.
Nos pedira reiniciar el Thunderbird, lo hacemos y a la sig vez que lo cargamos vamos a complementos y seleccionamos nuestra clave.


Ahora cuando enviemos nuestros mensajes, tendremos las opciones del OpenPGP, podremos firmar y/o cifrar digitalmente nuestros mensajes, asi como los archivos que adjuntemos a estos.

Eso es todo, "el software libre es seguro por naturaleza" xD.

sábado, mayo 12, 2007

Montar particiones ext en windows xp

Tal vez la palabra apropiada no sea montar puesto q no estamos en gnu/linux, pero esa es la idea, poder ver y modificar una particion ext en windows xp
Hay muchos programas q nos pueden ayudar pero yo he usado este
Ext2 Installable File System for Windows
lo puedes descargar en:
http://www.fs-driver.org/index.html



Ahora voy a hacer un pequeño resumen de la instalación que hice.
Cargamos el instalador y aceptamos la licencia



Una recomendación: Seleccionar como letra de la unidad la Z, xq cuando colocas una unidad extraible como una llave usb tiene problemas, se aloca, es por experiencia xD.
Si no es Z, coloca una letra la cual casi nunca se use.
Otra cosa, yo tengo instalado sabayon 3.2 y cada vez q escribo en la particion ext desde windows, cuando cargo sabayon se demora, parece q repara la particion, talvez sea xq el programa no escribe bien en la particion. Pero todo funciona normal no he tenido perdida de informacion ni de nada.