sábado, 25 de mayo de 2013

Problema con teclas de backspace y eliminar en Oracle SQL Developer

Si utilizas alguna versión de Oracle como manejador de base datos, habrás utilizado Oracle SQL Developer para facilitarte la tarea de hacer consultas.

Cierto día al intentar utilizar Oracle SQL Developer para realizar algunas consultas me encontré con el problema de que no podía utilizar las teclas de backspace y delete (eliminar) en el editor, por lo que no podía modificar las líneas fácilmente.

El volver a instalar el programa generalmente no es una primera opción así que investigué un poco y encontré la forma de resolver este problema.

Solución.

La solución es regresar a las opciones predeterminadas de Oracle SQL Developer, las cuales yo no había cambiado, por lo que no supe cual había sido la causa.

Para solucionar esto hay que ir a:

Herramientas > Preferencias > Aceleradores > Cargar Predefinido > Aceptar
Tools -> Preferences -> Accelerators -> Load Preset

Como en la siguiente imagen.


Espero les sirva.

jueves, 23 de mayo de 2013

Consider changing your password en windows server 2008

Cómo quitar la caducidad de contraseña en windows 2008

Por defecto los usuarios de Windows Server 2008 tendrán activada la política de caducidad de contraseñas por lo que seguramente estás viendo el  mensaje de "Consider changing your password" como en la imagen de abajo.


Solución.

Lo que hay que hacer para cambiar la política de caducidad de contraseñas en Windows Server 2008 es lo siguiente:
  1. Entrar como administrador o con usuario con privilegios de administrador
  2. Ir a "Local Security Policy" seleccionando Start > Administrative Tools > Local Security Policy
  3. Expander "Account Policies"
  4. Seleccionar "Password Policy"
  5. Establecer "Maximum password age" a cero "0"
 Como en la siguiente imágen.


Listo. Ahora la contraseña ya no expirará ni volverá a salir el mensaje "Consider changing your password".

Espero les sirva.

viernes, 17 de mayo de 2013

Obtener el texto de un li por índice con jquery

Cómo obtener el texto de un li por índice en una lista con jquery


Se puede acceder al texto de un li dentro de una lista utilizando jquery. Esto se puede acceder por el índice dentro de la lista fácilmente con alguna de las opciones que ofrece jquery.

Se puede hacer de dos maneras con jquery usando .eq() o :eq()

Ejemplo.

<ul>
  <li>Opción 1</li>
  <li>Opción 2</li>
  <li>Opción 3</li>

  <li>Opción 4</li>
</ul>


Se accedería de esta manera la segunda opción, recuerden que empieza en cero:

$('ul').get(1).text(); 

o así

$('ul :eq(1)').text();

Pueden probar en esta página: http://jsfiddle.net/nick_craver/BU6et/

De aquí tome la referencia:
http://stackoverflow.com/questions/3370443/jquery-find-by-index-in-a-list

Espero les sirva.


Como obtener los valores seleccionados de un arreglo de checkbox de un formulario con php

Como leer un arreglo de checkbox con php


Para obtener los valores seleccionados de un arreglo de checkbox en php es necesario que el nombre de los checkbox utilice corchetes "[]" al final para que al hacer el $_GET de php ésta variable pueda ser tomada como arreglo. 

Al hacer el $_GET de php se usa el nombre de la variable sin corchetes.

Si no se usan lo corchetes en el nombre de los checkbox sólo devolverá el primer elemento seleccionado y eso seguramente es lo que los trajo aquí.
 
Les pongo un ejemplo de cómo debe ser colocado el código HTML y cómo debe ser recibido con PHP

Ejemplo.

El código html:


<form method="get">
    <input type="checkbox" name="dias[]" value="Lunes"/> Lunes<br/>
    <input type="checkbox" name="dias[]" value="Martes"/> Martes<br/>
    <input type="checkbox" name="dias[]" value="Miércoles"/> Miércoles<br/>

    <input type="checkbox" name="dias[]" value="Jueves"/> Jueves<br/>   
    <input type="checkbox" name="dias[]" value="Viernes"/> Viernes<br/>  
    <input type="checkbox" name="dias[]" value="Sábado"/> Sábado<br/>
    <input type="checkbox" name="dias[]" value="Domingo"/> Domingo<br/>     
 <input type="submit" value="Guardar" />
</form>


El código php:

$seleccionados = $_GET['dias'];
for($i=0; $i < count($
seleccionados); $i++){
    echo "Días seleccionados " . $
seleccionados[$i] . "<br/>";
}


Espero les sirva.

lunes, 18 de marzo de 2013

Cómo compartir una red inalámbrica wifi en windows 7 a otra computadora o dispositivo

Cómo compartir internet a otro computadora o dispositivo

Me vi en la necesidad de tener que compartir una conexión inalámbrica wifi desde mi lap.

Leyendo me encontré que Windows 7 incluye una utilidad para crear redes wifi virtuales. Les comparto estos pasos muy interesantes que te permiten compartir internet a otros dispositivos.

Como crear una red virtual wifi en windows 7

Abrir una línea de comandos de windows con privilegios de administrador. Es muy importante que la línea de comandos la abran con permisos de administrador para que no les salgan errores.

Para esto ir a Inicio - Programas - Accesorios - Click derecho en Símbolo del sistema y seleccionar "Ejecutar como administrador". Como en la imagen de abajo.


|

Como configurar la interface virtual

Escriban en el símbolo del sistema lo siguiente:

