PROYECTOS y CÓDIGO FUENTE DESCARGABLES GRATUITAMENTE

Encuentre Proyectos con su código fuente descargable, el código fueente es reutilizable para tus proyectos, estamos seguros de que te va a servir de ayuda.

Ayudese con sus Proyectos con los Ejemplos de Código Fuente.

No te estamos pidiendo que copies y lleves tu proyecto igual al que esta posteado aquí, pero si puedes modificarlo y agregarle funcionalidades extras que lo hagan el mejor. Derechos de Autor.

Código Completo de Proyectos y Tareas de Programación a un Solo Clic para Ayudarte en tu Sistema.

Añadimos todo Tipo de Proyectos y Ayudas de Código Fuente de Cualquier Lenguaje para ayudarte en tu Sistema, todos estos trabajos te pueden ayudar, orientar y sacarte de dudas de código.

Descargue Proyectos de Programación que usan Sockets para Comunicarse entre Clientes

Aprenda a Utilizar Sockets y conectar Clientes, guíate con Proyectos de facil comprensión, descarga el código fuente de un Proyecto y Sácate de Dudas.

Muchos Proyectos en Diferentes Lenguajes de Programación

Cada vez Añadimos más proyectos a esta WEB para que descargues el Código Fuente y puedas tener una ayuda para terminar tu Proyecto, las soluciones que descargas funcionan correctamente y están calificadas por Profesores de Sistemas de Información.

Programadortico.com

domingo, 28 de julio de 2013

4 EN RAYA ( MOGO-KU )

Juego 4 en LINEA ( MOGO-KU )
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto esta hecho en JAVA con ayuda de TEXPAD, es una versión del 4 EN RAYA llamada "MOGO-KU", aun así tiene un funcionamiento no muy diferente al Original 4 en RAYA. 
Cómo se  Compone el Sistema en JAVA en Consola:
  • Por lógica posee una Matriz de 6 x 6. 
  • Se juega uno contra uno, y no trae para jugar uno contra PC.
AUTOR: ANÓNIMO
Cómo Funciona ?
El Jugador 1 Digita la Fila y la Columna a poner la Ficha, igualmente el Jugador 2 hace lo mismo, cualquiera que haga 4 posiciones seguidas ya sea Horizontal, Vertical ó Cruzada GANA. 
Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:  

martes, 23 de julio de 2013

Proyecto Pedir, Devolver Libros a una Biblioteca JAVA-C++ comunicados por JNI

Manejo Facil  de JNI con JAVA y C++
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto esta hecho en Microsoft Visual Studio 2010 C++ y TEXPAD , lo que demuestra es la manera mas facil de comunicar un Programa Hecho en JAVA con otro programa hecho en C++, no es nada dificil, debes seguir lo pasos y aprenderás muy rápido este simple procedimiento. C++ afecta una base de datos en SQLITE3.
Cómo se Compone la Base de Datos en SQLITE :
  • Recomiendo Administrar la base de datos de SQLITE con SQLite Maestro, es muy facil y útil.
  •  La Base de Datos se llama: "mibase.db" , la suya puede ser de otro nombre. 
  •  4 Tablas llamadas "libros", "devolucion", "pedidos" e "historial" cuyos campos son:
  •  La Base de Datos va incluida en el Archivo de descarga del Proyecto y nada mas la abren con el SQLite Maestro ya que este es muy facil de usar.
Cómo se  Compone el Sistema en JAVA en Consola:
  •  Se muestra un Menú con estas Opciones:
                1: Listar todos los Libros.              
2: Buscar Libro por ID.                
        3: Pedidos de Libros.           
4: Devoluciones de Libros.        
5: Ver mis Libros Pedidos Actualmente.  
6: Ver los Libros Devueltos.              
7: Historial de Libros Pedidos.         
8: Salir.               
  • Cada vez que elijes una opción el JAVA invoca la función C++, asi de simple, es como si tuviéramos un archivo.H ó un include.         
