Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - piete2

#1
Redes / Re: WiFi y repetidor WiFi
11 Septiembre 2019, 22:25 PM
Si, la verdad es que funciona incluso mejor de lo que me esperaba, de ahí que crea que está todo correcto.
#2
Redes / WiFi y repetidor WiFi
11 Septiembre 2019, 21:38 PM
Buenas noches! Tengo una ONT de huawei in su WiFi y tal, y un repetirlo en modo AP. La cosa es que no sé si estoy haciendo las cosas bien. Tengo EL WiFi de la ONT con el canal 7 y el canal del repetido el 10 ( son los 2 menos congestionados), el repetidor WiFi tiene el mismo nombre que el WiFi de la ONT para que el móvil se conecte a AP que más potencia tenga. La cosa es, es correcto poner el mismo nombre al AP o hay que poner uno distinto?

Gracias
#3
Ejercicios / Pipes y Dup - ¿Qué hace?
17 Junio 2018, 05:25 AM
Hola. Alguien podría decirme qué hace este fragmento de código. Gracias!

#include <unistd.h>
main(){
   pipeline("/usr/bin/yes", "/bin/more");
}
int pipeline(char *proc1, char *proc2){
    int fd[2];
    pipe(fd);
    if (fork()!=0){
       close(fd[0]); // No lo necesitamos aqui
       close(1); // Cierra la salida estandar
       dup(fd[1]);
       close(fd[1]); // No lo necesitamos
       execl(proc1, proc1, 0);
   }
   else{
       close(fd[1]); // No lo necesitamos
       close(0); // Cierra la entrada estandar
       dup(fd[0]);
      close(fd[0]); // No lo necesitamos
      execl(proc2, proc2, 0);
   }
}
#4
GNU/Linux / Ayuda ejercicio [SOLUCIONADO]
16 Junio 2018, 02:35 AM
Hola. Me gustaría saber si alguien me puede ayudar a hacer este ejercicio debido a que no me funciona. El problema es el siguiente:

"Vamos a proceder a crear una nueva llamada al sistema, que llamaremos
int sys info process(int pid), a la cual pasamos como argumento un PID de un proceso, y queremos que nos devuelva el PPID de ese proceso, o -1 en caso de que no exista ning´un proceso con ese pid."

Todo ello debe ir bajo el núcleo linux, con una llamada en /usr/src/disop/arch/i386/kernel/entry.S

Os paso captura del código mediante imagen, ya que la máquina virtual no me deja copiar y pegar.

Primera parte del código https://ibb.co/bxk9sy
Segunda parte del código https://ibb.co/fuPPQJ
#5
Bases de Datos / Algebra relacional
6 Mayo 2018, 20:12 PM
Hola, me gustaría saber cómo se verían varias consultas en álgebra relacional ya que no tengo ni idea.

¿Alguien puede echarme una mano?

Gracias!
#6
Java / Re: Ayuda crear radio FM Android
14 Diciembre 2017, 13:16 PM
Si, sería para usarlo en dispositivos que tengan antera FM. Sé que no van a ser nuevos ya que la app va a ir orientada a gente mayor, por lo tanto no se van a comprar un alta gama y la mayoría lleva receptor FM
#7
Java / Ayuda crear radio FM Android
13 Diciembre 2017, 12:31 PM
Hola comunidad.
Estoy desarrollando una app para un trabajo de la universidad y no encuentro ni una pizca de código de radio FM, todas son streaming y me gustaría saber cómo puedo hacer una radio FM en Android Studio.

Gracias de antemano!
#8
Hola, estoy intentando hacer una app super sencilla, pero estoy estancado en un sitio del que no tengo ni idea de cómo salir.

La app consta en registrar en una base de datos una serie de datos. ;-)

Os dejo mis clases por orden de creación:
MainActivity
Código (java) [Seleccionar]
public class MainActivity extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       //ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1);

   }

   public void onClick(View view){
       Intent nueva_ventana = new Intent(MainActivity.this, registrarTienda.class);
       startActivity(nueva_ventana);
   }
}


Utilidades (declaro variables y creo BBDD):

Código (java) [Seleccionar]
public class Utilidades {


   public static final String TABLA_TIENDA="tienda";
   public static final String CampoNumeroTienda="numTienda";
   public static final String CampoNombreTienda="nombre";
   public static final String CampoMuelleFrio="muelleFrio";
   public static final String CampoMuelleFruta="muelleFruta";
   public static final String CampoMuelleSeco="muelleSeco";
   public static final String CampoDireccion="direccion";
   public static final String CampoTelefono="telefono";

   public static final String CREAR_TABLA_TIENDA="CREATE TABLE"+TABLA_TIENDA+"("+CampoNumeroTienda+" INTEGER, "+CampoNombreTienda+
           " TEXT,"+CampoMuelleFrio+" INTEGER, "+CampoMuelleFruta+" INTEGER,"+CampoMuelleSeco+" INTEGER,"+
           CampoDireccion+" TEXT,"+CampoTelefono+" TEXT)";




Tienda (pongo los metodos set y get):
Código (java) [Seleccionar]
public class Tienda {
   private Integer numTienda;
   private String nombre;
   private Integer muelleFrio;
   private Integer muelleFruta;
   private Integer muelleSeco;
   private String direccion;
   private String telefono;

