Archivo para febrero, 2009

Mostrar y ocultar elementos con JavaScript

Ya parezco revista semanal (por que solo posteo una vez a la semana). Pero como siempre intento mostrar cosas útiles, para que no batallen como yo buscando información.

Casi siempre es necesario ocultarle cosas al usuario por “X” razón, y esto parece muy complejo en ambiente web (por que no encontramos algo como en Visual Basic -modificando solo la propiedad visible=”false”), pero JavaScript nos facilitara esta tarea

¡Vallamos al grano!

Escenario: Tenemos que hacer un formulario en el cual guardaremos los clientes de una empresa, pero resulta ser que nuestros clientes pueden ser personas físicas(Una persona cualquiera) o personas morales (Empresas *grupo de personas), entonces dependiendo de lo que sean, tendremos que almacenar diferentes datos:

Personas Físicas:

-Apellido Paterno

-Apellido Materno

-Nombre(s)

Personas Morales:

-Razón Social (nombre de la empresa)

Como podemos ver, si un cliente es una persona física tendremos que mostrar los campos para introducir Apellido Paterno, Apellido Materno y Nombre(s), al mismo tiempo ocultar el campo de Razón Social, pero si un cliente es persona moral tendremos que mostrar el campo Razón Social y ocultar los campos Apellido Paterno, Apellido Materno y Nombre(s).

Para solucionar esto basta con poner un Grupo de opción (radio buttons) , para que cuando elijan el tipo de persona el script realice la acción de ocultar o mostrar dichos campos.

image

El código es muy fácil :

   1: <html>
   2: <head>
   3: <title>Muestra y oculta div</title>
   4:
   5: <script language="JavaScript">
   6:
   7: function oculta(id){
   8:      var elDiv = document.getElementById(id); //se define la variable "elDiv" igual a nuestro div
   9:      elDiv.style.display='none'; //damos un atributo display:none que oculta el div     
  10:     }
  11:
  12: function muestra(id){
  13:      var elDiv = document.getElementById(id); //se define la variable "elDiv" igual a nuestro div
  14:      elDiv.style.display='block';//damos un atributo display:block que  el div     
  15:     }
  16:
  17:
  18: window.onload = function(){/*hace que se cargue la función */
  19: /* "Mandamos como parametro el nombre de la Div para ocultar" */
  20: oculta('Pmoral'); /*Ocultamos Pmoral*/
  21: }
  22: </script>
  23:
  24: </head>
  25:
  26: <body>
  27:
  28: <!--Al hacer llamado de la función solo tienes que idicar el nombre del DIV entre parentesis-->
  29: <p>
  30:   <label>
  31:    <input type="radio" name="pers_cte" value="Fisica"  id="per_0" onClick="muestra('Pfisica'); oculta('Pmoral')" checked > <!-- Al cambiar "onClick" el valor del radio llamamos la funcion ocultando los campos de Pfisica y mostrando Pmoral-->
  32:     Fisica</label>
  33:   <br>
  34:   <label>
  35:    <input type="radio" name="pers_cte" value="Moral" id="per_1" onClick="muestra('Pmoral'); oculta('Pfisica')">
  36:     Moral</label>
  37:   <br>
  38: </p>
  39:
  40: <div id="Pfisica">
  41: <p>Este contenido es para persona Fisica</p>  <!--Div para ocultar o mostrar de Persona Fisica -->
  42: </div>
  43:
  44: <div id="Pmoral">
  45: <p>Este contenido es para persona Moral</p>   <!--Div para ocultar o mostrar de Persona moral -->
  46: </div>
  47: </body>
  48: </html>

*El código esta comentado =) para que no se espanten.

Demo[Espera a que cargué por completo la pagina]

Download Código

[Si, si lo se hay mucho código en internet que nos ayuda con esto, pero creo yo que este es muy fácil, sencillo y pequeño]

Inspirado| http://blogandweb.com/javascript/ocultar-o-mostrar-un-div-con-javascript/

