Posts

Dicemants game logo

Con este simple programa podemos recorrer recursivamente un directorio y sus subdirectorios. Es mejorable. Lo que si comprueba es que no se mete en el directorio local y tampoco en el ".."

 

crawler('/home/yomismo');

function crawler ($dir,$t=0)
{
    $d = dir($dir);
    //echo "Gestor: " . $d->handle . " ";
    //echo "Ruta: " . $d->path . " ";
    $isdir = 0;


    

Las estructuras en javascript son idénticas a las de C.

Estructuras if-else

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
 <title>Estructuras</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <meta name="author" content="Yo mismo con mi organismo" />
 <meta name="generator" content="edit de MSDOS" />

   <script type="text/javascript">
//<![CDATA[

var a, b;
// pide valores
a = prompt("dame...");
b = prompt("dame...");

// dime cuál es el más alto
if (a>b)
{
        alert("a es mayor: " + a);
}
else if (a<b)
    {
        alert("b es mayor: " + b);
    }
    else
    {
        alert("son iguales");
    }

a = 0;
while (a<10)
{
    alert("Qué rollo ");
    a++;
}

do
{
    b++;
    a--;
} while(a>0);

b = 0;
for (a=0;a<10;a++)
{
    b = b + a;
}


//]]>
</script>
    
</head><body>
<h1>Estructuras</h1>
</body>
</html>

Estructura switch case

El caso del switch-case cambia un poco ya que javascript nor permite hacer comprobaciones sobre una variable tipo String, cosa que C solo permite con enteros y caracteres (char).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
 <title>Switch Case</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <meta name="author" content="Yo mismo con mi organismo" />
 <meta name="generator" content="edit de MSDOS" />

   <script type="text/javascript">
//<![CDATA[

var a, b;
// pide valores
a = prompt("dame...");

a = parseInt(a);
// NaN : Not a Number


switch (a)
{   
    case "Neko" :
    case "Masoud":
                alert("Ala es grande");
                break;
    case "Arándano": saluda(a);
                break;
    default:        alert("Has metido otra cosa");
                break;
}

function saluda (nombre)
{
    alert(nombre + " eres mejor que Salva Ballesta");
}



//]]>
</script>
    
</head><body>
<h1>Switch Case</h1>
</body>
</html>


Javascript es un lenguaje:

  1. Interpretado
  2. Débilmente tipado
  3. Orientado a objetos
  4. Case Sensitive

El lenguaje de programación javascript se utiliza principalmente para dotar de funcionalidades a las páginas web. El código se incluye en el documento xHTML directamente o se enlaza a través de una referencia. A partir de ahí puede hacerse que JS se ejecute directamente o a partir de eventos.

 

Hola Mundo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
 <title>Plantilla xHTML + js</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <meta name="author" content="Yo mismo con mi organismo" />
 <meta name="generator" content="edit de MSDOS" />
 
   <script type="text/javascript">
//<![CDATA[
 
var numero = 42;
var temperatura = 34.5;
var x,y,z;
var nombre = "Mi nombre es \"Legión\"";
var delantero = 'Ibra"""';
var vacio = null;
var verdadero = true;
 
var arreglo = new Array();
 
arreglo[0] = "Hector";
arreglo[1] = "Xabi";
arreglo[2] = "Adrian";
arreglo[3] = "Danilo";
 
var valores = new Array(15,42,69,101,256);
 
x = y = z = 0;
 
superfuncion();
//recorrer(arreglo);
 
function superfuncion ()
{
    alert("Hola mundo: " +  nombre + " y me gusta " + delantero);
     
}
 
function recorrer(ar)
{
    var i = 0;
     
    //for(;;)
    for(i=0;i<ar.length;i++)
    {
        alert(i + ">" + ar[i]);
    }
}
 
var foo = 0;
 
// Tu kung foo es muy bueno.
 
foo = prompt("Dame un valor primo.");
alert("Has metido: " + foo);
 
//]]>
</script>
     
</head><body>
<h1>Plantilla</h1>
</body>
</html>

Operadores 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
 <title>Operadores</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="keywords" content="" />
 <meta name="description" content="" />
 <meta name="author" content="Yo mismo con mi organismo" />
 <meta name="generator" content="edit de MSDOS" />
 
   <script type="text/javascript">
//<![CDATA[
 
var numero = 42;
var temperatura = 34.5;
 
var a,b,c;
 
a = b = c = 0;
 
// operadores aritméticos: + - * / % ++ --
a++;
a++;
 
// ¿Cuánto vale b?
b = ++a;
 
// ¿y cuánto vale c?
c = a++;
 
c--;
--c;
b=--c;
 
c = c + 45;
 
c += 45;
 
// Comparación: < > != == ===
a=4;
if (a == "4")
{
    // concatenamos cadenas con +
    alert("Son iguales: " + a + " y 4");
}
 
if (a === "4")
{
    alert("Noooo");
}
 
a= 0;
 
 
 
 
alert("a: " + a + " b: " + b);
 /*
  operadores
 */
 
//]]>
</script>
     
</head><body>
<h1>Operadores</h1>
</body>
</html>

 


..o como instalar modulos perl comodamente.
Ya se sabe, esta web se usa para anotar las tipicas cosas que siempre se olvidan. Un de ellas es invocar el shell CPAN. Que es eso del CPAN? no, no es el codigo fuente de una barra de pan.

Los punteros
Acaso creiais que en c++ no habia punteros? eso solo ocurre en Java. Los punteros no contienen datos, contienen direcciones de memoria. Para cada tipo de dato hay que definir un puntero.

Al igual que en C++ también podemos sobrecargar operadores en C#. Desde los aritmeticos binarios (+, -, *,..), comparativos, unarios(++), hasta Equals. Este ejemplo no muy útil muestra un poco la forma de sobrecargar operadores, no tiene mucho misterio pero hay que fijarse bien en los parámetros y returns para cada caso. /** * SobrecargaOperadores.cs * Este archivo muestra como sobrecargar operadores * en concreto los binarios simples: +,-,*,/.%, etc.. */

Puede que alguna vez hayas tenido que pasar datos de un fichero en algún formato extraño a una BD u otro tipo de repositorio. En el proceso de exportación/importación de los datos puede haber problemas con los juegos de caracteres ya que en aplicaciones del mundo antiguo (vease DOS etc) en lenguajes tenebrosos (COBOL, Pascal, etc...) vete a saber los juegos de caracteres que se usaban.

4. Acceso a BBDD

Para el acceso a BBDD desde .NET tenemos varias opciones:

  • OleDb: es una opción sencilla para acceder a objetos ole, como por ejemplos ficheros de Access. Si la BBDD es sencilla es una forma fácil de tener una web dinámica.
  • ODBC: es la opción que necesitamos cuando no hay librerías .NET para el gestor de BBDD o cuando queremos hacer que el acceso a la BBDD sea transparente. Es más lento porque al final estamos pasando por un puente intermedio.
  • Sql: es la opción para acceder a BBDD SqlServer. Cualquier web ASP.NET medianamente seria tendría que usar la BBDD "de la casa".

Las instrucciones para acceder son las mismas, lo único que cambia es el prefijo de las clases: OleDb, Odbc y Sql.

Veamos un ejemplo con una página web en la que se muestran los datos de una BBDD access y se permite insertar nuevos registros. IMPORTANTE: para poder ver el reflejo de la inserción nada más hacerlo, la parte de mostrar datos hay que hacerla en el método Page_PreRender, ya que si los ponemos en el Page_Load el insert se hará más tarde (el soporte del evento de hacer clic en un botón se hace después del Load).

 

Ejemplo de consulta parametrizada:

 

¿using System;

Este es un ejemplo de POO y herencia en Visual Basic .NET
Jerarquia:

subscribe via RSS