   public Integer getNumTienda() {
       return numTienda;
   }

   public void setNumTienda(Integer numTienda) {
       this.numTienda = numTienda;
   }

   public String getNombre() {
       return nombre;
   }

   public void setNombre(String nombre) {
       this.nombre = nombre;
   }

   public Integer getMuelleFrio() {
       return muelleFrio;
   }

   public void setMuelleFrio(Integer muelleFrio) {
       this.muelleFrio = muelleFrio;
   }

   public Integer getMuelleFruta() {
       return muelleFruta;
   }

   public void setMuelleFruta(Integer muelleFruta) {
       this.muelleFruta = muelleFruta;
   }

   public Integer getMuelleSeco() {
       return muelleSeco;
   }

   public void setMuelleSeco(Integer muelleSeco) {
       this.muelleSeco = muelleSeco;
   }

   public String getDireccion() {
       return direccion;
   }

   public void setDireccion(String direccion) {
       this.direccion = direccion;
   }

   public String getTelefono() {
       return telefono;
   }

   public void setTelefono(String telefono) {
       this.telefono = telefono;
   }

   public Tienda(Integer numTienda, String nombre, Integer muelleFrio, Integer muelleFruta, Integer muelleSeco, String direccion, String telefono) {
       this.numTienda = numTienda;
       this.nombre = nombre;
       this.muelleFrio = muelleFrio;
       this.muelleFruta = muelleFruta;
       this.muelleSeco = muelleSeco;
       this.direccion = direccion;
       this.telefono = telefono;
   }
}


ConexionSQLiteHelper

Código (java) [Seleccionar]
public class ConexionSQLiteHelper extends SQLiteOpenHelper {

   public ConexionSQLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
       super(context, name, factory, version);
   }

   @Override
   public void onCreate(SQLiteDatabase db) {

       db.execSQL(Utilidades.CREAR_TABLA_TIENDA);
   }

   @Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
       db.execSQL("DROP TABLE IF EXISTS tabla");
       onCreate(db);
   }
}


Registrar Tienda

Código (java) [Seleccionar]
public class registrarTienda extends AppCompatActivity {
EditText nombre_tienda,numero_tienda,muelle_frio,muelle_fruta
       ,muelle_seco,direccion,telf;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_registrar_tienda);

       nombre_tienda=(EditText) findViewById(R.id.nombreTienda);
       numero_tienda=(EditText) findViewById(R.id.numeroTienda);
       muelle_frio=(EditText) findViewById(R.id.muelleFrio);
       muelle_fruta=(EditText) findViewById(R.id.muelleFruta);
       muelle_seco=(EditText) findViewById(R.id.muelleseco);
       direccion=(EditText) findViewById(R.id.direccionTienda);
       telf=(EditText) findViewById(R.id.numTelfTienda);


   }

   public void onClick(View view){
       registroTienda();
       }



   private void registroTienda() {
       ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1);
       SQLiteDatabase db=conn.getWritableDatabase(); //PROBLEMA

       ContentValues values=new ContentValues();
       values.put(Utilidades.CampoNumeroTienda,numero_tienda.getText().toString());
       values.put(Utilidades.CampoNombreTienda ,nombre_tienda.getText().toString());
       values.put(Utilidades.CampoMuelleFrio,muelle_frio.getText().toString());
       values.put(Utilidades.CampoMuelleFruta,muelle_fruta.getText().toString());
       values.put(Utilidades.CampoMuelleSeco,muelle_seco.getText().toString());
       values.put(Utilidades.CampoDireccion,direccion.getText().toString());
       values.put(Utilidades.CampoTelefono,telf.getText().toString());

      // Long idResultante=db.insert(Utilidades.TABLA_TIENDA,Utilidades.CampoNombreTienda,values);
      // Toast.makeText(getApplicationContext(),"Tienda: "+idResultante+" agregada",Toast.LENGTH_SHORT).show();
   }
}


Y el problema está en esta última clase, donde lo indico. Comento esta línea (y las que dependen de ella) y la app no se crashea, mientras dejánlosa sin comentar, peta.

Gracias de antemano.


EDITO 7/10/2017 20:20

Solucionado, me faltaba un espacio en la secuencia del create table. Gracias amigos.
#9
Programación General / Poner sonido a Snake HTML5
28 Septiembre 2017, 10:14 AM
Hola amigos. Es un proyecto en el que necesito poner un tono (el mio llamado pac.mp3) cuando la serpiente come.

Tengo esta parte de código:

serpiente.js