Anuncios

Adiós IE6, es por tu bien!

Una convocatoria de noruega nos llega hasta México, obligando a internet Explorer 6 a cerrar su ciclo de vida, pero que va!! si es por su bien, ni siquiera esta tan loca la convocatoria, como cuando decidieron bloquearle la entrada a sitios si detectaba que tenias Internet Explorer y todo para fomentar Firefox.

bye_bye_internet.png

Esto viene a ayudar a internet Explorer por que sus usuarios decidirán actualizar a una versión mas reciente, pero por otro lado XD pueden conocer a otros navegadores al fallar la actualización del mismo.

Si quieres unirte a esta convocatoria simplemente colocas este código en tu web:

   1: 1. <!--[if IE 6]>
   2: 2. <div id="usuarios-ie">
   3: 3. La versión de Internet Explorer que estás utilizando no es recomendada para navegar en Internet.
   4: 4. Te recomendamos que actualices a <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">una versión más reciente</a> o pruebes otros navegadores como <a href="http://www.mozilla.com" title="Firefox web browser">Firefox</a>, <a href="http://www.opera.com/" title="Opera Browser">Opera</a>, <a href="http://www.apple.com/safari/" title="Apple Safari">Safari</a> o <a href="http://www.google.com/chrome" title="Google Chrome">Chrome</a>
   5: 5. </div>
   6: 6. <![endif]—>

 

Y si lo deseas con diseño tipo barra amarilla de internet Explorer:

 

   1: 1. #usuarios-ie {font-family: Verdana, Arial, sans-serif; background: #FFFFDE;color:#000; border-bottom: 2px solid #7F0C00;}
   2: 2. #usuarios-ie p {font-size: 1.3em; margin: 0; padding: 5px 0; line-height: 1.5em;}
   3: 3. #usuarios-ie a {text-decoration: underline; font-weight: bold; color: #D64411;}

 

barraie

 

Vía | maestros del web

Conexiones TCP/IP con PostgreSQL 8.3

Hola, ya hace un rato sin postear nada… pero como recompensa posteare algo útil.

Cuando trabajamos en equipo y deseamos hacer una base de datos “física”, necesitamos compartir el servidor de la Base de datos. Para esto pensamos, que es tan simple como hacer una conexión remota al servidor base (llamemos así al servidor que recibirá las conexiones entrantes) por medio de la IP, desde el cliente (llamemos así al Manejador de base de datos desde el cual nos conectaremos remotamente al servidor base). Pero en la versión 8.3  de PostgreSQL esta opción de conexión remota (TCP/IP) esta desactivada por default.

Ok dicho lo anterior, manos a la obra para configurar nuestro servidor base necesitamos hacer lo siguiente:

1.-Editar nuestro archivo postgresql.conf para aceptar conexiones TCP/IP.

a) Boton inicio –> PostgreSQL 8.3 –> Configuration files –> Edit postgresql.conf

image

b) En el archivo postgresql.conf buscamos la línea:

 # – Connection Settings –

Exactamente el texto :

#listen_addresses = ‘localhost’  

En esta línea borraremos el #(gato) y sustituiremos el texto localhost por *(asterisco), quedando de la siguiente forma:

listen_addresses = ‘*’   

image

Guardamos el archivo y listo. Con estos dos sencillos pasos esta configurado nuestro servidor base para recibir conexiones IP entrantes, pero aun nos falta dar de alta los usuarios que se podrán conectar a ella.

Para dar de alta usuarios de  conexión remota:

a) Boton inicio –> PostgreSQL 8.3 –> Configuration files –> Edit pg_hba.conf

image

b) En el archivo pg_hba.conf

Buscamos la línea

# IPv4 local connections:

y justamente en la línea:

———-

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

———–

Agregaremos un usuario mas, con la IP de la maquina cliente que accederá a nuestro servidor base quedando de la siguiente forma:

———-

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
host    all         all        192.168.1.103/32          md5

———–

El ultimo paso que nos queda es reiniciar el servicio de PostgreSQL en el servidor base para que los cambios sean aceptados y el cliente pueda conectarse.

*Esto lo hacemos desde Panel de control-> Herramientas Administrativas –>  Servicios-> PostgreSQL Database Server 8.3

image

Lo detenemos y lo iniciamos (es como reiniciarlo jajaja).

Ya con eso el cliente podrá conectarse desde su pgAdmin III

*Nota importante: SI tienes un firewall asegúrate de desactivarlo o bien colocar en las excepciones a postgreSQL con su respectivo puerto.

Modelo de Datos Entidad-Relación (E/R)

Por que nunca esta por demás

Hablaremos un poco sobre Base de datos específicamente un modelo relacional.

Antes que nada dejemos en claro algunos conceptos:

Entidad.- Objeto del mundo real sobre el que queremos almacenar información (Ej: una persona). Las entidades están compuestas de atributos que son los datos que definen el objeto (para la entidad persona serían CURP, nombre, apellidos, dirección,…). De entre los atributos habrá uno o un conjunto de ellos que no se repite; a este atributo o conjunto de atributos se le llama clave de la entidad, (para la entidad persona una clave seria CURP). En toda entidad siempre hay al menos una clave que en el peor de los casos estará formada por todos los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir una, lo haremos atendiendo a estas normas:

  • Que sea única.
  • Que se tenga pleno conocimiento de ella.
  • Que sea mínima, ya que será muy utilizada por el gestor de base de datos.  (El CURP de una persona es muy grande y muchas veces no es conveniente usarlo como clave principal, pero para didácticas y de comprensión es aceptado)

Relación.– Asociación entre entidades, sin existencia propia en el mundo real que estamos modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las relaciones pueden ser de tres tipos:

  • Relaciones 1-1.– Las entidades que intervienen en la relación se asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre ellos la relación MATRIMONIO).
  • Relaciones 1-N.– Una ocurrencia de una entidad está asociada con muchas (N) de otra (Ej: la entidad EMPERSA, la entidad TRABAJADOR y entre ellos la relación TRABAJAR-EN).
  • Relaciones N-N.-Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la entidad ASIGNATURA y entre ellos la relación MATRÍCULA). [Muchas veces nos causa conflicto este tipo de relaciones]

 

Representación gráfica de Entidades y Relaciones

Para asimilar fácilmente un diseño de datos cuando se emplea el modelo E/R se utilizan los siguientes elementos gráficos:

La utilización de estos elementos dará como resultado lo que se denomina el esquema entidad-relación de la base de datos. Los ejemplos que se incluyen en el apartado anterior, gráficamente quedarían como sigue:

 

¿Cómo se pasa del esquema E/R a las tablas?

Para cada entidad del esquema se creará una tabla con tantos campos como atributos tenga la entidad. Ejemplo:

Tabla ‘TRABAJADOR’

CURP

Nombre

ApellidoPaterno

ApellidoMaterno

…    

ZAMP680428HMCLRB04

PABLO

ZALDÍVAR.

MARTÍNEZ

ZAQE801022MDFRNL06

ELISA PAULINA

ZARAGOZA

QUINTANA

……

……

……

…….

……

 

*Como ya se menciono anteriormente, el CURP es muy grande por lo que cambiaremos la clave principal para los ejemplos por un identificador denominado DNI [Máximo 8 caracteres]

Las relaciones 1-1 se pueden reflejar incluyendo en una de las dos tablas un campo en el que poder colocar la clave del elemento de la otra tabla con el que se está relacionado. Ese nuevo campo que se incluye en la tabla recibe el nombre de clave ajena. Ejemplo:

Tabla ‘HOMBRE’

DNI

Nombre

…    

11111111

22222222

Tabla ‘MUJER’

DNI

Nombre

…    

