martes, 28 de febrero de 2017

Crear, escribir y leer archivo de texto (.txt) con PHP

A continuación un script de PHP que crea un fichero de texto y otro que lo lee. Esto es útil cuando necesitamos guardar datos simples de algún formulario y no queremos hacer ni configurar ninguna base de datos MySQL.

1. Script PHP que crea un archivo de texto (*.txt):

$arch = fopen("archivo.txt", "w");              //abre archivo.txt modo w (write)
fwrite($arch, "Texto de ejemplo 1" . PHP_EOL);  //escribe la línea
fwrite($arch, "Otra línea extra" . PHP_EOL);    //escribe una segunda línea
fclose($arch);                                  //cerramos archivo.txt

¡Ojo! El modo fopen("archivo.txt","w") elimina el contenido que tenía anteriormente y lo sustituye por el nuevo. Si lo que queremos es añadir texto nuevo al contenido hay que abrir en modo "a", es decir, fopen("archivo.txt","a"). De esa manera el archivo será un archivo que se abre, se añade contenido nuevo, y se cierra.


2. Script PHP que lee de un archivo de texto.

$arch = fopen("archivo.txt", "r");  //abre archivo.txt
while(!feof($arch)) {               //saca todas las lineas 
echo fgets($arch);        
}
fclose($arch);                      //cierra archivo.txt                           

Evidentemente, podemos hacer un formulario con HTML y registrar los datos en fichero de texto. Recogemos con variables PHP del formulario y después lo introducimos en el fichero de texto.

¡Ánimo, hay que tener un poco de imaginación, que no nos lo van a dar todo cocinado!

Un saludo.

lunes, 30 de enero de 2017

Crear script con Visual Basic para abrir lector de CD

En ocasiones el pequeño botón que sirve para abrir el lector de CD/DVD de nuestro ordenador deja de funcionar, puede ser que para siempre o puede ser que en ciertas sesiones. Como método para aguantar un tiempo mas sin tener que cambiar el lector entero podemos hacer el siguiente script con Visual Basic, e cual guardaremos con extensión de archivo .vbs habiéndolo editado con el Bloc de notas o Notepad++ o cualquier otro editor:
Set oWMP = CreateObject("WMPlayer.OCX.7" ) 
Set colCDROMs = oWMP.cdromCollection 
colCDROMs.Item(i).Eject 

Sin nos ponemos tiquismiquis, guardamos el archivo en una carpeta cualquiera y desde el escritorio creamos un acceso directo, al cual luego en Propiedades > Cambiar icono le ponemos un icono mas apropiado.

Un salud.

jueves, 22 de diciembre de 2016

Hacer ping con HTML y JavaScript

Navegando en internet en encontrado extractos de código HTML y JAVASCRIPT para hacer una aplicación que hace ping (como en la consola de comandos /CMD)  a una IP, un nombre de equipo (Hostname) o a una URL. Lo he modificado para que parezca mas una consola de comandos y le he cambiado algo de código a mi gusto, además de ponerlo en español.

>> MIRA EL EJEMPLO <<

1. Este es el código HTML
<html>
<head>
<script>

 //código javascript

</script>
</head>
<body>
<div id="cuerpo">
<p><br/> Introduce una IP, nombre de equipo o URL.
</p>
<form id="direccion">
  <input type="text" id="ip" value=""/>
  <input type="button" value="Ping" onClick="comprobar()"/>
</form>
<div id="result"></div>
</div>
</body>
</html>

2. Este es el código JAVASCRIPT
function comprobar(){
 if(document.getElementById('ip').value == "" || document.getElementById('ip').value.length == 0){
  alert("Introduce IP/HOSTNAME/URL.");
  document.getElementById('ip').focus;
 }else{ http_ping() }
}
function http_ping() {

var fqdn = document.getElementById('ip').value;
var NB_ITERATIONS = 4; // numero de loops
var MAX_ITERATIONS = 5; // XMLHttpRequest esta limitado según el navegador
var TIME_PERIOD = 1000; // 1000 ms entre cada ping
var i = 0;
var over_flag = 0;
var time_cumul = 0;
var REQUEST_TIMEOUT = 9000;
var TIMEOUT_ERROR = 0;

document.getElementById('result').innerHTML = " Haciendo ping a " + fqdn + " con 32 bytes de datos:";

var ping_loop = setInterval(function() {


        // para evitar URLs inexistentes
        url = "http://" + fqdn + "/a30Fkezt_77" + Math.random().toString(36).substring(7);

        if (i < MAX_ITERATIONS) {

            var ping = new XMLHttpRequest();

            i++;
            ping.seq = i;
            over_flag++;

            ping.date1 = Date.now();

            ping.timeout = REQUEST_TIMEOUT; 

            ping.onreadystatechange = function() { 

                if (ping.readyState == 4 && TIMEOUT_ERROR == 0) {

                    over_flag--;
 
                    if (ping.seq > 1) {
                        delta_time = Date.now() - ping.date1;
                        time_cumul += delta_time;
                        document.getElementById('result').innerHTML += " Respuesta desde " + fqdn + "  bytes=32 secuencia_http=" + (ping.seq-1) + " tiempo=" + delta_time + " ms";
                    }
                }
            }


            ping.ontimeout = function() {
                TIMEOUT_ERROR = 1;
            }

            ping.open("GET", url, true);
            ping.send();

        }

        if ((i > NB_ITERATIONS) && (over_flag < 1)) { 

            clearInterval(ping_loop);
            var avg_time = Math.round(time_cumul / (i - 1));
     
            document.getElementById('result').innerHTML += "  Estadísticas de ping para " + fqdn + ":    Paquetes: enviados = " + (i-1) + ", recibidos = " + (i-1) + ", perdidos = 0 
    Tiempo aproximado de ida y vuelta en milisegundos: " + avg_time + "ms ";
     alert(tiempoTotal);

        }

        if (TIMEOUT_ERROR == 1) { 

            clearInterval(ping_loop);
            document.getElementById('result').innerHTML += "
 Respuesta desde " + fqdn + ": Host de destino inaccesible. 
";
            return;

        }

    }, TIME_PERIOD);
}

