Mostrar Mensajes

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


Mensajes - Ogramar

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 100
381
Buenas, para poner título a los temas, debe hacerse según se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Aunque aparentemente funcione, este código no debe considerarse bueno porque una línea genera error, en concreto <div id="uno" onclick="this.">?</div>

Además has definido con el mismo id diferentes div, esto no es una buena práctica. En una web los ids deben ser únicos y no repetirse. Si quieres aplicar un mismo estilo a diferentes elementos debes hacerlo usando class en lugar de id.

Salu2

383
Buenas, para poner título a los temas, debe hacerse según se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

El código cumple con lo que pedía el ejercicio.

Las declaraciones como var dato = [],numero,calcular; no las veo demasiado recomendables porque resultan un tanto confusas, aunque estén permitidas por el lenguaje. Veo más claro si se quiere:
var dato = [];
var numero, calcular;

Otra cosa que no veo adecuado es usar como nombre de variable calcular. calcular es más propio de nombre de función o método que de nombre de variable. Como nombre de variable resulta más lógico calculo, o resultadoCalculo, en lugar de calcular.

Salu2

384
Buenas LuisM

En etiquetas sin cierre explícito como <meta charset="utf-8"> recomendamos introducirlo así: <meta charset="utf-8" /> para cumplir el estándar XHTML.

En el textarea has introducido dentro del textarea lo que se supone era el texto indicando el contenido del textarea, es decir, igual que ponías Nombre: , País: , etc. tenía que ponerse Consulta que se quiere realizar:

Sin embargo al poner
<textarea name="consulta" rows="3" cols="40">...Consulta que se quiere realizar...</textarea>

se ve el texto dentro del textarea. No tiene demasiada importancia porque al fin y al cabo se entiende.

El botón para cancelar no muestra dentro el texto "Esto borrará los datos" (se supone que debía mostrarse dentro del botón ya que el ejercicio dice un botón para restablecer de tipo button que muestre dentro del botón lo siguiente: <<Pulse aquí para cancelar>>, un salto de línea, y el texto <<Esto borrará los datos>>. )

Salu2

385
Buenas, para poner título a los temas, debe hacerse según se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Este ejercicio se corresponde con la entrega CU01135E del curso (en el título has puesto supongo que por error 34E en lugar de 35E, lo he corregido)

El código que has planteado usa innerHTML, cuando innerHTML no se explica hasta la entrega CU01138E, por lo tanto la solución planteada parece que no se ajusta a la programación del curso

Salu2

386
Buenas LuisM. Los ejercicios no están bien resueltos. En la entrega CU00903C se trabaja con arrays o arreglos de datos primitivos por ejemplo int[ ] edad = new int[4];

En cambio tú has usado ArrayList que se trata de una clase para contener objetos. En Java hay que recordar que no es lo mismo un int que un Integer por ejemplo, aunque sean tipos relativamente equivalentes.

Por tanto aunque los programas funcionen, no se corresponde con el contenido visto en la entrega CU00903C

Los tipos de datos y tipos de arrays en Java están explicados en el curso básico de Java: https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Salu2

387
Buenas, para escribir en los foros es conveniente seguir las reglas que se indican en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Parece ser que BufferedImage es la mejor forma para convertir una imagen en un array de bytes. No obstante, también habría otras maneras de hacerlo. Copio aquí el código que he encontrado de dos formas alternativas para ello por si pudiera servir de ayuda. El primer código sería equivalente al segundo, pero el segundo es mucho más compacto.

Código alternativa 1:

Código: [Seleccionar]
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
 
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
 
public class ConvertImage {
 