DNI-ESPOSO

33333333

11111111

44444444

(nulo)

       Donde el campo DNI-ESPOSO es clave ajena de la tabla HOMBRE. Aquí hay que hacer notar que el campo DNI-ESPOSO puede tomar o bien un valor nulo, en el caso de aquellas mujeres que no estén casadas, o bien el valor de alguno de los DNI de la tabla HOMBRE, en el caso de las mujeres casadas; en este segundo caso, ese DNI (la clave ajena) no se deberá repetir en ningún otro registro de la tabla MUJER.

       Las relaciones 1-N se representan de forma muy parecida a como se ha explicado para las relaciones 1-1. La diferencia está en que ahora no es indiferente donde se coloque la clave ajena, esta debe estar obligatoriamente en la tabla del ‘mucho‘ (n); y además, para este caso si se permitirá que haya valores repetidos en dicho campo. Ejemplo:

Tabla ‘EMPRESA’

CIF

Nombre

…    

XX-1111-AA

YY-2222-BB

Tabla ‘TRABAJADOR’

DNI

Nombre

…    

CIF

11111111

XX-1111-AA

22222222

YY-2222-BB

33333333

YY-2222-BB

44444444

XX-1111-AA

       Para representar las relaciones N-N en tablas lo que se hace es crear una nueva tabla solamente para la relación. Esta nueva tabla tendrá dos claves ajenas y su propia clave estará formada por la unión de las claves ajenas. Ejemplo:

Tabla ‘ALUMNO’

DNI

Nombre

…    

11111111

22222222

Tabla ‘ASIGNATURA’

COD-ASIGNATURA

Nombre

…    

01

02

Tabla ‘MATRÍCULA'(esta es la relación)

DNI

COD_ASIGNATURA

CALIF

11111111

01

7.5

11111111

02

6.25

22222222

01

5.5

22222222

02

8

En la tabla MATRÍCULA es donde se refleja la relación. La clave de dicha tabla está formada por los campos DNI y COD-ASIGNATURA ; y cada uno de ellos es clave ajena, el primero de ALUMNO y el segundo de ASIGNATURA. Hacer ver aquí que la tabla MATRICULAS puede tener más campos además de los que son clave ajena como ocurre en el ejemplo; la tabla añade además un campo CALIF.

*El articulo anterior fue substraído de la fuente(1) señalada, y modificada por darkchicles para una mayor comprensión (según yo)

(1)Fuente: http://basededatos.umh.es/e_r.htm

Curso gratuito de VB.Net (Nivel Básico)

Uno de los compañeros MSP. impartirá un curso virtual de Visual Basic.NET este será vía Live Meeting , para mayor información entren a: http://www.frameworkla.net/curso/ o contacten directamente al instructor en: oscardo@student-partners.com

CursoVBNET

Instalar Internet Explorer 8 RC1 en Windows XP – Sin morir en el intento

Hace ya 2 días que estaba peleando con Internet Explorer 8 ¬¬ sacándome canas verdes, no sabia por que me marcaba error en la instalación si ya había tenido instalado Internet Explorer 8 BETA 2, pues fue tanta mi desesperación que intente instalar el Internet Explorer 7 (para no ocupar el feo e inseguro IE6). Pero cual seria mi sorpresa TAMBIEN EL MALDITO ERROR:

Install_crash

Pues lo primero que decidí hacer es ver el documento de solución de problemas que se crea en el escritorio (Solución de problemas de Internet Explorer)

Hice TODO, TODO!!! lo que me decían y ese error seguía apareciendo ¬¬ por lo que mejor me puse a buscar una solución por mi cuenta.

La solución fue la siguiente:

1.- Ver el Archivo LOG de la instalación (Botón Inicio –> Ejecutar-> Escribimos %windir%ie8.log y presionamos la tecla enter)

2.-Ver las líneas de nuestro LOG donde aparezca la palabra  IECUSTOM: Unwriteable key (En estas líneas aparecerán los registros del sistema que no pudieron ser modificados)