Un saludo.

lunes, 12 de diciembre de 2016

Deshabilitar click derecho del ratón en tu web

Simplemente para deshabilitar el click derecho o botón derecho del ratón en tu página web (aunque no es recomendable puesto que puede molestar al visitante) solo hay que poner este código de javascript en un script:
<script>
document.addEventListener('contextmenu', event => event.preventDefault());
</script>
Espero que os sirva. Un saludo.

jueves, 17 de noviembre de 2016

Cambiar nombre del equipo (hostname) en Ubuntu, Linux Mint, Opensuse, Fedora...

A continuación os dejo una entrada para cambiar sencillamente el nombre del equipo o hostname en distribuciones Linux.

Para Ubuntu (+derivados) y Linux Mint:

1. Abrir Terminal en menú o presionar Ctrl+Alt+T.

2. Escribir:
sudo pico /etc/hosts
(si pide contraseña sudo escribir y presionar enter).

3. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

4. Hay que sustituir donde pone linux o tu nombre de equipo por el nombre que quieras.

5. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

6. Escribir:
sudo pico /etc/hostname
(presionar enter).

7. Aparecerá una pantalla como la siguiente:

Donde pone linux realmente pone el nombre actual de tu equipo

8. Hay que sustituir donde pone linux o tu nombre de quipo por el nombre que has puesto antes en el archivos hosts (el nuevo nombre).

9. Presionar Ctrl+O para guardar, enter, y Ctrl+X para salir.

10. Finalmente hay que hacer un reinicio:
sudo reboot



Para cambiar el nombre de equipo de otras distribuciones os dejo varios enlaces que personalmente he verificado:

1. OpenSUSE: http://ubunlog.com/cambiando-el-nombre-del-equipo-en-opensuse/
2. Fedora: http://geekland.eu/que-es-para-que-sirve-nombre-del-equipo/
3. RedHat: http://k4ch0.org/cambiar-hostname-en-red-hat/
4. CentOS: http://www.cadilinea.com/blog/centos-2/cambiar-nombre-del-host-sin-reiniciar-en-centos-6-4/

Generalmente en casi todas las distribuciones es parecidos.
Un saludo.

lunes, 7 de noviembre de 2016

Poner Ofris en Español y en Euskera

Poner Ofris (congelador para Linux) en español o euskera es bien sencillo. Para ello tenemos que tener previamente instalado Ofris en nuestro sistema, si no lo tienes instalado abre la terminal y ejecuta esto:

sudo if [ $(uname -m) == "x86_64" ]; then deb="http://goo.gl/DleLl"; else deb="http://goo.gl/V94Qs"; fi && wget -q $deb -O ofris.deb && sudo dpkg -i ofris.deb && rm ofris.deb




Una vez tenemos instalado Ofris, podemos ponerlo en español o en euskera ya que me he tomado la libertad de traducirlo.

1. Poner Ofris en Español:


Abrimos la terminal y escribimos:
cd /usr/bin
sudo pico ofris-en

*sustituimos todo el texto por el que voy a poner mas abajo (español)
*Ctrl+O para guardar, presionar enter y Ctrl+X para salir
sudo mv /usr/bin/ofris-en /usr/bin/ofris-es


Ya tenemos Ofris en Español, y para ejecutarlo a partir de ahora será:
sudo ofris-es


2. Poner Ofris en Euskera:


Abrimos la terminal y escribimos:
cd /usr/bin
sudo pico ofris-en