Cómo se Compone el Sistema en C++ .Net:
  •  Cada Archivo Contiene la Función ó Método que es llamada desde JAVA, es como invocar un método, nada mas que es  estos son llamados desde JAVA.

Cómo Funciona ?
Elijes una opción del menú hecho en java, después JAVA llama el método de C++. A según la opción que elijan ese va a ser el método ó función llamada desde JAVA. La Idea es clara, el programa en JAVA llama a la función ó método hecho en C++

Pero para que sapan JAVA no llama el archivo de C++ puro ni el .exe, lo que llama el JAVA es el archivo .DLL que es generado cuando se produce la compilación, por eso cuando van a crear proyecto en C++ aseguren de que creen un proyecto para generar BIBLIOTECAS .DLL .

El archivo .DLL de cada programa de C++ tiene exactamente lo mismo pero codificado de una manera diferente para que cuando sea llamada desde otro lenguaje como JAVA sea bien entendido.

Las Soluciones de C++ del Proyecto hechas en Microsoft Visual Studio 2010 C++ lo único que hacen es generar el .DLL que JAVA ocupa mas adelante.

      Detalles Importantes:

Existen archivos muy importantes para que logre funcionar el proyecto, se los voy a mencionar :
  • La Base de Datos necesita los archivos: sqlite3.lib, sqlite3.dll
  • JAVA necesita los archivos DLL para invocar metodos de C++, ej: buscar_libro.dll, devolver_libros.dll
  • Hay que definir la ruta de estos archivos DLL y  sqlite3.libsqlite3.dll en el Microsoft Visual Studio 2010 C++ para generar el nuevo DLL.
  • Para Configurar el Microsoft Visual Studio 2010 C++ y otros detalles entren aqui y lean un poquito: MANUAL_1 
Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí: 

martes, 16 de julio de 2013

Cronómetro Sencillo en C++ hecho con DEV-C++

Manejo Facil de un Cronómetro en C++
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto esta hecho en Dev-C++ y demuestra cómo se puede manejar crear un Cronómetro en lenguaje C++ en modo Consola e implementando Ciclos For Anidados en el Sistema. Es un ejemplo muy Sencillo, depende de usted si lo mejora, espero que les sirva, si mejoran el programa no duden en contactarme y se los subiré en un Post.
Cómo se Compone el Sistema en C++:
  •  4 Variables que son : HORAS, MINUTOS, SEGUNDOS y MILI-SEGUNDOS.
  •  4 Ciclos For Anidados.
  • Por ultimo la Salida en Pantalla que muestra el Cronómetro.

