Recent Posts

Pages: [1] 2 3 ... 10
1
Java JSE / Re: Juego rodillos java
« Last post by Jhonsom on Julio 06, 2019, 10:58:26 pm »
Hola te agradezco por tu respuesta voy a revisar entonces el material de los link que enviaste
Gracias
2
Java JSE / Re: Juego rodillos java
« Last post by chuidiang on Julio 06, 2019, 07:44:43 pm »
Hola:

Si, se puede :)

Saludos.
3
Java JSE / Juego rodillos java
« Last post by Jhonsom on Julio 06, 2019, 06:25:53 am »
Un cordial saludo :
Mi pregunta es concreta, me gustaría saber si
Bajo java se puede realizar un juego estilo
Rodillos de las máquinas de casino
Gracias
4
Java JSE / Re: Logearse en java por medio de ficheros
« Last post by chuidiang on Junio 29, 2019, 06:46:13 pm »
Hola:
¿Cual es el problema exactamente?
Saludos.
5
Java JSE / Logearse en java por medio de ficheros
« Last post by ibai on Junio 22, 2019, 10:33:35 pm »
Buenas necesito hacer un login en java por medio de ficheros porque la base de datos de derby anda mal y me ha mandado a hacerlo asi.
El caso es que ya he escrito la funcion que registra a un usuario. Simplemente escribe lo que ha metido por consola en un fichero.
Ahora estoy estancado en como al leer el fichero el programa compara esos datos con los que se piden al iniciar la funcion de login