*sustituimos todo el texto por el que voy a poner mas abajo (euskera)
*Ctrl+O para guardar, presionar enter y Ctrl+X para salir
sudo mv /usr/bin/ofris-en /usr/bin/ofris-eu


Ya tenemos Ofris en Euskera, y para ejecutarlo a partir de ahora será:
sudo ofris-eu



*Texto en Español para sustituir en el archivo ofris-en:

 
#!/bin/bash

# =============================================
#  Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version         : 1.9.05-eu
# Created by      : Dafturn Group Software
#                   The Mad Transition
# Author          : Muhammad Faruq Nuruddinsyah
# E-Mail          : faruq_dafturn@yahoo.co.id
# Date Creating   : October, 12th 2008
# Translator      : Eneko Bernaldo de Quirós Royo
# Date Translating: Novembre, 7th 2016
# =============================================
# An Open Source from Indonesia
# =============================================


#----- Starting ----
echo
echo "==================================================="
echo "    Dafturn Ofris Erdana - Locking your Systems"
echo "         By : Muhammad Faruq Nuruddinsyah"
echo "     Translated by: Eneko Bernaldo de Quirós Royo"
echo "          Lenguage: Spanish (Español)"
echo "==================================================="
echo
echo "Elija una opción :"
echo "  1. Congelar el sistema para este usuario"
echo "  2. Congela el sistema para un usuario específico"
echo "  3. Congelar el sistema para todos los usuarios"
echo "  4. Descongelar el sistema"
echo "  5. Ver estado"
echo "  6. Salir"
echo
#-------------------

#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------

#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Presiona el número de la opción por favor : "
read ofris_opt

if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Disculpa, tu opción no es correcta. Intentalo de nuevo por favor..."
echo
is_opt=false
fi

done
#------------------------------------------------

#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi

grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp

if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Freeze the System ====="
echo
echo "Espera por favor..."
echo

if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Introduce el nombre del usuario a congelar : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Disculpa, el nombre de usuario es erróneo. Intentalo de nuevo por favor..."
echo
fi
done
fi

if [ $ofris_rst = 1 ]; then
echo "Error : El sistema ha sido bloqueado, elige la cuarta opción para descongelar el sistema..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "sudo rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
sudo rm /etc/rc.local
sudo cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi

if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
else
sudo mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
sudo mkdir /etc/.ofris/$ofris_user
fi
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
sudo chmod +x /etc/rc.local
fi

if [ $is_success = true ]; then
echo "El sistema se ha congelado correctamente, reinicia el sistema por favor..."
echo
fi

elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Descongelar sistema  ====="
echo
echo "Espera por favor..."
grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
sudo rm /etc/rc.local
sudo cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
echo
echo "El sistema se ha descongelado correctamente..."
echo

elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Estado ====="
echo " El sistema está congelado..."
echo
else
echo
echo "===== Estado ====="
echo " El sistema está descongelado..."
echo
fi
fi

#----- Ending session -----
echo -n "[Presiona cualquier tecla para salir...] "
read -s -n 1
echo
echo

#========== Selesai ===================================================================


*Texto en Euskera para sustituir en el archivo ofris-en:

#!/bin/bash

# =============================================
#  Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version         : 1.9.05-eu
# Created by      : Dafturn Group Software
#                   The Mad Transition
# Author          : Muhammad Faruq Nuruddinsyah
# E-Mail          : faruq_dafturn@yahoo.co.id
# Date Creating   : October, 12th 2008
# Translator      : Eneko Bernaldo de Quirós Royo
# Date Translating: Novembre, 7th 2016
# =============================================
# An Open Source from Indonesia
# =============================================


#----- Starting ----
echo
echo "==================================================="
echo "    Dafturn Ofris Erdana - Locking your Systems"
echo "         By : Muhammad Faruq Nuruddinsyah"
echo "     Translated by: Eneko Bernaldo de Quirós Royo"
echo "          Lenguage: Basque (Basque Country)"
echo "==================================================="
echo
echo "Zure aukera :"
echo "  1. Erabiltzaile honentzako sistema izoztu"
echo "  2. Beste erabiltzaile batentzako sistema izoztu"
echo "  3. Erabiltzale guztientzako sistema izoztu"
echo "  4. Desizoztu sistema"
echo "  5. Egoera ikusi"
echo "  6. Atera"
echo
#-------------------

#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------

#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Sakatu nahi duzun aukeraren zenbakia mesedez : "
read ofris_opt

if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Barkatu, zure aukera ez da zuzena. Sahiatu berriro mesedez..."
echo
is_opt=false
fi

done
#------------------------------------------------

#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi

grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp

if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Freeze the System ====="
echo
echo "Itxaron mesedez..."
echo

if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Sartu izoztu nahi duzun erabiltzailearen izena mesedez : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Barkatu, erabiltzailearen izan gaizki dago. Sahiatu berriro mesedez..."
echo
fi
done
fi