    public static void main(String[] args) throws FileNotFoundException, IOException {
    /*
    * In this function the first part shows how to convert an image file to
    * byte array. The second part of the code shows how to change byte array
    * back to a image
    */
        File file = new File("C:\\rose.jpg");
        System.out.println(file.exists() + "!!");
 
        FileInputStream fis = new FileInputStream(file);
        //create FileInputStream which obtains input bytes from a file in a file system
        //FileInputStream is meant for reading streams of raw bytes such as image data. For reading streams of characters, consider using FileReader.
 
        //InputStream in = resource.openStream();
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] buf = new byte[1024];
        try {
            for (int readNum; (readNum = fis.read(buf)) != -1;) {
                bos.write(buf, 0, readNum);
                //no doubt here is 0
                /*Writes len bytes from the specified byte array starting at offset
                off to this byte array output stream.*/
                System.out.println("read " + readNum + " bytes,");
            }
        } catch (IOException ex) {
            Logger.getLogger(ConvertImage.class.getName()).log(Level.SEVERE, null, ex);
        }
        byte[] bytes = bos.toByteArray();
        //bytes is the ByteArray we need
 
 
        /*
         * The second part shows how to convert byte array back to an image file 
         */
 
 
        //Before is how to change ByteArray back to Image
        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
        Iterator<?> readers = ImageIO.getImageReadersByFormatName("jpg");
        //ImageIO is a class containing static convenience methods for locating ImageReaders
        //and ImageWriters, and performing simple encoding and decoding.
 
        ImageReader reader = (ImageReader) readers.next();
        Object source = bis; // File or InputStream, it seems file is OK
 
        ImageInputStream iis = ImageIO.createImageInputStream(source);
        //Returns an ImageInputStream that will take its input from the given Object
 
        reader.setInput(iis, true);
        ImageReadParam param = reader.getDefaultReadParam();
 
        Image image = reader.read(0, param);
        //got an image file
 
        BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
        //bufferedImage is the RenderedImage to be written
        Graphics2D g2 = bufferedImage.createGraphics();
        g2.drawImage(image, null, null);
        File imageFile = new File("C:\\newrose2.jpg");
        ImageIO.write(bufferedImage, "jpg", imageFile);
        //"jpg" is the format of the image
        //imageFile is the file to be written to.
 
        System.out.println(imageFile.getPath());
    }
}

Código alternativa 2:

Código: [Seleccionar]
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
 
 
public class SimpleConvertImage {
public static void main(String[] args) throws IOException{
String dirName="C:\\";
ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
BufferedImage img=ImageIO.read(new File(dirName,"rose.jpg"));
ImageIO.write(img, "jpg", baos);
baos.flush();
 
String base64String=Base64.encode(baos.toByteArray());
baos.close();
 
byte[] bytearray = Base64.decode(base64String);
 
BufferedImage imag=ImageIO.read(new ByteArrayInputStream(bytearray));
ImageIO.write(imag, "jpg", new File(dirName,"snap.jpg"));
}
}

Salu2

388
Buenas paramonso por favor, a la hora de poner título a los temas seguir las indicaciones que están en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Ejercicio bien resuelto

Salu2

389
Buenas paramonso

En el ejercicio 1 el código propuesto funciona, no obstante no es la forma más elegante de escribirlo

Código: [Seleccionar]
if (tecla=='='){var resultado = eval(nodoTextoPantalla.nodeValue);nodoTextoPantalla.nodeValue = resultado;}
else {nodoTextoPantalla.nodeValue = nodoTextoPantalla.nodeValue + tecla;}
if (tecla=="C"){nodoTextoPantalla.nodeValue = ' '; }

Si te fijas, en el caso de pulsarse C en primer lugar se ejecuta el else del primer if, y luego el segundo if. Estás ejecutando dos sentencias cuando solo te haría falta una como puede verse en https://www.aprenderaprogramar.com/foros/index.php?topic=2461.msg11750#msg11750

El ejercicio 2 funciona bien. En realidad bastaba con mostrar el sentido del movimiento

Puedes ver una solución en el mismo hilo que he puesto antes

Salu2

390
Buenas paramonso, como ya hemos comentado en otros hilos por favor para poner título a los temas en los foros sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

En este ejercicio no solo has hecho lo que se pedía, sino mucho más (presentación en un cuadro, posibilidad de borrar, etc.).

En general se ve buen código y buen manejo de los conceptos. Las únicas sugerencias que te haría serían las siguientes:

- Dale nombres adecuados a las funciones. Por ejemplo la función cogerPalabra no tiene un nombre adecuado, porque el nombre de la función no describe lo que hace la función, el cometido principal de esta función no es coger una palabra.