Dejo el codigo con lo que se necesita por si le quieren hechar un vistazo, y lo primero que sale es la funcion registrarse por si solo quieren ver esa funcion.
Antes de todo gracias por leer este post y por su valioso tiempo. Un saludo
Code: [Select]
static void login() throws SQLException, FileNotFoundException, IOException{

        System.out.println("Introduce tu usuario");
        String user = sc.next();
        System.out.println("Introduce tu pass");
        String pass = sc.next();
       
        String nombreFichero = "C://Users//ibai//Desktop/Usuarios.txt";   
        File fichero = new File(nombreFichero);
       
            if(fichero.exists()){               
           
                FileReader fr = new FileReader(nombreFichero);
                BufferedReader bf = new BufferedReader(fr);       

                while ((nombreFichero = bf.readLine())!=null) {
                   
                   if(user.equals(User) && pass.equals(Pass)){     //<------parte importante
                       System.out.println("Bienvenido: " + user);
                       
                       if (tipo==1) {
                           MenuAdmin();
                       }else if(tipo==2){
                           MenuUsuario();
                       }
                   }else{
                       System.out.println("Usuario o contraseña incorrectos.");
                   }
                }bf.close();

            }else{
                System.out.println("Aún no existe ningún usuario. "
                        + "Vuelva a la opción 2 y cree un usuario para ejecutar esta función."); 
            }





---------------------------------------------------------resto de parte que interesa del proyecto
public class FinalDam {

    /**
     * @param args the command line arguments
     */
         
    static Scanner sc = new Scanner(System.in);
   
    static Productos[] listProd= new Productos[100];
    static Usuarios[] listUser= new Usuarios[100];
    static int nUser;
    static int nProd;
   
    //var producto
    static int idProd = 0;                   static int peso = 0;   
    static String nombre = "Desconocido";    static int precio=0;
    //var usuario   
    static String User="Desconocido";
    static String Pass="Desconocido";           
    static int tipo=0;

    public static void main(String[] args) throws SQLException, IOException {
        // TODO code application logic here
        MenuPrincipal();
       
    }
    static void MenuPrincipal() throws SQLException, IOException{
        int opcion;
        Scanner teclado = new Scanner(System.in);
        do{
            do{
                System.out.println("Que quieres hacer \n");
                System.out.println("1. Login \n");
                System.out.println("2. Registrarse \n");
                System.out.println("3. Salir \n");
                opcion=teclado.nextInt();           
            }while(opcion<1 || opcion>=4);
            switch (opcion){
                case 1:
                    System.out.println("Login");
                    login();
                    break;
                case 2:
                    System.out.println("Registrarse");
                    registrarse();
                    break;
                case 3:
                    System.out.println("Gracias por venir");
            }
        }
        while(opcion == 2);
    }
    static void registrarse() throws SQLException{
       
        int cierraWhile = 0;
       
        while(nUser<listUser.length && cierraWhile != 1){
        Usuarios U = new Usuarios();       
System.out.println("Introduzca sus datos. ");
                       
                        System.out.println("Nombre de usuario: ");
User = sc.next();
                        System.out.println("Contraseña (solo letras): ");
Pass = sc.next();
                        System.out.println("Si se quiere registrar como administrador pulse 1, de lo contrario pulse 2. ");
                                tipo = sc.nextInt();

                     
                        U.setUser(User);
                        U.setPass(Pass);
                        U.setTipo(tipo);
listUser[nUser]= U ;
nUser++;

if(nUser==listUser.length){
System.out.println("Almacenamiento lleno.");
                        }

            System.out.println("¿Quiere dejar de introducir usuarios? teclée: 1 = sí ,0 = no.");
            cierraWhile = sc.nextInt();             
        }
        //Guardar usuario
        System.out.println("Guardando el usuario en: Usuarios.txt");
        try{       
            File nombreFichero = new File("C://Users//ibai//Desktop/Usuarios.txt");
            FileWriter fw = new FileWriter(nombreFichero,true);       
            BufferedWriter bw = new BufferedWriter(fw);       
            PrintWriter pw = new PrintWriter(bw);

                for (int i = 0; i < nUser; i++) {               
                   
                    pw.println(listUser[i].getUser());
                    pw.println(listUser[i].getPass());
                    pw.print(listUser[i].getTipo());

                }pw.close();

        }catch(IOException ioe){
            System.out.println("No se ha podido guardar. Error: "+ ioe);
        }
    }
    static void login() throws SQLException, FileNotFoundException, IOException{

        System.out.println("Introduce tu usuario");
        String user = sc.next();
        System.out.println("Introduce tu pass");
        String pass = sc.next();
       
        String nombreFichero = "C://Users//ibai//Desktop/Usuarios.txt";    //Cambiar ruta entre comillas
        File fichero = new File(nombreFichero);
       
            if(fichero.exists()){               
           
                FileReader fr = new FileReader(nombreFichero);
                BufferedReader bf = new BufferedReader(fr);       

                while ((nombreFichero = bf.readLine())!=null) {
                   //System.out.println(nombreFichero);
                   if(user.equals(User) && pass.equals(Pass)){
                       System.out.println("Bienvenido: " + user);
                       
                       if (tipo==1) {
                           MenuAdmin();
                       }else if(tipo==2){
                           MenuUsuario();
                       }
                   }else{
                       System.out.println("Usuario o contraseña incorrectos.");
                   }
                }bf.close();

            }else{
                System.out.println("Aún no existe ningún usuario. "
                        + "Vuelva a la opción 1 y cree un usuario para ejecutar esta función."); 
            }
           
    }
Se que lo que esta dentro del while que lee el fichero es una burrada (que no va ahi basicamente) pero asi lo he dejado al no saber como ponerlo...xd
6
Java JSE / Cual seria la buena practica de un PreparedStatement
« Last post by gacs on Junio 20, 2019, 12:16:47 am »
Buenos Dias

Tengo una consulta con PreparedStatement, para PreparedStatement se debe crear una conexion a la base de datos?

Por ejemplo tengo un formulario de administración de registro el cual visualiza, elimina, modifica y agrega registros. entonces hago una solo conexión y con ella realizo los   PreparedStatement.

pongo un ejemplo no muy detallado pero creo que describe mi inquietud.
Code: [Select]
private Connection              connection=gestordeconexiones();   
private PreparedStatement pstver;
private PreparedStatement psteliminar;
private PreparedStatement pstmodificar;
private PreparedStatement pstagrega;

public class myformulario
{
public myformulario(){
.......
pstver=connection.prepareStatement(sql);
psteliminar=connection.prepareStatement(sql);
pstmodificar=connection.prepareStatement(sql);
pstagrega=connection.prepareStatement(sql);
.........
}

.....
public void eliminar(){
.....
psteliminar..execute();
......
}
.....
public void salirformulario()
.....
pstver.close()
......
psagregar.close()
.....
}     
}


Entiendo que el caso de sqlite se utiliza la misma conexión ya que unque hagas muchas conexiones la función de el es trabajar solo con una conexion a la vez bloqueando el acceso mientras una conexion este utilizando la base de datos. bueno eso entendi yo pero quisiera saber cual seria lo correcto para utilizar prepareStatement.

no se si no le echo bien la pregunta a google pero no encontrado una respuesta que saque de la duda

de antemano muchas gracias por la ayuda

saludos

GACS

7
Hola:

Entiendo que te refieres a ajecutar el jar fuera del IDE que uses (eclipse, netbeans, idea o el que sea).

El trozo

Code: [Select]
setIconImage(new ImageIcon (getClass().getResource("../Images/iconoLogo.png")).getImage());
Si usas getClass().getResource(), el fichero tiene que estar dentro del jar, empaquetado junto con los class. Dentro del jar, al usar getClass(), el directorio es el directorio donde esté el fichero .class al que pertenece este código. Desde ahí, habría que seguir el path relativo que has puesto a ver si cuadra. Una forma más sencilla sería poner ahí un path absoluto, estilo

Code: [Select]
setIconImage(new ImageIcon (getClass().getResource("/Images/iconoLogo.png")).getImage());
con lo que dentro del jar debería haber en el primer nivel un directorio Images y dentro el icono.


Por otro lado, los ficheros que referencias por ahi

Code: [Select]
JasperReport archivo = JasperCompileManager.compileReport("Articulos.jrxml");
...
parametros.put("logo", "src/Images/logo_roble.png");

al ser ficheros normales (no dentro del class, por no cogerlos con getClass().getResource(), ni classloader ni esas cosas), deben estar Articulos.jrxml en el mismo directorio en el que este el jar y el logo_roble.png, en el directorio donde esté el jar tiene que haber un directorio src que tenga dentro un directorio Images que a su vez tenga dentro un logo_robles.png.

Si tus imagenes están dentro del jar, echa un ojo a esto https://stackoverflow.com/questions/13598655/how-to-add-image-as-parameter-from-projects-classpath-in-jasper-reports

Saludos.
8
Tengo los siguientes métodos para llamar reportes y el icono de mi aplicación.

Code: [Select]
public void reporteArticulos () throws IOException,JRException{
    //File file = new File("");
    JasperReport archivo = JasperCompileManager.compileReport("Articulos.jrxml");
    Map parametros = new HashMap();
        parametros.put("mes", UltimosArticulos.mesArticulos.getSelectedItem());
        parametros.put("año", Integer.parseInt((String) UltimosArticulos.añoArticulos.getSelectedItem()));
        parametros.put("logo", "src/Images/logo_roble.png");
    Conectar con = new Conectar("jdbc:mysql://localhost/papeleria");
   JRDataSource data = new JREmptyDataSource();
    JasperPrint prin = JasperFillManager.fillReport(archivo, parametros,con.getConnection());
   JasperExportManager.exportReportToPdfFile(prin,"reporteArticulos.pdf");
    JasperViewer ver = new JasperViewer (prin,false);
    ver.setVisible(true);
    ver.setTitle("Reporte de Artículos");
}

Code: [Select]
setIconImage(new ImageIcon (getClass().getResource("../Images/iconoLogo.png")).getImage());
El jar no se me ejecuta si utilizo estos metodos he investigado y me dicen que es por la ruta de los archivos,he intentado ponerlos en varias direcciones y no me funciona. Si alguien sabe donde los debo guardar, Gracias.
9
C/C++ linux / ESTRUCTURAS DERIVADAS (Punteros, listas, colas y arboles)
« Last post by hugotecnologia2 on Mayo 03, 2019, 09:51:56 pm »
Continuando con las estructuras que se utilizan en los lenguajes de programación, en esta ocasión conoceremos a los punteros, las listas, las colas y los arboles, basadas en las estructuras básicas y que se pueden adaptar fácilmente a las condiciones del programa en las que se utilizan.

Enlace del video en youtube: https://youtu.be/pLyjZ92VvIg
10
Ofertas de empleo / Programador Junior C++ Bilbao
« Last post by Highlander Recruitment on Mayo 02, 2019, 07:22:46 pm »
Importante empresa del sector Ocio precisa incorporar en su departamento técnico un/a programador/a C++ para incorporarse al equipo de desarrollos internos en la sede de Bilbao.

Si eres un perfil junior, y aún tienes poca experiencia laboral, esta es una muy buena oportunidad para incorporarte a jornada completa en un equipo de trabajo multidisciplinar donde podrás aprender y desarrollarte en la programación y en el trabajo en equipo.

Tu función será la programación de software para la gestión de máquinas recreativas y de videojuegos, y la gestión de los protocolos de comunicación con las máquinas. Dentro del equipo de trabajo podrás realizar diferentes tareas de programación más o menos complejas en función de tus conocimientos.


Se valorará positivamente:

- Imprescindible conocimiento y manejo de la Programación Orientada a Objetos y patrones de desarrollo.

- Programación en C++

 
Te ofrecemos

- Incorporación a equipo de trabajo multidisciplinar y dinámico en constante evolución

- Contrato laboral estable

- Salario acorde al puesto de trabajo

Interesados, por favor contactar a través de MP
Pages: [1] 2 3 ... 10
ey