if [ $ofris_rst = 1 ]; then
echo "Akatsa : Sistema blokeatuta izan da, sakatu laugarren aukera sistema desizozteko mesedez..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "sudo rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
sudo rm /etc/rc.local
sudo cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi

if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
else
sudo mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
sudo mkdir /etc/.ofris/$ofris_user
fi
sudo rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
sudo chmod +x /etc/rc.local
fi

if [ $is_success = true ]; then
echo "Sistema ondo izoztu da, berrabiarazi sistema mesedez..."
echo
fi

elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Sistema desizoztu  ====="
echo
echo "Itxaron mesedez..."
grep -v "sudo rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
sudo rm /etc/rc.local
sudo cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
sudo rm -r /etc/.ofris
fi
echo
echo "Sistema ondo desizoztu da..."
echo

elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Egoera ====="
echo " Sistema blokeatu da..."
echo
else
echo
echo "===== Egoera ====="
echo " Sistema ez da blokeatu oraindik..."
echo
fi
fi

#----- Ending session -----
echo -n "[Sakatu edozein tekla ateratzeko...] "
read -s -n 1
echo
echo

#========== Selesai ===================================================================

miércoles, 4 de junio de 2014

Bucle JavaScript - Hacer grande y pequeño un Div de HTML

Siguiendo en la línea de manipulación del estilo CSS con JavaScript he hecho un sencillo script que os explico a continuación.

Creo un elemento con un alto y un ancho de 50px, cuyo fondo es de color rojo. Con el script lo que consigo es que se vaya agrandando hasta conseguir un ancho y un alto de 500px. Cuando llega a ese tamaño su fondo cambia a color azul y vuelve a su posición original haciendose pequeño. No para en ningún momento.
Podéis ver el script en marcha en:


Aquí os dejo el código:
<html>
 <head>
  <title>Agrandar Div</title>
  <script type="text/javascript">
  
   var ancho = 50;
   var alto = 50;
   
   function darEstilo(){
    document.getElementById('divUno').style.width = "50px";
    document.getElementById('divUno').style.height = "50px";
    document.getElementById('divUno').style.backgroundColor = "red";
    agrandarDiv();
   }
   
   function agrandarDiv(){
    ancho = ancho + 1;
    alto = alto + 1;
    elAncho = ancho.toString()+"px";
    elAlto = alto.toString()+"px";
    document.getElementById('divUno').style.width = elAncho;
    document.getElementById('divUno').style.height = elAlto;
    
    if(ancho < 500){
     setTimeout(agrandarDiv,1);
    }
    else{
     document.getElementById('divUno').style.backgroundColor = "blue";
     hacerPequeno();
    }
   }
   
   function hacerPequeno(){
    ancho = ancho - 1;
    alto = alto - 1;
    elAncho = ancho.toString()+"px";
    elAlto = alto.toString()+"px";
    document.getElementById('divUno').style.width = elAncho;
    document.getElementById('divUno').style.height = elAlto;
    
    if(ancho > 50){
     setTimeout(hacerPequeno,1);
    }
    else{
     document.getElementById('divUno').style.backgroundColor = "red";
     agrandarDiv();
    }
   }
  </script>
 </head>
 <body onLoad="darEstilo()">
  
</body> </html>

Un saludo.

Variables y Arrays en JavaScript. Como convertir variables de cadenas en números y viceversa

Declaración de variables y arrays en JavaScript:

// Declaraciones de variables 

var numero = 1; /* Declaramos una variable global numérica
                   que se podra usar en cualquier ámbito,
                   es decir, se puede utilizar en 
                   cualquier función JavaScript que tengamos */
       
function x(){   // Declaramos una variable de ámbito. Es decir
   numero2 = 2; // esta variable solo podra ser utilizada
}               // en esta función.

function y(){
   numero = numero + 1; // Por ejemplo en esta función hemos 
}                       // utilizado la variable global que 
                        // hemos declarado al principio, pero
                        // no podemos utilizar la variable 
                        // numero2 que hemos creado en la 
                        //función anterior

// Tipos de variables

var numero = 1;      // Hemos declarado una variable númerica

var numero2 = "1";   // Hemos declarado una variable de caracteres

numero = numero + 1; // Si numero = 1, entonces numero + 1 = 2.
                     // Ahora la variable numero contiene 2.
       
numero2 = numero2 + 1; // Hemos intentado sumar una variable de 
                       // caracteres con un número. Dara error
                       // y JavaScript dejará de funcionar.

numero2 = numero2 + "1"; // A la cadena que había en la variable
                         // numero2 (en este caso 1) le concatena
                         // otro 1, por lo tanto ahora numero2
                         // tendra la cadena 11.

// Declaración y tipos de Arrays
// Un Array se puede definir como un tipo de variable que puede
// contener infinitos valores, bien sean de caracteres o 
// de tipo numérico.

