F1 Help! La solución que buscabas

Desarrollo, programación, tips, consejos y soluciones para los usarios de PC

domingo, 25 de julio de 2010

Convertir cadenas de caracteres a fecha en Excel

Microsoft Excel - Todas las Versiones

Muchas veces se dá al estar trabajando con distintos sistemas de información que al exportar la información desde el sistema a Excel para producir informes resulta que las fechas, no vienen en un formato legible para Excel, provocandonos un dolo de cabeza para nosostros. Aca voy a compartir con uds una simple formula para convertir las siguientes tipos de cadenas de texto a fechas:
  • dd-mm-aaaa
  • dd.mm.aaaa
Para ello podemos utilizar la siguiente formula:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;4;2);"/";EXTRAE(Celda;7;4)))

Donde Celda representa la celda donde esta la cadena a convertir.
Finalmente seteamos el formato de la celda como fecha.

Para convertir las siguientes tipo de cadenas:
  • dd-mm-aa
  • dd.mm.aa
 En este caso podemos utilizar la siguiente formula:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;4;2);"/";EXTRAE(Celda;7;2)))


Donde Celda representa la celda donde esta la cadena a convertir.

Finalmente seteamos el formato de la celda como fecha.

Y el ultimo caso es para fechas con el siguiente formato:
  • ddmmaaaa
En ese caso utilizamos:

=FECHANUMERO(CONCATENAR(EXTRAE(Celda;1;2);"/";EXTRAE(Celda;3;2);"/";EXTRAE(Celda;5;4)))


Donde Celda representa la celda donde esta la cadena a convertir.

Finalmente seteamos el formato de la celda como fecha.

Desactivar la reproduccion automatica de CD/DVD y Pendrive en Windows XP

Esta cansado de que muchos virus le infecten la maquina porque conectar un Pendrive en su computadora. Sos de lo que trabajan en la escuela o el trabajo y traes informacion en el pendrive y se te infectan la maquina.

La mayoria de estos virus se instalan en un archivo conocodi como "autorun.inf" que windows esta acostumbrado a ejecutar cuando se conecta un dispositivo. Por eso te recomendamos desactivar esta opcion de la siguiente mantera:

Primero hacemos click en inicio y vamos a ejecutar. Despues tipeamos gpedit.msc. En la ventana que se abrio debemos ir, en la barra de la izquierda, a
Configuración del equipo/Plantillas Administrativas/Sistema y luego buscamos la opcion Desactivar reproducción automática.

Al hacer esto saldra una ventana que nos dejara elegir entre varias opciones. Hacemos click en Habilitada y en "Desactivar reproduccion automaticab en:" elegimos la opcion en todos los dipositivos.

Una vez hecho esto, para no esperar a reiniciar hay que ejecutar el siguiente comando: gpupdate

Y Listo!! Con eso desactivamos las reproducciones automaticas!

Cómo modificar el espacio reservado en disco a Restaurar sistema en Windows Vista

Como pudimos observar, en Windows XP modificar este tamaño era simple. Accediamos a mi PC, propiedades, ibamos a la solapa Restaurar Sistema. Elegiamos uno de los disco y podiamos modificar el tamaño.

Pero desde Windows Vista esta opcion se ah modificado y no se encuentra mas ahi. Desde ahora hay que hacerlo desde la consola. Por eso aqui unos comandos utiles para poder resolver esto:

Para ver cuál es el espacio máximo asignado a las copias sombra, siga estos pasos:

1) Hacemos click en inicio y y vamos a busqueda rapida.

2) Escriba cmd y seleccione el programa ofrecido tras finalizar la búsqueda con el botón derecho del mouse. Haga clic sobre Ejecutar como administrador.

3) Proporcione credenciales administrativas o haga clic sobre Continuar, lo que proceda.

4) En la ventana de línea de comandos, tipee lo siguiente y pulse INTRO:
vssadmin list shadowstorage
Observe en la salida del comando la línea Espacio máximo del almacenamiento de la instantánea:. Ese el espacio máximo reservado.

Si somos de esas personas que cuidamos la pc y no precisamos tanto espacio para restaurar el equipo, por lo tanto queremos reducirlo debe hacer lo siguiente:

En la misma consola que abrimosanteriormente tipeamos:
vssadmin resize shadowstorage /on=C: /For=C: /MaxSize=5GB
(reemplazamos C por la unidad correspondiente y tambie modificamos MaxSize por el valor deseados)

Vssadmin devolverá el siguiente mensaje: Se cambió correctamente el tamaño de la asociación de almacenamiento de instantáneas.

Tener en cuanta que en la unidad donde este instalado el sistema es donde mayor tiene que ser el espacio reservado. A demas, cuanto menos espacio alla menor va a ser la cantidad de instantaneas. Por lo que no se podra vovler varios dias atras.