netsh wlan set hostednetwork mode=allow ssid=nombredered key=elpassword

Escribir en ssid el nombre como quieran llamar a a la red virtual y en key la contraseña deseada.


Al ejecutar esta línea se puede ver una nueva conexión de red en la lista de conexiones de red la cual aparece como Virtual WiFi miniport como en la imagen de abajo. Aparecerán tantas redes como se ejecute la la línea anterior que se encarga de crear redes virtuales. Hay que tener en cuenta que si se activan muchas, la capacidad de cada una y la original se verán mermadas porque todas son una que está siendo compartida a través de software.



En Panel de Control - Redes e Internet - Conexiones de red seleccionar la red que está siendo actualmente utilizada. Ir a Propiedades - Uso Compartido y seleccionar la casilla "Permitir que los usuarios de otras redes se conecten a través de la conexión a Internet de este equipo". Seleccionar la red virtual recien creada para indicar que se va a compartir hacia ella como en la siguiente imagen.




Después de esto, en la misma línea de comandos, ejecutar la siguiente instrucción para iniciar la red virtual:

netsh wlan start hostednetwork




Esta segunda instrucción se debe ejecutar cada que quieran iniciar la red virtual. Cuando apaguen la máquina la red se desactivará por lo que cada que la prendan deben ejecutar únicamente la segunda instrucción, con permisos de administrador también, como en la siguiente imagen.



Tal vez encuentren alguna manera de iniciar la red wifi virtual al iniciar windows automáticamente.

Desde otros dispositivos con wifi podrán ver la nueva red creada y conectarse con los datos que configuraron para ssid y key.

De aquí he tomado la referencia y una imagen:

http://www.blogsdna.com/5506/how-to-setup-virtual-wifi-in-windows-7-without-any-extra-software.htm

Espero les sirva.

domingo, 10 de marzo de 2013

RegAsm : warning RA0000


RegAsm : warning RA0000 : El registro de un ensamblado sin signo con /codebase puede provocar que dicho ensamblado interfiera con otras aplicaciones instaladas en el mismo equipo. El modificador /code
base sólo se utiliza con ensamblados con signos. Proporcione al ensamblado un nombre seguro y vuelva a registrarlo.


RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can cause your assembly to interfere with other applications that may be installed on the same computer. The /codebase switch is intended to be used only with signed assemblies. Please give your assembly a strong name and re-register it.




Al intentar registrar una dll para enviar correos con regasm me encontré con el warning RegAsm : warning RA0000.  Este warning aparece cuando intentas registrar una dll que no está firmada.

La dll la quiero llamar desde mi aplicación web con asp clásico por lo que necesito registrarla en la máquina para después poder llamarla desde mi código asp clásico.

Solución.

Lo que se debe hacer es firmar la dll generada y volver a compilar el proyecto

Para firmar la dll en Visual Studio 2010 debes ir a la ventana de Propiedades del proyecto en la pestaña de Firma, hacer click en Nuevo y aceptar las ventanas siguientes. Verificar que la casilla "Firmar el ensamblado" esté activa como en la imagen.




Si lo que deseas también es utilizar esta dll para llamarla desde algún proyecto .NET o ASP clásico, se 
debe establecer la propiedad ComVisible a True en el archivo assemblyInfo.cs 



O también seleccionando la opción Crear ensamblado visible a través de COM en la ventana de Propiedades del proyecto - Aplicación como en la imagen de abajo.



Con esto ya se puede hacer el llamado al objeto desde la aplicación de asp clásico de acuerdo al namespace, nombre de clase y métodos que se hayan definido. Sería una llamada como la siguiente:

Set myMail = CreateObject("Namespace.Clase") 
myMail.From = NombreFrom
myMail.To =  EmailTo
myMail.Subject = MsgSubject 
myMail.BodyFormat = 0 
myMail.MailFormat = 0 
myMail.Body = strResult 
myMail.Send
Set myMail = Nothing

Espero les sirva.

miércoles, 19 de diciembre de 2012

Error de jCarousel al hacer zoom en Chrome


jQuery jCarousel truena al hacer zoom en Chrome.

Existe un problema con el plugin jCarousel de jQuery que ocurre cuando se realiza un zoom diferente al 100% en una página utilzando Google Chrome como navegador.

Para replicar el problema se tiene que ver el jCarousel en acción dentro de Google Chrome y hacer un zoom a la página diferente al 100%.
Los elementos del carrusel se descuadran cuando el zoom es distinto del 100%, y esto produce que se vean cortadas las imágenes al estar avanzando o retrocediendo

Este problema sólo se presenta con Chrome y por lo que leí se debe a que el plugin utiliza en varias ocasiones el método this.list.css(this.lt) el cual usa window.getComputedStyle que en Chrome toma en cuenta el zoom actual de la página.

Solución.

Lo que hay que hacer es modificar el archivo jquery.jcarousel.min.js o donde tengan el plugin y quitar el uso de este método y a su vez utilizar this.list[0].style[this.lt]

Es decir, reemplazar todas las ocurrencias de this.list.css(this.lt) por this.list[0].style[this.lt] dentro del plugin jCarousel.

Osea un replace desde el editor de código que utilices. Son como seis ocurrencias que hay que reemplazar.

Así debe quedar



Con esto se soluciona el problema y el carrusel de imágenes se observa correctamente desde Chrome al
hacer zoom sobre la página.

De aquí tomé la idea principal: https://github.com/jsor/jcarousel/issues/85

Espero les sirva.