var arrayNumerico = [1,2,3,4,5]; // En los Arrays, la primera
                                 // posición es la posición 0.
                                 // Así pues la posición 0 
                                 // contendrá el valor 1 en 
                                 // este caso.

var arrayCaracteres = ["Hola","Adios","Tio","Padre","Hijo"];
                                 // Hemos creado un Array
                                 // de cadenas/caracteres.

// Acceder al valor del Array

arrayNumerico[0]; // Accedemos a la posición 0, que en
                  // este caso tiene el valor 1.

var suma = arrayNumerico[0] + arrayNumerico[3]; 
                  // La variable suma tendrá el valor de la suma 
                  // de las posiciones 0 y 3 del Array. Por lo 
                  // tanto, 1 + 4 = 5, suma contiene 5.

var saludo = arrayCaracteres[0] + arrayCaracteres[3];
      // La variable saludo tendrá el valor de la
      // la suma de las posiciones 0 y 3 del Array
      // de caracteres. Por lo tanto, "Hola" + "Padre"
      // = "HolaPadre", saludo contiene "HolaPadre".

      
// Convertir númericos a caracteres y viceversa

var numero = 1;             // Asignamos un número a la variable
numero = numero.toString(); // Convertimos la variable en cadena

var cadena = "12345";       // Asignamos una cadena a la variable
cadena = parseInt(parseFloat(cadena));  // Convertimos la variable 
                                        // en una número.

    // Evidentemente las letras y símbolos no se pueden
    // convertir en números. Solo las cadenas que estén
    // formadas por números.
Un saludo.

Modificar estilo CSS con JavaScript

Como bien sabemos el lenguaje para darle estilo al HTML se llama CSS. También debemos saber que una vez que hemos diseñado una página web con HTML+CSS y tiene una hoja de estilo fija de CSS, ese código se puede cambiar a nuestro antojo con scripts de JavaScript, sin tener que hacer una nueva hoja de estilo de CSS.

Así pues este código HTML+CSS:
<html>
 <head>
  <title>JavaScript y CSS</title>
  <style type="text/css">
      #divUno { 
        width: 200px; 
        height: 200px;
        background-color: #ff0000;
      }
  </style>
 </head>
 <body>
  
</body> </html>

Y estre otro código HTML+JavaScript:
<html>
 <head>
  <title>JavaScript y CSS</title>
  
 </head>
 <body>
  
</body> </html>

Obtendran el mismo resultado: un cuadrado rojo de 200x200 con fondo rojo.


Con JavaScript se puede acceder a todas las propiedades CSS de un objeto.
Un saludo.

Reproductor de audio JavaScript con varias canciones

En este caso vamos a crear un reproductor de audio con HTML, CSS y JavaScript. En mi caso he elegido tres canciones que tengo subidas al dropbox en la carpeta Public.

Veamos el código HTML:
<body onLoad="pasarCancion()">
 


  1. Avast! Free Antivirus
  2. Gaseosa la Cruz de Gorbea
  3. Aliens VS Predator
</body>

Veamos el código JavaScript:
//

Podéis descargar el código entero desde: www.eneko-bernaldo.site90.net/scripts/canciones.rar
Un saludo.

sábado, 31 de mayo de 2014

Galería de fotos sencilla con HTML, CSS y JavaScript

En este caso vamos a hacer una simple galería de fotos para nuestra página web. Es muy fácil de hacer y muy sencilla de entender. El código está generado por mí al 100% sin haber copiado de ningún lado. Podéis copiar el código si queréis directamente pero es mejor que lo entendáis y lo modifiquéis a vuestro antojo. Se trata de una galería fotográfica con tres fotos. Una siempre se muestra en grande, cada tres segundos pasa a la siguiente foto, pero si hacemos click en una de las fotos pequeñas sale en grande la que hemos elegido.

Veamos el código HTML que debe ir en head:


Veamos el código CSS que debe ir en head:
#galeria{ border: 4px solid #424242; width: 600px; height: 510px; background-color: #D8D8D8;}
#grande{ border: 2px solid #6E6E6E; width: 556px; height: 346px; margin-left: 20px; margin-top: 20px;}
.pequenas{ border: 2px solid #6E6E6E; width: 170px; height: 108px; float: left; margin-top: 10px; margin-left: 19px;}
Veamos el código JavaScript que debe ir en head:
var fotos = ["foto1.jpg","foto2.jpg","foto3.jpg"];
var fotosP = ["fotop1.jpg","fotop2.jpg","fotop3.jpg"];
var fotosURL = ["url(file:///C:/Users/Eneko/Desktop/Cursillo_Javascript/Fotos/foto1.jpg)","url(file:///C:/Users/Eneko/Desktop/Cursillo_Javascript/Fotos/foto2.jpg)","url(file:///C:/Users/Eneko/Desktop/Cursillo_Javascript/Fotos/foto3.jpg)"];

function cargarFotos(){
 document.getElementById('grande').style.backgroundImage = "url(foto1.jpg)";
 for(fo=1;fo<=3;fo++){
  fo = parseInt(fo);
  document.getElementById('pequena'+fo).style.backgroundImage = "url("+fotosP[fo-1]+")";
 }
}
  
function rularFotos(){
 queFoto = document.getElementById('grande').style.backgroundImage;
 //alert(fotosURL[0]);
   
 if(queFoto == fotosURL[0]){
  document.getElementById('grande').style.backgroundImage = fotosURL[1];
 }else{
  if(queFoto == fotosURL[1]){
   document.getElementById('grande').style.backgroundImage = fotosURL[2];
     }else{
   document.getElementById('grande').style.backgroundImage = fotosURL[0];
  }
 }
 setTimeout(rularFotos,3000);
}
  
function cambiarFoto(num){
 document.getElementById('grande').style.backgroundImage = fotosURL[num]; 
}
En el body deberemos poner onLoad="cargarFotos();rularFotos()" para que se ejecuten las funciones.
Veamos el código HTML que debe ir en body:
Los nombres de carpetas, las rutas etc. hay que poner las de vuestro ordenador, evidentement los nombres de las fotos etc. también hay que cambiarlos. Os dejo un enlace del script completo con fotos incluidas.
http://www.eneko-bernaldo.site90.net/scripts/galeria.rar
Un saludo.

jueves, 29 de mayo de 2014

Hacer un virus de broma con JavaScript

Este es el código para hacer una pequeña broma a un amigo o familiar. Mediante JavaScript simulamos que el ordenador ha sido infectado por un troyano.

El código es el siguiente:
Dentro del head ponemos:


Dentro del body ponemos:
Ejemplo:

Si ya queréis trabajarlo mas y asustar de verdad podéis hacer algo parecido a esto:

http://pelicula300.net63.net/videos_humor/video_humor.html

Simplemente le he metido un sonido de Avast y además le he hecho un script que simula la eliminación de archivos del sistema.

Os pongo las imágenes del código que yo he hecho para que os hagáis a la idea y lo modifiquéis a vuestro gusto:





Un saludo.

lunes, 26 de mayo de 2014

Código HTML + JavaScript para usar la Webcam

He encontrado un script muy interesante para poder usar la Webcam mediante HTML y JavaScript.
El código es el siguiente:

En el head ponemos:
    
    Prueba de cámara Web
    
    
    

En el script de Javascript ponemos:
//Nos aseguramos que estén definidas
//algunas funciones básicas
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || function(){alert('Su navegador no soporta navigator.getUserMedia().');};
 
jQuery(document).ready(function(){
    //Este objeto guardará algunos datos sobre la cámara
    window.datosVideo = {
        'StreamVideo': null,
        'url' : null
    };
     
    jQuery('#botonIniciar').on('click', function(e){
        //Pedimos al navegador que nos de acceso a 
        //algún dispositivo de video (la webcam)
        navigator.getUserMedia({'audio':false, 'video':true}, function(streamVideo){
            datosVideo.StreamVideo = streamVideo;
            datosVideo.url = window.URL.createObjectURL(streamVideo);
            jQuery('#camara').attr('src', datosVideo.url);
        }, function(){
            alert('No fue posible obtener acceso a la cámara.');
        });
 
    });
 
    jQuery('#botonDetener').on('click', function(e){
        if(datosVideo.StreamVideo){
            datosVideo.StreamVideo.stop();
            window.URL.revokeObjectURL(datosVideo.url);
        };
    });
 
 jQuery('#botonFoto').on('click', function(e){
    var oCamara, 
        oFoto,
        oContexto,
        w, h;
         
    oCamara = jQuery('#camara');
    oFoto = jQuery('#foto');
    w = oCamara.width();
    h = oCamara.height();
    oFoto.attr({'width': w, 'height': h});
    oContexto = oFoto[0].getContext('2d');
    oContexto.drawImage(oCamara[0], 0, 0, w, h);
 
});
});

En el body ponemos:
    
Cámara
Foto

He encontrado el código en esta página web: http://variabletecnica.com/2012/09/30/acceso-a-la-camara-con-html5/ Ahí explican mejor todo.
Un saludo.

sábado, 9 de noviembre de 2013

Hacer una encuesta y enviarla a tu email para registrar las respuestas con PHP y HTML

Imaginemos que queremos hacer una encuesta a unos colegas para hacer una votación o para organizar una cena y queremos regitrar las respuesta. Las respuestas nos llegarán al email, asi luego podremos demostrar que no nos hemos inventado las respuestas. Para ello tenemos que crear dos archivos:
1- Formulario con HTML y JavaScript: (encuesta.php)

El HTML será el siguiente:
  

Encuesta bla bla bla

Para saber lo que opinas debes rellenar los siguientes datos. No te llevará mas de 2 minutos. Gracias!






NOTA: esta encuesta será enviada mediante correo electrónico.

El CSS de ese mismo archivo será el siguiente:
body { background-color: #F2F2F2;}
#table3 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table2 { width: 200px; background-color: #F2F2F2;}
#table1 { margin-top: 20px; font-family: arial, times new roman, lucida console; width: 505px; background-color: #F2F2F2;}
#table0 { margin-top: 50px; background-color: #F2F2F2;}
input {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
select {width: 100%; height: 35px; margin-top: 20px; font-size: 14px;}
p { font-family: arial, times new roman, lucida console; font-size: 18px; font-weight: bold;}
#p { font-family: arial, times new roman, lucida console; font-size: 14px; font-style: italic; color: #FF0000;}
.gris { color: #585858;}
El JAVASCRIPT de ese mismo archivo será el siguiente:
function resetear(){if(document.formu.nombre.value.length == 0 ||  document.formu.nombre.value == ""){document.formu.nombre.style.color = "#585858"; document.formu.nombre.value = "Nombre";}}
function borrar(){document.formu.nombre.style.color = "#000000"; document.formu.nombre.value = "";}
function resetear2(){if(document.formu.apellidos.value.length == 0 ||  document.formu.apellidos.value == ""){document.formu.apellidos.style.color = "#585858"; document.formu.apellidos.value = "Apellidos";}}
function borrar2(){document.formu.apellidos.style.color = "#000000";document.formu.apellidos.value = "";}
function validarFormulario(){
 if(document.formu.nombre.value.length == 0 || document.formu.nombre.value == "Nombre"){alert("Introduce tu nombre."); return 0;}
 if(document.formu.apellidos.value.length == 0 || document.formu.apellidos.value == "Apellidos"){alert("Introduce tus apellidos."); return 0;}
 if(document.formu.anyo.value == 0){alert("Introduce un año."); return 0;}
 if(document.formu.sexo.value == 0){alert("Introduce el sexo."); return 0;}
 if(document.formu.comidaocena.value == 0){alert("Introduce comida o cena."); return 0;}
 if(document.formu.precio.value == 0){alert("Introduce precio que deseas."); return 0;}
 document.formu.submit();
}
2- PHP para registrar y mandar a email: (registrarEncuesta.php)

<?php
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$anyo = $_POST['anyo'];
$sexo = $_POST['sexo'];
$comidaocena = $_POST['comidaocena'];
$precio = $_POST['precio'];
 
switch($anyo){
 case 1: $anyo = 1990; break;
 case 2: $anyo = 1989; break;
 case 3: $anyo = 1988; 
}
 
switch($sexo){
 case 1: $sexo = "Hombre"; break;
 case 2: $sexo = "Mujer"; break;
 case 3: $sexo = "Por las noches cambio";
}
 
switch($comidaocena){
 case 1: $comidaocena = "Comida"; break;
 case 2: $comidaocena = "Cena";
}
 
switch($precio){
 case 1: $precio = "5-10 Euros"; break;
 case 2: $precio = "10-15 Euros"; break;
 case 3: $precio = "15-20 Euros"; break;
 case 4: $precio = "20-25 Euros";
}
 
 //echo $nombre." ".$apellidos." ".$anyo." ".$sexo." ".$comidaocena." ".$precio;
 
$email = "tu_email@dominio.com";
 
$mensaje = "

Una persona ha rellenado Encuesta.

Nombre: ".$nombre.".
Apellidos: ".$apellidos.".
Año: ".$anyo.".
Sexo: ".$sexo.".
Prefiere: ".$comidaocena.".
Precio deseado: ".$precio.".

Recuerda añadirlo a la base de datos de la encuesta.

"; $cabeceras = "From: ".$nombre." ".$apellidos."@encuesta.com\r\nContent-type: text/html\r\n"; mail($email,"Encuesta bla bla bla.",$mensaje,$cabeceras); header('Location: http://www.google.com'); //redireccionamos a google ?>
Los dos archivos tienen que estar en la misma carpeta. Espero que lo podais utilizar alguna vez.

Un saludo

martes, 29 de octubre de 2013

Nuevo blog sobre informática básica

He abierto un segundo blog sobre informática pero esta vez sobre informática en general. Se habla de software, resolución de incidencias, antivirus, Linux, cifrado, programas útiles, redes, Windows, scripts de ayuda, trucos, peligros, webs y mucho mas... Hay entradas muy interesantes que os pueden ayudar. No dejeis de visitar mi otro blog:

http://enekoysuinformatica.blogspot.com

Un saludo

miércoles, 23 de octubre de 2013

Sacar información de un fichero .csv con PowerShell

Tenemos un fichero csv llamado ficheroCSV.csv con la siguiente información:
Imaginemos que queremos sacar por ejemplo el email de cada uno:
$lineas = Import-Csv C:\Users\Administrador\Desktop\ficheroCSV.csv
foreach ($registro in $lineas) {
 Write-Output "El email es: " $registro.email
}

# fin del programa

Ahora tenemos un fichero csv llamado ficheroCSV2.csv con la siguiente información:
Imaginemos que queremos toda la información de cada registro y además el email repetido:
$contenidos = Get-Content C:\Users\Administrador\Desktop\ficheroCSV2.csv
Write-Output "Total líneas: " $contenidos.Length

foreach ($linea in $contenidos) {
 Write-Output $linea
 $registro = $linea.Split(",")
 Write-Output "El email es: " $registro[2]
}

# fin del programa

Espero que os haya gustado.
Un saludo

lunes, 21 de octubre de 2013

Información de control de acceso con PowerShell

Acceder a la información sobre el control de acceso de un recurso compartido con PowerShell. Luego cambiaremos el control de acceso sobre ese mismo elemento usando Set-Acl.

1- Obtener la información
$contenido = Get-Acl C:\compartidas | Format-List *
$contenido > C:\Users\Administrador\Desktop\infoControlDeAcceso.txt

# fin del programa

2- Cambiar el control de acceso
$acl1 = Get-Acl C:\compartidas
$permisos = New-Object System.Security.AccessControl.FileSystemAccessRule "nombre_usuario","FullControl","Allow"
$acl1.SetAccessRule($permisos)
$acl1 | Set-Acl C:\compartidas

# fin del programa

Espero que os sirva de ayuda.
Un saludo.

viernes, 18 de octubre de 2013

Hacer una calculadora básica con PowerShell

Vamos a hacer una calculadora muy básica con PowerShell la cual solo tendra cuatro posibles operaciones: suma, resta, multiplicación y división. Para ello usaremos una función llamada "operar" a la que se pasaremos dos números y una operación.
# calculadoraBasica.ps1

function operar($valor1,$valor2,$op){
 switch ($op){
   1 { $result = $valor1 + $valor2 }
   2 { $result = $valor1 - $valor2 }
   3 { $result = $valor1 * $valor2 }
   4 { $result = $valor1 / $valor2 }
 }
 return $result
}

do{
 cls
 Write-Output "1. Sumar " 
 Write-Output "2. Restar" 
 Write-Output "3. Multiplicar" 
 Write-Output "4. Dividir"
 $opcion = Read-Host "¿Que desea hacer? "
 } while (($opcion -lt 1) -or ($opcion -gt 4))

 $num1 = Read-Host "Introduce un número: "
 $num2 = Read-Host "Introduce otro número: "

 $res = operar $num1 $num2 $opcion
 Write-Output "El resultado es: $res"

# fin del programa

Espero que os haya gustado.
Un saludo.

jueves, 17 de octubre de 2013

Ejercicios con funciones de PowerShell

1- Comprobar un DNI con PowerShell
function dniValido([string]$dni){
 if($dni -match "^[0-9]{8}[a-zA-Z]{1}$"){
  return $true
 }
 else{
  return $false
 }
}

$dni = Read-Host "Mete un DNI: "
if (dniValido $dni){
 Write-Output "Es válido."
}

2- Comprobar si es numero o no con PowerShell
function isNumeric ([string]$value){
 if($value -match "^(\-)?\d+(\.\d+)?$"){
  return $true
 }
 else{
  return $false
 }
}

$number = Read-Host "Mete un número: "
if (isNumeric $number){
 Write-Output "Es un número."
}

Espero que os haya gustado.
Un saludo.

Hacer funciones en PowerShell

En esta entrada vamos a ver como se hace funciones en PowerShell. Esta vez os voy a mostrar cuatro maneras diferentes de hacer funciones y como llamarlas.
1- Función simple
function mulNumbers{
 $num1 = 5
 $num2 = 10
 $res = $num1 * $num2
 Write-Output $res
}

#para llamar a la función
mulNumbers

2- Función simple con return
function mulNumbers0{
 $num1 = 5
 $num2 = 10
 return $num1 * $num2
}

#para llamar a la función
$resFunc = mulNumbers0
Write-Output $resFunc

3- Función con parámetros
function mulNumbers1($valor1,$valor2){
 $resultado = $valor1 * $valor2
 Write-Output $resultado
}

#para llamar a la función
mulNumbers1 5 10     # también se puede mulNumbers1 5,10
                     # también se puede mulNumbers1 -valor1 5 -valor2 10

4- Función con argumentos
function mulNumbers2{
 $resul = $args['0'] * $args['1']
 Write-Output $resul
}

#para llamar a la función
mulNumbers2 5 10     # también se puede mulNumbers2 5,10
Todas las funciones sacan el mismo resultado: 50
Espero que os haya servido de ayuda.
Un saludo.