jueves, 22 de julio de 2010

Acceso web desde Python

Este tutorial se trata de acceder a una pagina web desde Python, obtener su codigo de fuente, y asi poder realizar ciertas acciones.

Empecemos por un codigo simple pero efectivo:
import urllib2,urllib
f = urllib2.urlopen("https://www.google.com.ar")
print f.read()
f.close()
Con ese simple codigo veremos que se imprime en la consola el codigo de fuente de la pagina de google.
Ahora un poco mas avanzado. Veremos como pasar informacion por metodo "POST" muy util para llenar formularios automaticamente. O tambien logins.
import urllib2,urllib
params = urllib.urlencode({"email": "xxxxxxxxxxxxxx@gmail.com", "pass": "xxxx"})
f = urllib2.urlopen("https://login.facebook.com/login.php?login_attempt=1",params)
print f.read()
f.close()
Como veran añadimos una variable mas al codigo con la informacion del metodo POST. Por lo general se debe guardar el nombre del objeto seguido con la informacion. Pero para esto sugiero leer tutoriales de programacion web.
Ademas pueden ver que añadimos la variable con los datos al metodo "urlopen" como un parametro mas.
Fijense que estamos tratando de loguernos con facebook. Por lo que busque los nombre de los campos de usuario y contraseña, como tambien la pagina a la que es redireccionado el explorador al tocar el boton de login.

Pero son necesarias un par mas de cosas para poder loguernos en facebook. Necesitamos activar las cookies; sino nos rechazaran. Para esto miren este codigo:
import urllib
import urllib2
datos = urllib.urlencode({'email':'tu_correo','pass':'tu_contrasenia'})
o = urllib2.build_opener(urllib2.HTTPCookieProcessor)
res = o.open('https://login.facebook.com/login.php?login_attempt=1', datos)
Aqui lo que hacemos previamente es crear un objeto "opener" de la libreria urllib pero le seteamos ciertos campos antes de abrir una pagina. No como antes que abriamos la paginade una. Simplemente este campo es para activar las Cookies.

Pero se llevaran una gran sorpresa si lo prueban con facebook. Ya que facebook tiene cierta restriccion con las cookies. Al ingresar a la pagina principal de facebook, se setean ciertas cookies que son necesarias para loguearse. Por lo tanto, pueden observar que no funcionan las cookies con facebook, en cambio, si funciona con otras paginas.

Pero siempre existe una solucion para esto. La idea es acceder primero a la pagina principal de facebook, obtener las cookies. Y luego loguearnos. Asi quedara el codigo:
import urllib
import urllib2
datos = urllib.urlencode({'email':'tu_correo','pass':'tu_contrasenia'})
o = urllib2.build_opener(urllib2.HTTPCookieProcessor)
o.open('https://www.facebook.com')
res = o.open('https://login.facebook.com/login.php?login_attempt=1', datos)

martes, 20 de julio de 2010

Instalar placa wireless Realtek RTL8101E/RTL8102E

Yo, como uno entre otros, hemos tenido problema al instalar este tipo de placa wifi en una Notebook. Despues de unos dias de lucho logre encontrar la solucion.

Buscando por internet me topaba siempre con los driever de mi placa. Los compilaba pero nada sucedia...mi placa parecia ser detectada, veia las redes pero a la hora de conectar nada sucedia.

Por eso decidi cambiar mi distribucion hacia Debian. Durante la instalacion el mismo sistema me advirtio que iba a tener problema con cierto driver porque no era 100% software libre. Asi que me recomendo agregar las ramas contrib y non-free al siguiente repositorio:
deb http://ftp.de.debian.org/debian/ squeeze main
Nuestro repositorio deberia quedar asi:
deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
Esto se puede hacer desde Synaptics o desde el archivo /etc/apt/sources.list.
Una vez que tenemos esto, debemos actualizar los repositorios (aptitude update). Y ahora con los nuevos paquetes detectados debemos buscar el paquete: firmware-realtek.

Este paquetes nos instala el driver de la placa de red. Justamente, esto era lo que me faltaba antes para que terminara de funcionar.

Como acababa de hacer una instalacion limpia de debian, todavia me faltaban los driver de mi placa de red wifi. Asi que volvi a entrar a esta pagina: www.realtek.com , Buscamos los driver de nuestra placa y los decargamos.

Luego los descomprimimos, ya vienen instalados programas visuales para hacer esto.
En la carpeta que descomprimimos vamos a una consola, y ahi tipeamos como superusuario:
make
make install
Con esto ya tenemos instalado el driver. Solo nos faltaria rebootear la Pc o desde la consola escribir:
modprobe r8192se_pci
Y eso es todo.

Por si no encuentran el firware desde el synaptics, por problemas de versiones (yo lo instale en la version squeeze) aca el dejo el link del paquete: Firmware-realtek