Código para Copiar y Pegar :
#include <cstdlib> /* Declaramos las librerias iniciales */  
#include <iostream>using namespace std;
int main() {     
int HORA, MINUTO, SEGUNDO, ML;     
for (HORA=0; HORA<1000; HORA++  { 
      for (MINUTO=0; MINUTO<60; MINUTO++  {    
           for (SEGUNDO=0; SEGUNDO<60; SEGUNDO++)     {    
                for (ML=0; ML<18.9; ML++) /* Hacemos for que hasta los 18.9 milesimas, en tiempo real serian 100 milesimas */      {                                   
cout << "Cronometro   ";         
cout << HORA << ":" << MINUTO <<":"<< SEGUNDO << "." << ML << "\n"        system("cls");       
  }    
     } 
        }    
                    
system("PAUSE>NUL"); /* Pausamos el proyecto y cuando hagamos click en cualquier tecla se cerrara */ 
             }

lunes, 15 de julio de 2013

Cómo Enviar Email Directamente al Servidor Principal Gmail con PHP

Send Email witch PHP 5 
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Enviar un Correo Electrónico es una es una función muy importante en nuestro sistema web,  existen varias formas de Enviar un Correo Electrónico ( Email ) desde nuestra página web. Muchos ya conocen la Función mail() :

mail(" pepito@programadortico.com, maria@programadortico.com","Asunto Del Mail","Este es el cuerpo del mensaje");

El problema con esta es que se limita a mandar Emails Locales, osea, a un servidor SMTP en nuestra propia PC ó a PC's en una Red Privada. Para entenderlo mejor el Email no llega directamente al Servidor Principal de correo, ya sea GMAIL, HOTMAIL ó YAHOO sino que lo recibe un servidor SMTP como Outblock ó  PostCast Server en la propia Computadora.

Primeramente quiero decir que sinceramente esa Función mail() está bien para una RED LAN Local de  personas, pero si lo que queremos en enviar el Email Directamente sin pasar por ese trámite de Descargar un Servidor SMTP y que esa persona lo reciba enseguida en su bandeja de entrada, entonces pon atención.

Yo me cansé de mandar Correos Locales, así que a puro código PHP encontré un Código que los va a Ayudar bastante, y creo firmemente que después comentarán Agradeciéndome el Código PHP.

 Cómo  lo Hago ? :
  • Tengo que Descargar ó tener Instalado el PHPMailer_v5.1, descarga Aquí.
Después nada más copias y pegas el siguiente código PHP :
<?php
require_once('/PHPMailer_5.2.4/class.phpmailer.php'); // Especifique la ruta del archivo class.phpmailer.php
define('GUSER', 'tu_email@gmail.com'); // GMail username
define('GPWD', 'password'); // GMail password

function smtpmailer($to, $from, $from_name, $subject, $body) { 
global $error;
$mail = new PHPMailer();  // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true;  // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; 
$mail->Username = GUSER;  
$mail->Password = GPWD;           
$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);

if(!$mail->Send())
        {
$error = 'Mail error: '.$mail->ErrorInfo; 
return false;
       else
       {
$error = 'Message sent!';
return true;
}
}
?>

Después de Definir esta Función nada mas la llamas así:
<?php
smtpmailer(  'to_@gmail.com' , 'from_@gmail.com' , 'Nombre_de_quien_envia' , 'ASUNTO'  ,  'MENSAJE');
?>


      NOTA : 
  • El detalle es que me funciona SOLAMENTE EN UBUNTU ó LINUX, estamos resolviendo detalles para implementarlo en Windows.
  • Nos pueden ayudar a publicar sus códigos si lo implementan en Windows.
  • Desde Ubuntu lo envia directamente al GMAIL y no al servidor SMTP.

sábado, 13 de julio de 2013

Iniciar Modo Gráfico de Ubuntu desde Terminal ó Consola

Pasar de un Interprete de Ordenes  (terminal ) a Modo Grafico.
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este sencillo comando que les tengo les servirá para iniciar el Modo Grafico de Ubuntu desde el terminal. 
Muchas veces se inicia sesion en modo Consola y a según lo que se esté haciendo se va a querer entrar en Modo Grafico.

El comando es el Siguiente:  startx

Es un comando muy  sencillo, espero les sirva.






viernes, 12 de julio de 2013

Bienvenidos a Ejemplos de Programación Fáciles y Completos 100%


Bienvenido sea usted lector a este Blog que hemos dedicado para todas las personas que quieran descargar, leer y comprender el código fuente de varios Proyectos ó Tareas de usuarios que Estudian Sistemas de Información y que lo han subido con un solo propósito:  de ayudarle a usted con su proyecto similar.

Queremos ayudarle a terminar tu Proyecto ó Tarea que te dejen en tu curso de Programación de Sistemas de Bases de Datos, por eso queremos cada vez subir mas y más Proyectos en diferentes Lenguajes de Programación para poder ayudar a mas gente que estudia alguna carrera de Sistemas de Información y obviamente relacionada con la Programación.

Todos estos proyectos aquí subidos fueron anteriormente revisados por Profesores de Sistemas de Información que lo revisaron como Tareas ó Proyectos y a la cual se le Asignó una Calificación Anteriormente para el Estudiante que lo Implementó. Los archivos de los Proyectos (Solución), se suben completamente para que usted nada mas los abra con Visual Studio, NetBeans, Dev-C++ , etc. En el Blog donde se posteó el Proyecto viene su Explicación detallada, explicada detalladamente para usted la entienda de la mejor manera.

La razón de ser de este Blog es esa, que usuarios que estudien Programación descarguen los Proyectos y se ayuden a terminar el suyo, pero nunca con la intención de que se lleve el mismo debido a que existe gran posibilidad de que sea reconocido como fraude debido a la gran cantidad de Visitas de este Blog.

Invitamos a Usuarios que deseen compartir sus Proyectos y Tareas por mas simple que sea, no importa si es una linea de código, por que esa linea de código Podría Ayudar a 100 personas que Inicien en la Programación , así que los Invito a contactarme y con gusto te postearé tu Post con tus Créditos ó si tienes usuario en Blogger puedes también ser parte del Blog, nada mas te agregamos como Administrador ó Creador de Contenidos y podrás comenzar a ayudar a Muchos más con Código Fuente y Proyectos.

   Información de Contacto:  

lunes, 1 de julio de 2013

Manejo de Estructuras de Datos en C# .Net

Manejo Facil y Completo de estructuras de Datos en C# .Net
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto esta hecho en Microsoft Visual Studio 2010 C# y demuestra cómo se puede manejar cualquier Tipo de Esctructura de Datos en C#, usted podrá aprender a Insertar, Eliminar, y Recorrer Pilas, Listas y Colas.
Cómo se Compone el Sistema en C# .Net:
  •  Varios TextBox para Ingresar los Datos a Insertar y Borrar
  •  Varios ListBox para ver lo que Contienen las Pilas, Listas y Colas.
  •  Varios Bottons para confirmar las Acciones.

Cómo Funciona ?
Ingresas en el TextBox el dato a Insertar en la Lista, Pila ó Cola,  y con el Botón Confirmas la inserción ó el Borrado. Puedes ver lo que Contiene cada Estructura de Datos con la Opción Recorrer.

Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:

Manejo de Archivos en C# .Net

Manejo Facil y Completo de Archivos en C# .Net
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto esta hecho en Microsoft Visual Studio 2010 C# y demuestra cómo se puede manejar cualquier Tipo de Archivo en C#, desde Crear un Archivo de Cualquier Extención, Cambiar su Contenido, Ver sus Atributos, Borrarlos , Copiarlos y Moverlos.
Cómo se Compone el Sistema en C# .Net:
  •  Varios TextBox para ver información importante del archivo.
  •  Varios Bottons para Aplicar los Cambios.


Cómo Funciona ?
Si  pruebas el Proyecto te das cuenta que puedes Crear Archivos de Cualquier Extensión, escribir en él y Guardarlo dentro de una dirección de un directorio en Windows.

Puedes buscar un archivo mediante el Botton abrir Archivo, Cerrarlo y Moverlo de Directorio, también puedes Copiarlo a otro directorio.

Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:

(Insertar, Eliminar, Actualizar y Buscar) en Tablas SQL Server 2008 R2 desde C#

Mantenimientos de Tablas SQL Server 2008 R2 desde C#.Net
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.


Este Proyecto esta hecho en Microsoft Visual Studio 2010 C# , y demuestra cómo podemos darle mantenimientos a nuestras Tablas en SQL Server 2008 R2,  para ello utilizamos Procedimientos Amacenados para afectar a las Tablas y así poder Actualizar, Eliminar, Borrar y Buscar Datos importantes dentro de las Duplas (tablas).
Cómo se Compone la Base de Datos en SQL Server 2008 R2:
  •  La Base de Datos se llama: "BASES" , la suya puede ser de otro nombre. 
  •  Una Tabla llamada "PRUEBA" cuyos campos son:
     ID=   numeric(18,0)  y  not null 
     NOMBRE=   varchar(50) y  not null
 La ID es el numero de identificación del Usuario en el Sistema.
 La NOMBRE es el Nombre de la Persona almacenada en el Sistema.
Cómo se Compone el Sistema en C# .Net:
  • Un TabControl para dividir en pestañas cada Acción (Insertar, Buscar, Eliminar, Actulizar).
  • Varios DataGridView  donde se muestran los Datos Consultados.
  • TextBox para digitar y mostrar cambios Datos.
  • Varios Bottons para Confirmar los Cambios ó Acciones.

Cómo Funciona ?
Simplemente Como ves en la Imagen Funciona muy Basicamente, cada vez que oprimes el Botón Insertar, Actualizar ó Eliminar, ejecutas un Procedimiento Almacenado.

Debes Crear los Procedimientos Almacenados en la Base de Datos para que este programa funcione Bien, el Código de los Procedimientos Almacenados se los puse también en la Descarga, así que nada mas les toca copiar y pegar el Código en el SQL Server 2008.Aquí también los pongo:

ACTUALIZAR:
create procedure P_ACTUALIZAR_PRUEBA
---se declaran los parametros que usaremos
@ID_PRO numeric(38), @NOMBRE_PRO varchar(50)
as
BEGIN

---se hace un UPDATE a la tabla usuarios y se envian los parametros
 UPDATE PRUEBA SET NOMBRE = @NOMBRE_PRO WHERE ID = @ID_PRO;

END
GO

BORRAR:
create procedure P_BORRAR_PRUEBA
---se declaran los parametros que usaremos
@ID_P numeric(38)
as
BEGIN

---se hace un borrado en la tabla usuarios y se envian los parametros
DELETE FROM PRUEBA WHERE ID = @ID_P;

END
GO

INSERTAR:
create procedure P_INSERTAR_PRUEBA
---se declaran los parametros que usaremos
@NOMBRE varchar(50)
as
BEGIN

---se hace un insert a la tabla usuarios y se envian los parametros
insert into PRUEBA
values(@NOMBRE)

END
GO

Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:

Busqueda de Información en un XML guardado en Tabla SQL Server 2008 R2 (JAVA)

CURRICULUM EN JAVA y SQLX
Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Este Proyecto consiste en crear en JAVA un Buscador de Personal a Partir de Curriculums guardados en Formato XML , ademas el XML se encuentra guardado en un campo de Tabla en una Base de Datos SQL Server 2008 R2.

Cómo se Compone la Base de Datos en SQL Server 2008 R2:
  •  La Base de Datos se llama: "SQLX_BASES" , la suya puede ser de otro nombre. 
  •  Una Tabla llamada "aspirantes" cuyos campos son:
     cedula =   nvarchar(50)  y  not null 
     info_general =   xml   y  not null
     info_específica  =  xml  y  not null
La info_general es la Información completa del Curriculum de la persona a la que se quiere encontrar.
La info_específica  es la Información mas Específica del Curriculum , osea, con esos datos se encuentra a la Persona que se desea contratar y es mas fácil que estar buscando toda la Información General. Con unos


        Cómo se Compone el Sistema en Java NetBeans IDE 7.2.1:
  • Un JTextField que sería la barra de Búsqueda tipo Google.
  • Un jButton1 para Buscar.
  • Un jList para mostrar los Datos encontrados.


Cómo Conectar a la Base de Datos ?
Es muy importante primero que nada saber Conectar Java con SQL Server 2008 R2:

Para establecer una conexión de base de datos SQL Server mediante NetBeans 7.0.2 a través de JDBC habrá que seguir los siguientes pasos en un sistema operativo Windows:

1. Descargarse el driver oficial de Microsoft SQL Server JDBC desde el siguiente enlace ó junto a la carpeta del Proyecto yo agregue el DRIVER así que no es necesario volver a descargarlo..

2. Una vez descargado, hay que establecer en las propiedades de nuestro proyecto el driver (Libraries> Compile) y pulsar sobre añadir JAR/Carpeta.

3. Buscar el archivo 'sqljdbc.jar' y seleccionarlo.

En estos tres pasos habremos establecido nuestro driver sql server para nuestro proyecto, de manera que ya se podrá establecer la conexión contra SQL Server a través de JDBC.
Cómo Funciona ?
Es muy Sencillo, recuerden que tenemos 2 Campos XML TYPE en la Base de Datos llamados:

  • info_general 
  • info_específica  
Lo que hacemos es recorrer los campos info_general info_específica y obtener los datos de cada persona.
"select info_general,info_específica  from aspirantes"
Guardamos cada xml de  info_general en un Vector1, igualmente pasa con info_específica en un Vector2.

Despues recorremos el Vector1 y con una función que extrae los Información de los NODOS del XML guardados en el Vector1, ya con esto podemos obtener la información detallada que realmente nos importa, estos Datos los concatenamos (unimos los datos en un String) y guardamos esto en otro Vector1.1.

Igualmente  recorremos el Vector2 y con una función que extrae los Información de los NODOS del XML guardados en el Vector2, ya con esto podemos obtener la información detallada que realmente nos importa, estos Datos los concatenamos (unimos los datos en un String) y guardamos esto en otro Vector2.2.

Osea los Datos de los Vectores 1.1 y 2.2 son los datos que nos importan, y sus indices de la info_general quedan coincidiendo con los indices de la info_específica . 

Esto quiere decir que en la Posicion 1 del Vector1.1 esta la info_general de  "Juan"  y en la Posicion 1 del Vector2.2 esta tambien la info_específica de la persona "Juan". Entonces en el Indice 1 está "Juan". En el Indice 2 "Jose"...etc

Entonces cuando digitamos en el JTextField los datos Específicos a Buscar por ejemplo:
"Se Busca Secretaria" , entonces con una función separamos esa Cadena en :
Se
Busca
Secretaria
Y buscamos en el Vector1.1 si existe una palabra de esas, si existe una palabra de esas entonces agarra el Indice de la Posición por ejemplo 2, y llama el Vector2.2  y lee y imprime la Posición 2.

Exactamente el Programa Busca información específica y devuelve la información General de la Persona. Por Ejemplo digito: "Se busca Secretaria" , si encuentra la Palabra Secretaria entonces muestra el Nombre de la Secretaria, donde vive, su correo electrónico, estado civil, etc...

Con esto ya el programa les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:

Génerar Numeros y Caracteres Aleatorios en PHP

El Siguiente Ejemplo les enseñaré a Generar Números y Caracteres Aleatorios a partir de Código PHP.

Al Final Por Favor Comenten que les pareció para mantener la página, NO tienen que registrarse.

Primero les Mostraré el Código PHP para generar Números Aleatorios:

 <?php

$vector_numerico "0123456789";
$maximo = strlen($vector_numerico );
for ($i 1$i<= 5$i++)
{
    $generar_numero = mt_rand(1$maximo);
    $codigo.$vector_numerico [$generar_numero-1];
}
?>


Segundo les Mostraré el Código PHP para generar Caráteres ó Letras Aleatorias:

 <?php

$vector_caracteres "EFGH$fMNOghijnopcdABCDSTUV-_abIPJklmKLqrsRWXYZ@tuvwxyz";
$maximo = strlen($vector_caracteres );
for ($i 1$i<= 5$i++)
{
    $generar_caracter = mt_rand(1$maximo);
    $codigo.$vector_caracteres [$generar_caracter -1];
}
?>

$vector_caracteres y $vector_numerico son vectores que contienen los números ó caracteres que usted quiere generar aleatoriamente.

$maximo es la variable que guardará el tamaño del vector $vector_caracteres ó del $vector_numerico

strlen($vector_caracteres ) es para saber el tamaño del vector.

strlen($vector_numerico) es para saber el tamaño del vector.

mt_rand(1, $maximo) esta función nos da un carácter ó número aleatorio del vector.

$generar_caracter guarda el carácter ó número aleatorio generado.

Con esto ya la página les debería Funcionar 100%, Gracias y cualquier Duda me la pueden publicar Aquí:

 
Esta web utiliza cookies, puedes ver nuestra la política de cookies, aquí Si continuas navegando estás aceptándola
Política de cookies +