Permisos_registro2

3.- Ir al registro de Windows (Botón Inicio –> Ejecutar –> Escribimos regedit y presionamos la tecla enter)

4.- Buscar las claves del registro (En el editor de registro –> Menú Edición –> Buscar…) que aparecen en nuestro archivo LOG y cambiarles los permisos (Botón secundario->Permisos..)

En mi caso basto con solo asignarle permisos al registro 34A715A0-6587-11D0-924A-0020AFC7AC4D .Permisos_registro

Recomiendo que cada que cambien el permiso a un registro intenten instalar el Internet Explorer =) con suerte y es al primer cambio como me sucedió a mi.

 Permisos_registro_listo

Y con esto al final LOGRAMOS que nuestro Internet Explorer 8 RC1 quede instalado.

😉 Soporte gratuito Microsoft las 24hr’s
¿Que pasa?

Windows 7 es un placer

Leyendo mi e-mail encontré uno que me llamo la atención y este era sobre un articulo de Windows 7, el articulo tenia en muchos sentidos comentarios acertados y con experiencia de usuario, claro el mail era una hoja Scaneada del periódico y en ingles, pero esto de la globalización 😉 y busque un poco en internet, logrando encontrar el articulo (con algunos pequeños cambios en la traducción) pero al fin en nuestro idioma =D.

Aquí lo comparto con todos ustedes

Por Walter S. Mossberg

Windows_7_is_a_pleasure Este será el año de los sistemas operativos. Apple planea lanzar una nueva versión de su sistema operativo para Macintosh que se llamará Snow Leopard. Palm prepara el debut de un sistema operativo para teléfonos inteligentes completamente nuevo llamado Palm WebOS. Pero el lanzamiento que afectará a más usuarios que cualquier otro será el Windows 7, la edición más reciente de la plataforma dominante de Microsoft.

La compañía de software no ha anunciado una fecha oficial para el lanzamiento de Windows 7, pero me sorprendería si no está disponible para los consumidores en el cuarto trimestre de este año.

La empresa acaba de lanzar la versión de prueba, o beta, del software y la he estado probado en dos computadoras portátiles o laptops. La primera es una Lenovo ThinkPad que me prestó Microsoft y la cual ya venía con Windows 7 instalado y la otra es mi propia Sony Vaio, que actualicé de Windows Vista al Windows 7.

No haré una reseña total y detallada de Windows 7 hasta que se lance su versión definitiva, pero acá hago una revisión preliminar de algunas de las principales funciones del nuevo sistema operativo y comparto mis opiniones sobre estas.

Por lo general, el Windows 7 es un placer de usar. Tiene algunas fallas, pero mi veredicto preliminar es positivo.

Incluso en la versión beta, con algunas de las funciones incompletas o imperfectas, Windows 7 es, en mi opinión, mucho mejor que Vista, cuya lentitud, las fastidiosas pantallas e incompatibilidades han llevado a muchos usuarios a evitarlo. Windows 7 También es un competidor serio, tanto en características como en la facilidad de uso, para Leopard, el actual sistema operativo de Apple. Aún no puedo decir cómo se compararía con el nuevo Leopard, que Apple planea lanzar este año, ya que no he tenido la oportunidad de probarlo.

En varios aspectos, Windows 7 no representa un cambio radical respecto a Vista, pero es un buen intento de corregir las principales fallas de su predecesor. Comparte la misma arquitectura subyacente y mantiene algunos toques gráficos como los bordes traslúcidos de las ventanas. Pero también introduce algunas funciones clave de navegación fáciles de usar, además de una serie de pequeñas mejorías en el uso y desempeño del sistema. De hecho, las mejoras son tantas, que no me cabrían en esta columna.

