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ú

Temas - Juanma91

#1
Es una aplicacion bastante sencilla pero dispongo de poco tiempo y me urge tenerla. Tengo algo hecho pero necesito de una persona que conozca bien Android. Condiciones por privado
#2
Java / Duda rapida Uso libreria FTPClient
19 Mayo 2015, 22:03 PM
Código (java) [Seleccionar]
 MAIN {
       GestionFTP ges = new GestionFTP();
       ges.conectar("localhost", "XXXX", "XXXX");  //conectamos la maquina al servidor local..

       ges.descargarFichero("C:/Users/J/Desktop/Informática/FTP/pruebaftp.txt", "C:/Users/J/Desktop", "pruebaftp.txt");

   }


Método que descarga archivo...

Código (java) [Seleccionar]
public boolean descargarFichero(String rutaFichero, String rutaDescarga, String nombreArchivo) {
       try {
           //cambiar la ruta donde se encuentra el fichero
           cliente.changeWorkingDirectory(rutaFichero);
           cliente.setFileType(FTP.BINARY_FILE_TYPE);
           rutaDescarga = rutaDescarga + "/" + nombreArchivo;
           BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(rutaDescarga));
           boolean ok = cliente.retrieveFile(nombreArchivo, bos);
           System.out.println(ok);
           System.out.println(cliente.getReplyCode());
           System.out.println(cliente.getBufferSize());

       } catch (IOException ex) {
           Logger.getLogger(GestionFTP.class.getName()).log(Level.SEVERE, null, ex);
       }

       return false;
   }



salida:

Código (java) [Seleccionar]
Conectado!
true
226


