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 - seupcdm

#1
Es una cosa complicada. Todas esas tarjetas tienen una serie de sectores de memoria y un ID único para cada una. Con las típicas de acceso a tornos se emplea el ID, que es leído por el torno y cotejado en base de datos. Hasta donde he leído, con clonadores o con un módulo de RFID para Arduino, sí puedes escribir dicho ID en algunas tarjetas especiales que lo permiten. Se compran a parte, porque las que ya tienen un ID, como las que te da el de las recreativas, no lo permiten.

Yo me figuro que el saldo de una tarjeta no se almacena en la misma. Estará en sus bases de datos, asociado al ID de la tarjeta, de modo que cuando tú pones la tarjeta en el lector, lo único que hace es leer el ID y comprobar en el servidor cuánto dinero tiene. Si consiguieses clonar la tarjeta, tendrías dos, pero cada vez que gastases euros, se gastarían en la otra también.

Otra cosa es que consiguieses el ID de la tarjeta de otro y lo escribieses en una tuya... Pero yo ahí no me mojo.  :xD

Si te soy sincero no sé para qué se usan el resto de sectores de memoria, porque en todas las que he visto, a excepción del ID único, están vacíos. Solo he trabajado programando para tornos de acceso con RFID, y como te digo, se emplea el ID únicamente.

Un saludo, y si trasteas con algo, coméntalo por aquí.  ;-)

#2
Hasta donde yo sé, una radio de uso común como la que tú tienes, es un receptor de frecuencia que no emite ninguna clase de señal. La interferencia que puede haber en tu microondas es la misma con la radio encima que sin ella, puesto que la señal de las emisoras de radio está propagada en toda vuestra oficina. Y bueno, no solo las señales de las emisoras, sino prácticamente todas.

El microondas, por otro lado, emplea una frecuencia que hace vibrar las moléculas de agua por polaridad y termina calentando los alimentos. Estas ondas de radio no se propagan más allá del microondas puesto que tiene una serie de mallas que lo evitan, así que, en todo caso, si hubiese un problema con el microondas, sería la radio la que se viese afectada. Bueno, o vosotros si estáis muy cerca. Jajaja

Para mí que es coincidencia.
#3
¡No se debe nada! Suerte con tu proyecto y un saludo.  ;-)
#4
Estoy leyéndolo directamente desde github, pero en la clase Categoría tienes dos constructores que hacen cosas distintas.

Código (java) [Seleccionar]

   public Categoria()
   {
       codigo = "";
       nombre = "Otros";
       productos = new ArrayList();
   }

   public Categoria(String codigo, String nombre)
   {
       this.codigo = codigo;
       this.nombre = nombre;
   }


No me preocupan los valores de las variables porque no sé para qué lo utilizas después, pero lo que sí me llama la atención es que solo instancies tu ArrayList en uno de los constructores, y más aún que la única instancia que hagas de las categorías sea a través del constructor que NO instancia el ArrayList:

Código (java) [Seleccionar]
private void jbCrearCatAñadirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbCrearCatAñadirActionPerformed
       
       Categoria categoria = new Categoria("", jtfCrearCatNombre.getText());
       control.añadirC(categoria);
       jcbCrearPCategoria.addItem(jtfCrearCatNombre.getText());
       jcbEditarCategoria.addItem(jtfCrearCatNombre.getText());
       
       jtfCrearCatNombre.setText("");
       
       /*BorrarEsto:----------------------------------*/
       for (int i = 0; i < control.getCategorias().size(); i++)
       {
           System.out.println(control.getCategorias().get(i).getNombre());
       }
       /*FinBorrar.-----------------------------------*/
       

       //actulizarTablaProductos();
   }//GEN-LAST:event_jbCrearCatAñadirActionPerformed


Vamos, igual me estoy inventando las cosas, pero según lo que veo y sin haber ejecutado tu programa, tienes dos opciones: usar el otro constructor o añadir la instancia del ArrayList al constructor que sí usas.

Código (java) [Seleccionar]

   public Categoria()
   {
       codigo = "";
       nombre = "Otros";
       productos = new ArrayList();
   }

   public Categoria(String codigo, String nombre)
   {
       this.codigo = codigo;
       this.nombre = nombre;
       productos = new ArrayList();
   }


También te diría que deberías especificar el tipo de variable que tu ArrayList contiene a través del operador <>. Si usas Java 7 o posterior, puedes hacer una instancia genérica tal que así new ArrayList<>();, si no, especifica el tipo new ArrayList<Producto>();

Y bueno, no voy a decir mucho más, pero aquí se debate qué es mejor, si utilizar la clase List o Arraylist, por si te interesa:
https://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java

También te recomendaría leer bien las trazas de los errores.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  at control.Categoria.añadirP(Categoria.java:26)
  at control.Control.añadirPro(Control.java:30)
  at gui.Inventario_Productos.jbCrearPAñadirActionPerformed(Inventario_Productos.java:401)


Es un puntero a null, lo que por lo general quiere decir que estás intentando acceder a las propiedades de un objeto que aunque esté declarado, no está instanciado. Tienes que ir de abajo arriba, y el último punto donde te casca es en la línea 26 de la clase Categoría. Justo donde intentas añadir a tu ArrayList el objeto producto, que por lo que veo sí está instanciado, lo cual me hace corroborar lo que te he comentado antes.

Código (java) [Seleccionar]
public void añadirP(Producto producto)
    {
        productos.add(producto);
    }


Un saludo.