- Divide en distintas funciones las distintas acciones a realizar. Por ejemplo si quieres adecuar  y dar estilos al cuadro, podrías hacer eso en una función dotarCuadroConEstilos(), otra función si es para pedir la palabra sería pedirPalabra, otra si fuera para extraer y mostrar las letras extraerYMostrarLetras(), etc. Las funciones a definir debe pensarlas cada programador.

Salu2

391
Buenas paramonso, como ya hemos comentado en otros hilos por favor para poner título a los temas en los foros sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

El ejercicio hace lo que pedía el enunciado, por ese lado todo bien.

Observaciones:

En la función ejemploFor parece que hay tres líneas que no sirven para nada (al menos yo no he logrado verle la utilidad, y si las elimino el código funciona igual). Estas líneas son las relacionadas con subpalabra:

Código: [Seleccionar]
var subpalabra = new Array();
subpalabra[0]='';
subpalabra[i] = subpalabra[i-1] + palabra.charAt(i-1);
   
El código funciona, pero si realmente estos fragmentos no tienen utilidad, podríamos decir que el código no está bien depurado, porque no es correcto que quede código sin utilidad.

Hay un detalle que puede resultar un tanto extraño a quien lo revise. En la función function mostrarContParrafos(elemento) hay algo que no es del todo coherente. Por un lado el nombre de la función es mostrarContParrafos y por otro lado la función recibe un parámetro, lo cual haría que no solo fuera invocable con párrafos sino también con cualquier otro elemento del DOM (p.ej. div, span, h1, label, etc.). Esto supone que el código es un tanto incoherente. Si el nombre de la función es mostrarContParrafos, ya no resulta lógico pasarle un parámetro, ya que únicamente se supone que va a trabajar con párrafos y no con otros elementos. Puede verse un ejemplo en https://www.aprenderaprogramar.com/foros/index.php?topic=3289.0

Salu2

392
Buenas paramonso, todo bien (*)

Donde dices "En el primer caso le preguntamos si el valor es verdadero y en el segundo si está pulsado" mejor diríamos "En el primer caso le preguntamos si el valor es verdadero y en el segundo si está marcado". Pulsado pareciera dar a entender que hubiera una tecla pulsada o algo así.

Salu2

(*) Nota: ver lo que se indica a continuación.

394
Buenas LuisM, todo bien.

Recomendamos escribir <meta charset="utf-8"/> en lugar de <meta charset="utf-8"> para cumplir el estándar XHTML.

Otra recomendación sería no usar caracteres que no sean letras o números en los atributos, por ejemplo name="entradalista" mejor que name="entradalista[]"

Salu2

395
Buenas, al ejecutar el código salta un error java.lang.NullPointerException

Esta excepción te la lanza porque el array no está inicializado.

Puedes ver un ejemplo de funcionamiento poniendo en el constructor algo como esto:

Código: [Seleccionar]
   public Numbers(){
    docNumbers = new int[100];
   }

Al escribir esto ya no te lanzará el error. En este caso te permitiría poner en el archivo hasta 100 números aunque esto no es una solución ideal. Pueden pensarse en otras maneras de tener una lista dinámica que te permita no tener posiciones fijas en el array.

Para esto hacen falta conceptos básicos de Java, te recomiendo consultar los siguientes cursos:

Curso básico de Java: https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Curso avanzado: https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

Salu2

396
Buenas paramonso, el esquema se ve bien planteado

Me queda una duda con una cuestión que se comenta en el curso:

"Attribute: los atributos de las etiquetas definen nodos, aunque trabajando con JavaScript no los veremos como nodos, sino que lo consideramos información asociada al nodo de tipo element."

Sería interesante comprobar si, con lo que se explica en las siguientes entregas del curso, cuando tenemos un element img, los atributos name, src, etc. JavaScript los interpreta como nodos tal y como los has dibujado tú (esto sería un ejercicio consistente en ir recorriendo todos los nodos y comprobando si realmente se corresponden con el dibujo)

Salu2

400
Buenas, quizás te sea útil consultar el curso de JavaScript en https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Faltaría que concretaras cuál es la consulta o dónde encuentras el error o problema, ver https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 de cara a plantear consultas

Salu2

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 100

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".