La historia es que se descarga correctamente, pero todos los archivos que descargo ( documentos de texto, imágenes... tienen 0 bytes y no entiendo porque si se supone que el codigo 226 quiere decir que el archivo se ha descargado bien  :(
#3
necesito extraer información de un fichero

el contenido del fichero es el siguiente:

A,1
B,2
C,3

Si yo hago un split para quitar las comas mi salida es la siguiente:

A
1
B
2
C
3


Pero yo no quiero eso, lo que quiero es que me interprete mediante un metodo que me devuelva:
A
B
C

y otro metodo

1
2
3

Sera muy sencillo pero no consigo hacerlo..

#4
Código (php) [Seleccionar]
<?php 
function form_mail($sPara$sAsunto,$sTexto$sDe)

$bHayFicheros 0
$sCabeceraTexto ""
$sAdjuntos "";
$design=$_POST["design"];
foreach (
$_POST["design"] as $idioma){
$msg.= $idioma." - ";
}

if (
$sDe)$sCabeceras "From:".$sDe."\n"
else 
$sCabeceras ""
$sCabeceras .= "MIME-version: 1.0\n"
foreach (
$_POST as $sNombre => $sValor
$sTexto $sTexto."\n".$sNombre." = ".$sValor;

foreach (
$_FILES as $vAdjunto)

if (
$bHayFicheros == 0)

$bHayFicheros 1
$sCabeceras .= "Content-type: multipart/mixed;"
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto "----_Separador-de-mensajes_--\n"
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n"
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto $sCabeceraTexto.$sTexto

if (
$vAdjunto["size"] > 0)

$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n"
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";; 
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n"
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero fopen($vAdjunto["tmp_name"], 'r'); 
$sContenido fread($oFicherofilesize($vAdjunto["tmp_name"])); 
$sAdjuntos .= chunk_split(base64_encode($sContenido)); 
fclose($oFichero); 

}

if (
$bHayFicheros
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n"
return(
mail($sPara$sAsunto$sTexto$sCabeceras)); 
}

//cambiar aqui el email 
if (form_mail("ghfjhfgj@ngkjhg.com"$_POST[mail], 
"Los datos introducidos en el formulario son:\n\n"$_POST[email])) 
echo 
"Su formulario ha sido enviado con exito"
?>


como conseguir que al pulsar un select determinado, al enviar el mensaje te muestre esa opción..Gracias
#5
Tengo esa pequeña duda, gracias.
#6
Java / Duda sencilla
4 Junio 2014, 22:53 PM
Os cuento estoy haciendo un programa en el cual comente unas publicaciones... Lo primero para publicar algo, debe estar aprobada, es decir, que sea true

Mi metodo es el siguiente...

  public void comentar(Publicacion publicacion) {
       if(amistad.isAprobado()==false){
     System.out.println("Debes aprobarlo");
}else{
//Como esta aprobado...

comentarios.add(publicacion);

}
    }


en mi clase main si no apruebo primero dicha amistad, me devuelve falso, si la apruebo true. lo que no entiendo es porque se salta el isAprobado(), siempre es falso, por lo tanto no comenta, yo quiero conseguir que cuando este a true inserte en el arraylist dicha publicacion. Gracias
#7
Java / duda metodo comentar ( URGENTE ! )
18 Mayo 2014, 16:27 PM
Hola amigos, estoy intentando crear una aplicación y la verdad no le veo el fallo, o quiza no tengo un fallo y todo es producto de algo mal programado...

la cuestion es que intento crear una especie de facebook y tengo este metodo

   public void aprobar(tipo tipo) {
       aprobado = true;
       this.tipo = tipo;
   }


esto es en mi clase amistad en el que apruebo la amistad para que pueda comentar..

 public void comentar(Publicacion publicacion) {
 
   if(amistad.isAprobado()){
     comentarios.add(publicacion);
   }else{
       System.out.println("no esta aprobada la amistad");
   }
   }
Mi clase publicacion en el cual compruebo que amistad debe estar aprobado para que añada la publicacion en mi arraylist de comentarios

clase main...

amistad.aprobar(Amistad.tipo.OTRO); Aqui luego me devuelve true, pero yo lo que quiero cerciorarme, es que si no apruebo la amistad me sale el sout de " que no esta aprobada la amistad... de esta manera si no esta aprobada, no podra meter nada en el arraylist ( cosa que tampoco lo toma en cuenta)
#8
Mi error es que a veces carga mis jpanel dentro de mi panel de pestañas pero otras veces no, quiero conseguir que me cargue mis jpanel al clicar una vez en mi nodo


int filas = arbol.getRowForLocation(e.getX(), e.getY());
                TreePath ruta = arbol.getPathForLocation(e.getX(), e.getY());

                Object[] lista = ruta.getPath();

                if (filas != -1) {
                    if (lista[2] instanceof DefaultMutableTreeNode && lista[2] == listadoProducto) {
                        if (e.getClickCount() == 1) {

                            if (isListado == false) {
                                panelListado = new JPanel();
                                panelPestaña.addTab("Listado Producto", panelListado);//añadimos el panel al tabbedPane en una nueva viñeta
                                try {
                                    panelListado.add(new ListadoProducto(Vista.this));
                                } catch (Exception ex) {
                                    System.out.println(ex);
                                }
                                isListado = true;
                            } else {
                                panelListado.removeAll();
                                try {
                                    panelListado.add(new ListadoProducto(Vista.this));
                                } catch (Exception ex) {
                                    System.out.println(ex);
                                }
                                revalidate();
                                repaint();
                            }
                        }
                    } else if (lista[2] instanceof DefaultMutableTreeNode && lista[2] == listadoCategoria) {
                        if (e.getClickCount() == 1) {
                            if (isListado = false) {
                                panelListado = new JPanel();
                                panelPestaña.addTab("Listado Categoria", panelCreacion);
                                try {
                                    panelListado.add(new ListadoCategoría(Vista.this));
                                } catch (Exception er) {
                                    System.out.println(er);
                                }
                                isListado = true;
                            } else {
                                panelListado.removeAll();
                                try {
                                    panelListado.add(new ListadoCategoría(Vista.this));
                                } catch (Exception ex1) {
                                    System.out.println(ex1);
                                }
                                revalidate();
                                repaint();
                            }

                        }
                    } else if (lista[2] instanceof DefaultMutableTreeNode && lista[2] == creacionCategoria) {
                        if(e.getClickCount()==1){
                            if(isCreate==false){
                                panelPestaña.addTab("Creacion Categoria", panelCreacion);
                                panelCreacion.add(new CrearCategoria());
                                isCreate= true;
                            }else{
                                panelPestaña.removeAll();
                                panelCreacion.add(new CrearCategoria());
                                revalidate();
                                repaint();
                            }
                        }

                    } else if (lista[2] instanceof DefaultMutableTreeNode && lista[2] == creacionProducto) {
                        if(e.getClickCount()==1){
                            if(isCreate==false){
                                panelPestaña.addTab("Creacion Producto", panelCreacion);
                                panelCreacion.add(new CrearProducto());
                                isCreate=true;
                            }else{
                               panelPestaña.removeAll();
                               panelCreacion.add(new CrearProducto());
                               revalidate();
                               repaint();
                            }
#9
Necesito vuestra ayuda urgente! :huh: :huh: :huh:


Esta clase controlador devuelve mi listado de Productos
Clase controlador:
public List<Producto> listarProductos() throws Exception {
       return (List<Producto>) vista.calcularResultado(producto.getAll());
   }

luego...

creo una vista ListaProducto para el cual mostrar los datos de ese List en cada
una de las celdas del jtable..LO INICIALIZO A CERO

//Jpanel ListadoProducto
init(){
jScrollPane1 = new javax.swing.JScrollPane();
       tabla = new javax.swing.JTable();

       tabla.setModel(new javax.swing.table.DefaultTableModel(
           new Object [][] {
               {null, null, null, null,null,null,null},
               {null, null, null, null,null,null,null},
               {null, null, null, null,null,null,null},
               {null, null, null, null,null,null,null}
           },
           new String [] {
               "Id Producto", "Id Cat. Producto", "Nombre Producto", "Tipo","Precio de Venta","Precio de compra","Vendible"
           }
       ));
       jScrollPane1.setViewportView(tabla);
}


Ahora tengo un método en el cual pasarle los datos( rs.getInt(1) en la primera celda y asi... pero no se como hacerlo, ¿alguien me ayuda porfavor?

   private void obtenerlistadoproducto(){
     
           //Aquí el controlador devuelve la lista completa. No sé hacer que cada cosa vaay en su celda...

   }
#10
Hay alguna forma de mostrar un jframe que hice en modo diseño dentro del panel de una pestaña. Lo máximo que he conseguido es que aparezca aparte pero no quiero eso, quiero que se muestre dentro. El problema es que he investigado y segun se comenta un jframe no puede estar dentro de un jtabbepane pero con panel si. Esa es mi duda... y también saber como controlar que si una pestaña este abierta que no se abra más veces

ASÍ
#11
Java / duda javafx sencilla (calculadora)
28 Febrero 2014, 17:23 PM
Buenas amigos, tengo una dudilla respecto a javafx, pues acabo de empezar y me resulta un pelin enrevesado, de forma normal ningun problema pero lo que estoy haciendo es construir una calculadora en javafx, cada tecla tiene su actionevent( construido desde scenebuilder ) lo que quiero conseguir es si pulso la tecla (+) los dos numeros recogidos en el textfield me los sume y obtenga el resultado en el textfield. Es decir:

String operacion= campoResultado.getText();   // aqui esta por ejemplo 1+1
si operacion es +{
modelo.sumar(primernumero,segundo numero);  // como decirle al textfield cual es cual
}

//mostrar el resultado casteado a double en el campoResultado;
#12
Java / modelo productor consumidor
31 Enero 2014, 19:33 PM
No consigo entender porque siempre esta esperando mi programa. quiero conseguir el efecto "ping-pong" con el modelo productor consumidor pero se queda siempre en wait(); a que se debe?

facilito micodigo:

public class Cola {

   private String numero;
   private boolean disponible=false;

   public synchronized String get() {
      while (disponible == false) {
           try {
               wait();
           } catch (InterruptedException e) {
           }
       }
       disponible = false; //lo va a consumir
       notifyAll();

       return numero;
   }

   public synchronized void put(String valor) {
       while (disponible == true) {
           try {
               wait();
           } catch (InterruptedException e) {
           }
           numero = valor;
           disponible = true; //lo va a consumir
           notifyAll();

       }
   }


public class Consumidor extends Thread{
   private Cola cola;
   private String n;

   public Consumidor(Cola cola) {
       this.cola = cola;
   }
   
   @Override
   public void run(){
       while(true){
           n = cola.get();
           System.out.println(n);
       }
   }


public class Productor extends Thread {

   private Cola cola;
   private String texto;
   private String texto2;
   private String actual;

   public Productor(Cola cola, String texto, String texto2) {
       this.cola = cola;
       this.texto = texto;
       this.texto2 = texto2;
       this.actual = texto2;
   }

   @Override
   public void run() {
       while (true) {
               if (!actual.equals(texto2)) {

                   cola.put(texto2);
                   actual = texto2;
               } else {

                   cola.put(texto);
                   actual = texto;
               }

       }
   }


main(){
Cola cola= new Cola();
Productor p= new Productor(cola,"ping","pong);
Consumidor c= new  Consumidor(cola);
p.start();
c.start();
#13
Hola tengo una duda. Y es que, no consigo que mi programa muestre un tag modificado con el nombre que yo quiera. El codigo en cuestion es este..

xstream.alias("Empleado", Empleados.class);
        xstream.aliasField("dir", Empleados.class, "director");



mi xml tiene varios campos, uno de ellos (dir) ( los leo desde la base de datos) quiero que aparezca esa etiqueta con el valor modificado, es decir <director></director> por ejemplo. Creo que se hace con aliasField como pongo en el codigo, pero me lo imprime exactamente igual. en qué fallo amigos??


#14
Java / Duda Apache Commons CLI
7 Noviembre 2013, 23:07 PM
Hola compañeros, tengo una duda que no sé como resolverla:

usage: Vista.CalculadoraCLIVista
-resta                  Calcula la resta dos operandos
-suma             Calcula la suma dos operandosl



¿ Cómo puedo "decirle" que el args[0] equivale a resta,suma..etc?

Lo estoy haciendo con el patron MVC y el código de la vista lo tengo así , pero no estoy muy convencido que este bien..

public void realizarOperacion(String[] args,double x, double y) {
       
        // para poder pasarle el options al parser
        Options options = mostrarOpciones();

        CommandLineParser parser = new BasicParser();
        CommandLine cmd = null;
        try {
            cmd = parser.parse(options, args);
        } catch (ParseException ex) {
            Logger.getLogger(CalculadoraCLIVista.class.getName()).log(Level.SEVERE, null, ex);
        }

        if (cmd == null) {
            System.err.println("No se cargo bien el parseador de la linea de comandos");

            System.exit(-1);
        }

        if (cmd.hasOption("h") || cmd.getOptions().length == 0) {
            new HelpFormatter().printHelp(CalculadoraCLIVista.class.getCanonicalName(), options);
            return;
        }

        if (cmd.hasOption("suma")) {
            // leer los dos argumentos , convertirlos a double y realizar operacion.
           
        // "x" seria el primer operando que se le pasa," y" el segundo.
            x = Double.parseDouble(args[1]);
            y = Double.parseDouble(args[2]);
            controlador.sumar(x, y);
        }

}

  .. de tal manera que yo ponga  sumar 1 2 y la línea de comandos me devuelva 3.. :S
#15
wenas gente! no consigo importarla.. la cuestión es que quiero en la linea de comandos ejecutar ...

javac aplicacionCLI

me salta...
C:\Users\Juanma\Desktop>javac aplicacionCLI.java
aplicacionCLI.java:6: error: package org.apache.commons.cli does not exist
import org.apache.commons.cli.*;
...
8 errors


Alquien me podría explicar QUE TENGO QUE HACER PARA IMPLEMENTAR LA LIBRERIA COMMONS CLI BIEN PARA YO PODER EJECUTAR MIS APLICACIONES DESDE DONDE YO QUIERA????
#16
1º La base de datos en sql compact

2º no la tengo importada en el proyecto

   Public Sub add(ByVal juguete As Juguete) Implements IJugueteDAO.add
       ' Creo acceso a db a través de EF
       Dim ef = New juguetes1Entities()

       ' Creo juguete en la base de datos
       Dim jugueteEf = ef.Juguetes.CreateObject()
       ' Le asigno los valores de mi modelo
       jugueteEf.EdadMinima = juguete.EdadMinima
       jugueteEf.Nombre = juguete.Nombre
       jugueteEf.Precio = juguete.Precio
       ' Guardo los cambios en la db
       ef.SaveChanges()
   End Sub



borrar...


Public Sub remove(ByVal juguete As Juguete) Implements IJugueteDAO.remove
       Dim ef = New juguetes1Entities()

       ' Busco en la db el juguete por el ID
       Dim jugueteEf = From s In ef.Juguetes Where s.Id = juguete.Id

       ' Tras eso, lo borro
       ef.Juguetes.DeleteObject(jugueteEf)
       ' Creo que en el delete save es opcional...
       ef.SaveChanges()
   End Sub



actualizar....


   Public Function Update(ByVal juguete As Juguete) Implements IJugueteDAO.update
       Try
           Dim ef = New juguetes1Entities
           Dim productoEF = (From s In ef.Juguetes Where s.Id = juguete.Id Select s).First()
           productoEF.Nombre = juguete.Nombre
           productoEF.EdadMinima = juguete.EdadMinima
           productoEF.Precio = juguete.Precio

           ef.SaveChanges()
           Return True
       Catch
           Return False
       End Try
   End Function




en el form....

Class MainWindow

   Dim juguete As Juguete

   Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded


       For Each j In CatalogoJuguetes.Instancia.getAll
           ComboBox1.Items.Add(j)
       Next
   End Sub

 

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click

       Dim precio = Double.Parse(TextBox1.Text.ToString)
       Dim nombre = TextBox2.Text.ToString
       Dim edad = TextBox3.Text.ToString
       Dim id = Integer.Parse(TextBox4.Text.ToString)

       juguete = New Juguete(precio, edad, nombre, id)
       CatalogoJuguetes.Instancia.add(juguete)
       ComboBox1.Items.Add(juguete)

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
       ComboBox1.Items.Remove(juguete)


           CatalogoJuguetes.Instancia.remove(juguete)

   End Sub



AL AÑADIR ME LO AÑADE AL COMBOBOX Y SUPUESTAMENTE EN LA BASE DE DATOS PERO CUANDO VUELVE A EJECUTARLO, ESTE NO ME APARECE, BORRAR ME SALTA UN InvalidCastException Y LA VERDAD NO SÉ SOLUCIONARLO Y EL TERCERO QUERRIA ACTUALIZARLO .. SI PUEDEN AYUDARME GRACIAS
#17
Hola, quiero crear un  esta clase Timer para mover unos villanos en un tablero aleatoriamente ,el codigo es el siguiente..

Imports System
Imports System.Timers


Public Class Timerclase
   
    Private Shared aTimer As New System.Windows.Forms.Timer()
    Shared villa1 As Villano
    Shared villa2 As Villano
    Shared villa3 As Villano
    Shared heroe As Heroe

    Private Shared Sub timermovervillanos(ByVal myObject As Object, _
                                           ByVal myEventsArgs As EventArgs)

        If heroe.GetMuerto = False Then
            If villa1.GetMuerto = False Then
                villa1.move()
            End If
            If villa2.GetMuerto = False Then
                villa2.move()
            End If
            If villa3.GetMuerto = False Then
                villa3.move()
            End If
        End If
        main()
    End Sub


    Public Shared Sub main()
        AddHandler aTimer.Tick, AddressOf timermovervillanos
        aTimer.Enabled = True
        aTimer.Interval = 500
        aTimer.Start()

    End Sub

     
End Class
  con un timer arrastrado desde controles y poniendo solo los if me va pero yo quiero controlar este timer para que luego lo llame en un metodo y funcione,
#18
Se necesita persona para ayudarme en un videojuego simple pero que no puedo sacarle punta por falta de conocimientos, se trata de una especie de pacman moviendose por un tablero, interesados contectar conmigo en este email: juanma1991@gmail.com, llevo algo avanzado, os l agradeceria de veras. SALUDOS
#19
como podría hacerlo se que es tipo:   Private Sub Movimi_EventHandler(...) Handles _tablero.MovimientoEvent pero no sé sacarle punta a esto.. lo que pretendo es que desde ese metodo se llame y se vaya actualizando mi interfaz al mover un objeto picturebox sobre un tablelayout.. y APARTE este código tambien no se sacarle punta!

Private Sub Form2_KeyDown(...) Handles MyBase.KeyDown
Select Case e.KeyCode
            Case Keys.Up
                  [b]_tablero.MoveUpH()[/b]  -->[i] lo que pretendo con esta función es mover este objeto [b]( Picturebox)[/b] en mi tablelayout hacia arriba, del cual le he asignado unas dimensiones de 8X8, y el metodo de arriba [b]actualize la interfaz para moverlo por su tablero de las dimensiones dichas[/b].[/i]

        End Select


También os facilito mi codigo del tablero:
  Function moveUpH(ByVal heroe As Heroe) As Boolean
        Dim coord = calculaCoordenada(heroe, 0, -1)
        Return moveH(heroe, coord)
    End Function



y este...

Function moveH(ByVal heroe As Heroe, ByVal c As Coordenadas) As Boolean
        ' Aquí lo que se hace cuando se mueve el héroe


        If (TypeOf (e) Is Bloques) Then
            Return False
        ElseIf (TypeOf (p) Is Pastillas) Then
            If (TypeOf (p) Is PastillaNormal) Then

                ' la consumo

                Return True
            ElseIf (TypeOf (p) Is Vitamina) Then

                ' Gano al villano

                Return True
            End If
        End If

        If (TypeOf (e) Is Villano) Then

            ' Duelo

            Return False
        End If
        Return True

    End Function
#20
Buenas, estoy creando un videojuego en el cual tengo que mover un objeto de tipo "Heroe" en un TableLayoutPanel de 8*8...

Código (vbnet) [Seleccionar]
Public Class Casilla
    Inherits Encasillable
    Dim e As Elemento
    Dim p As Pastilla

    ' Sub New(ByVal elemento As Elemento, ByVal pastilla As Pastilla)
    ' elemento = e
    '  pastilla = p
    '  End Sub

   
    Public Property setElemento() As Elemento

        Get
            Return e
        End Get
        Set(ByVal value As Elemento)
            e = value
        End Set

    End Property


End Class


y luego.. en clase  Tablero

Código (vbnet) [Seleccionar]
Function addElemento(ByVal elemento As Elemento, ByVal x As Integer, ByVal y As Integer)
        dimensiones(x, y).setElemento(elemento)

        Return True
    End Function


al hacer esto me salta el error, o qué tengo que hacer exactamente para que el setElemento me "trague" dicho "elemento"? Disculpad, soy novato en esto ( Al ser posible explicadlo "para tontos".GRACIAS