Código (javascript) [Seleccionar]
$(document).ready(function() {

// Creamos un contexto 2d de nuestro canvas
var canvas = $("#snake")[0];
var context = canvas.getContext("2d");
var width = $("#snake").width();
var height = $("#snake").height();

var cellWidth = 10;
var d;
var food;
var score;
var level = 6; // 1 El nivel más lento, 10 el nivel más rápido.
// contiene el listado de celdas por donde pasa la serpiente
var snake;

// El juego tiene la dirección "right" por defecto y se ejecuta la función paint
// dependiendo el nivel que hayas configurado arriba
function init()
{
d = "right";
createSnake();
createFood();
score = 0;

if(typeof gameLoop != "undefined") {
clearInterval(gameLoop);
}

gameLoop = setInterval(paint, 500 / level);
}

init();

// Creamos la serpiente
function createSnake()
{
var length = 5;
snake = [];

for(var i = length - 1; i >= 0; i--)
{
snake.push({ x: i, y: 0 });
}
}

//Creamos el recuado que tiene que comerse la serpiente
function createFood()
{
food = {
x: Math.round(Math.random() * (width - cellWidth) / cellWidth),
y: Math.round(Math.random() * (height - cellWidth) / cellWidth),

};
}

//Dibujamos la serpiente
function paint()
{
context.fillStyle = "#ccc";
context.fillRect(0, 0, width, height);
context.strokeStyle = 'black';
context.strokeRect(0, 0, width, height);

var nx = snake[0].x;
var ny = snake[0].y;

if (d == "right") {
nx++;
} else if (d == "left") {
nx--;
} else if (d == "up") {
ny--;
} else if (d == "down") {
ny++;
}

if (nx == -1 || nx == width / cellWidth || ny == -1 || ny == height / cellWidth || checkCollision(nx, ny, snake)) {
init();
return;
}

if(nx == food.x && ny == food.y) {
var tail = {
x: nx,
y: ny
function pla();
};
score++;
createFood();
} else {
var tail = snake.pop();

tail.x = nx;
tail.y = ny;
}

snake.unshift(tail);

for(var i = 0; i < snake.length; i++) {
var c = snake[i];
paintCell(c.x, c.y);
}

paintCell(food.x, food.y);

var scoreText = "Score: " + score;

context.fillText(scoreText, 5, height - 5);
}

//Pintamos la celda
function paintCell(x, y)
{
context.fillStyle = "red";
context.fillRect(x * cellWidth, y * cellWidth, cellWidth, cellWidth);
context.strokeStyle = 'white';
context.strokeRect(x * cellWidth, y * cellWidth, cellWidth, cellWidth);
}

//Verificiamos si hubo alguna colisión (si la hubo el juego se reinicia)
function checkCollision(x, y, array)
{
for(var i = 0; i < array.length; i++)
{
if(array[i].x == x && array[i].y == y) {
return true;
}
}
return false;
}

// Capturamos la pulsación de las teclas
$(document).keydown(function(e) {
var key = e.which;

if (key == "37" && d != "right") {
d = "left";
} else if (key == "38" && d != "down") {
d = "up";
} else if (key == "39" && d != "left") {
d = "right";
} else if (key == "40" && d != "up") {
d = "down";
}
});
});


serpiente.html
Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.10.1.min.js" type="text/javascript"></script>
<script src="serpiente.js" type="text/javascript"></script>

<style>
.game
{
margin: 0 auto;
width: 450px;
}
</style>
</head>

<body>
<div class="game">
<canvas id="snake" width="450" height="450"></canvas>
</div>
<audio controls autoplay loop>
  <source src="horse.ogg" type="audio/ogg" >
  <source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
</body>
</html>


Gracias de antemano
#10
Perdón, aquí dejo el codigo:

Código (php) [Seleccionar]
<html>

<link rel="stylesheet" type="text/css" href="css.css">
<body>

<form action="" method="post">
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr><td colspan="2" align="center">ACCESO SIGUIENTE PRUEBA</td></tr>
<tr><td>Usuario:</td> <td><input type="text" name="user" autocomplete="off" /></td></tr>
<tr><td>Contrasñea:</td> <td><input type="password" name="pass" /></td></tr>
<tr><td align="center" colspan="2"><input type="submit" name="enviar" value="Enviar" /></td></tr>
</table>
</form>



<h1>
Prueba 8</h1>
<p> Usuario suma de 1+1 y contraseña resta de 10-8</p>

</body>
</html>


<?php
 
if(($_POST)){
# Aqui definimos el usuario y password
# Puedes cambiar el usuario y clave x lo q sea
$usuario '2';
$clave '2';
# Aqui compruebo q los datos(usuario y contraseña) ingresados sean igual a lo que eh definido
# Y si son correcto los datos redireciona al enlace de tu sitio Autorizado
# En que caso que no sean correcto los datos  recirecciona al enlace de Error de  Datos Ingresados
if(trim((($_POST['user'])==$usuario && trim($_POST['pass'])==$clave))) {
header('Location: index2.html');
 }else{
header('Location: Error.html');
 }
   }

?>



Es un ejemplo de una prueba. En cada prueba hay un formulario con usuario y contraseña, que se desvelan mediante pistas. Con ese usuario y esa contraseña se pasa a la siguiente prueba.