El cambio más notorio en Windows 7, y uno que tiene el potencial de redefinir cómo las personas utilizan sus computadoras, es la navegación con pantalla sensible al tacto. Esta función se ha hecho más popular gracias a los iPhones de Apple y le permite al usuario reposicionar, cambiar de tamaño y pasar de un objeto a otro en una pantalla, como una ventana o fotos, usando las puntas de los dedos. La tecnología es lo suficientemente inteligente como para distinguir entre varios gestos y combinaciones de dedos. Todavía no he podido probar en detalle esta función porque requiere un nuevo tipo de pantalla sensible al tacto que mis computadoras no poseen.

Pero incluso si su PC actual o futura no tiene una pantalla sensible al tacto, Windows 7 ofrece varios otros beneficios. El más importante probablemente sea la velocidad. En mis pruebas, incluso la versión beta del sistema operativo de Microsoft fue drásticamente más rápida que Vista en tareas que van desde iniciar la máquina hasta despertarla o abrir programas.

Y la mayor velocidad no sólo fue aparente en la computadora preconfigurada con Windows 7 que me prestó Microsoft, sino también en mi propia portátil Sony, la cual ha sido muy lenta en el manejo de Vista, incluso después de que traté de aumentar la productividad del software.

Ciertamente, este aumento en la velocidad puede terminar comprometido por los fabricantes de computadoras si agregan demasiados programas innecesarios a las máquinas. Windows 7 también puede funcionar bien en una PC con configuración de hardware más modesta que la requerida por Vista.

La familiar barra de tareas de Windows es más ajustable a las necesidades de cada usuario. Los íconos de los programas aumentaron de tamaño y se pueden insertar en cualquier punto de la barra de tarea para uso frecuente. También hay listas que se despliegan desde los íconos en la barra de tarea y desde el menú de inicio mostrando acciones frecuentemente usadas o recientes.

Windows 7 también reduce la cantidad de fastidiosas pantallas de advertencia. Los avisos de Microsoft se han consolidado en un único ícono a la derecha de la barra de tareas y el usuario ahora puede decidir bajo qué circunstancias Windows le advertirá de algo antes de hacer ciertas tareas.

Mejor compatibilidad

La compatibilidad con el hardware y software, que era un problema en Vista, parece mucho mejor en Windows 7, incluso en la versión beta. Probé una serie de hardware, desde impresoras y cámaras Web, hasta discos duros externos y cámaras, y prácticamente todo funcionó bien.

También instalé exitosamente y utilicé programas populares de rivales de Microsoft, como el navegador Mozilla Firefox, Adobe Reader, el iTunes de Apple y Picasa de Google. Todos funcionaron bien, a pesar de que ninguno fue diseñado para Windows 7.

Sin embargo, hay algunos puntos débiles en el nuevo sistema operativo. Primero, sólo las máquinas con Vista podrán hacer la actualización directa a Windows 7. Los usuarios de Windows XP tendrán que pasar por un proceso más complejo. Microsoft está trabajando en un método para ayudar los usuarios de Windows XP a preservar todos sus datos durante este proceso.

En segundo lugar, Windows 7 elimina algunos de los paquetes de programas familiares de Windows. El Correo de Vista, Calendario, Galería de Fotos, Movie Maker y la Libreta de Direcciones desaparecerán. Para obtener programas básicos similares y gratuitos, el usuario tendrá que bajarlos desde el sitio en línea Windows Live de Microsoft o usar alternativas de otras empresas. Microsoft defiende la medida argumentando que es una forma de apoyar la opción de elección del consumidor y así permitir que logren una mejor coor&hyphen;dinación con sus servicios Web. Pero creo que la decisión de Microsoft reduce un poco la funcionalidad inmediata de Windows.

De todos modos, en su versión preliminar, Windows 7 parece muy promisorio y podría ayudar a limpiar la mala reputación de Vista.

Via |  Rubén Mugártegui Paulín – Gerente de Desarrollo Académico

Fuente en español | http://online.wsj.com/

Nube de etiquetas