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 - Manuel Sierra

Páginas: [1] 2 3 4
1
CONSULTA:

El ancla lo he puesto y tampoco funciona.

RESPUESTA:

Para hacer funcionar correctamente la funcionalidad de un ancla es necesario hacer 2 pasos.
  • - Definir un enlace que será el ancla y darle un nombre identificador. (ojo tiene que ser un enlace).
  • - Definir un enlace que al pinchar en el vaya al enlace del ancla. Para ello utilizamos su nombre identificador y ponermos en la propiedad del enlace href que vaya a la url: #nombreancla

Así si pulsamos en Joomla sobre el botón de ver el código html, el enlace del ancla deberá de tener un código similar a este:
Código: [Seleccionar]
<a name=nombreancla>
Mientras que en enlace que queremos apunte al ancla contendrá algo similar a esto:

Código: [Seleccionar]
<a href="#nombreancla">

2
Yo también estoy de acuerdo, teniendo en cuenta que la mayoría de asignaturas utilizarán un lenguaje sobre el que explicaran los contenidos, ya sea bién un pseudolenguaje o un lenguaje actual de programación. Pero los conocimientos y conceptos básicos serán similares.

A mí en particular me costó al principio por no llevar nada de base en estos aspectos, así que si tienes tiempo y ganas pues te aconsejaría que tranquilamente comenzaras a estudiar algo.

Un saludo.

3
Hola Charmedever:

Un placer volverte a leer y ver tus dudas por aquí. En cuanto al problema he descargado el código que has puesto y no veo ningún problema. Pulsas el botón y se oculta el frame.

El único problema es que no se muestra el marco 2, pero porque habías puesto que era de la clase JInternalFrame en vez de JFrame. Esta clase la podrías usar pero deberías añadirla a algún componente que la contuviera de hay que sea Internal.

Así que simplemente cambié f2 por un JFrame y algunos detallitos más como unos nombres de botones más adecuados.

Te invitaría antes de que siguieras leyendo que realizaras el cambio en tu máquina e intentaras resolverlo por tí mismo. Y sino pues echarle un vistazo al siguiente código que te paso.

Un saludo.

Código: [Seleccionar]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Marcos extends JFrame
{
    JFrame f1;
    public JFrame f2;
    public JButton b1, b2, b3;
    Marcos ()
    {
        this.setSize(400, 400);
        f1 = new JFrame ("Marco 1");
        //f1.setTitle("Marco 1");
        f1.setSize(300,300);
        //f1.setVisible(true);
        f2 = new JFrame ("Marco 2");
        //f2.setTitle("Marco 2");
        f2.setSize(300,300);
        //f2.setVisible(true);
        //f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        b1 = new JButton ("Muestra Marco 2");
        b2 = new JButton ("Inicio");
        b3 = new JButton ("Muestra Marco 1");
        //add(b1);
        add(b2);
        f1.setLayout(new BorderLayout ());
        f1.add(b1, BorderLayout.CENTER);
        f2.setLayout(new GridLayout (2,2));
        f2.add(b3);
        //registro de auditores (escuchas)
        b1.addActionListener(new ActionListener ()
        {
            public void actionPerformed (ActionEvent e)
            {
                if (e.getSource()==b1)
                {
                   
                    f2.setVisible(true);
                    f1.setVisible(false);
                   
                }
            }
        });
        b2.addActionListener(new ActionListener ()
        {
            public void actionPerformed (ActionEvent e)
            {
               
                if (e.getSource()==b2)
                {
                    f1.setVisible(true);
                    f2.setVisible(false);
                }
            }
        });
        b3.addActionListener(new ActionListener ()
        {
            public void actionPerformed (ActionEvent e)
            {
               
                if (e.getSource()==b3)
                {
                    f1.setVisible(true);
                    f2.setVisible(false);
                }
            }
        });
    }
}
class temporal
{
    public static void main (String []args)
    {
        Marcos m2 = new Marcos ();
        //m2.setSize(300,300);
        m2.setVisible(true);
        m2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    }
}

4
Recientemente la W3C ha publicado el listado de los 100 errores más comunes en validación html de más de 500.000 sitios web.

En el siguiente enlace se puede ver una lista de los errores de validación más comunes

https://line25.com/articles/10-common-validation-errors-and-how-to-fix-them

5
Comunidad / Re:cierre de dilandau.com
« en: 06 de Agosto 2012, 14:09 »
Recientemente se han visto videos en youtube a modo de video tutoriales de lo fácil que es romper la cerradura de un coche y abrirlo. Ello supone que aprender unos conocimientos no están penados, lo que si es ilegal claro está es la realización de estos actos.

6
Si claro utf8_general_ci como se indica es general y ademas claro está funciona para el idioma español. Si quisieramos utilizar también para el español pero solo para estos idiomas, podríamos utilizar utf8_spanish_ci y utf8_spanish2_ci que se corresponden con el español moderno y tradicional respectivamente.

Al parecer tengo entendido que ademas utf8 general es más rápido por lo que en principio para el español se aconseja utilizar utf8_general_ci.

7
Hola Charmedever:

En principio es que tenías mal programado el código. Creabas una variable precio internamente en el ActionListener en vez de coger la variable global.

También a la hora de calcular el precio, no lo multiplicabas por el valor del interes correspondiente, sino por 0.04%.

Para el plazo no utilizabas la misma variable sino tenias varias y despues el grupo de botones para los radio buttons no lo tenias creado, con lo cual podias piinchar a la vez en varios plazos.

Todo esto hacía además que no funcionara las cosas como debían.

Cuando nos enfrentamos a una aplicación ya de cierto tamaño, puede ser una tarea muy dura el enfrentarnos a todos los problemas de golpe, y es mejor ir pasito a pasito pero seguros de que el componente hace lo que tiene que hacer en tal evento, o que recuperamos el valor correspondiente en tal paso del código.

Seguramente se puede refinar todavía un poco más el código, pero te voy a pasar mi solución al problema.

Aunque antes yo si fuera tú, con los comentarios que te he echo antes, intentaría hacer la solución al problema por mi cuenta, así aprenderás mucho más.

A continuación mi solución por si te atascas espero te sirva de ayuda.

Código: [Seleccionar]
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
import javax.swing.border.Border;
class ExamenPractico extends JFrame
{
    JPanel p1,p2,p3;
    JLabel e1,e2,e3;
    JComboBox cb;
    JTextField t;
    JCheckBox ck;
    JRadioButton rb1,rb2,rb3;
    ButtonGroup btgroup;
    JButton b1,b2;
    Border t1,t2,t3;
    String articulo []= {"Pantalla LCD","Teatro en casa","Minicomponente"};
    BorderLayout bL;
    double precio; String producto; int plazo;
    JTextArea txt;
    ExamenPractico ()
    {
        p1 = new JPanel ();
        t1 =BorderFactory.createTitledBorder("Articulo");
        p1.setBorder(t1);
        p2 = new JPanel ();
        t2 =BorderFactory.createTitledBorder("Plazo");
        p2.setBorder(t2);
        p3 = new JPanel ();
        t3 =BorderFactory.createTitledBorder("Imprimir");
        p3.setBorder(t3);
        e1 = new JLabel ("Descripcion");
        e2 = new JLabel ("Precio $");
        e3 = new JLabel ("Interes");
        cb = new JComboBox (articulo);
        t = new JTextField (10);
        ck = new JCheckBox ("4%",true);
        rb1 = new JRadioButton ("6 meses",false);
        rb2 = new JRadioButton ("12 meses", false);
        rb3 = new JRadioButton ("18 meses",false);
        btgroup = new ButtonGroup();
        btgroup.add(rb1);
        btgroup.add(rb2);
        btgroup.add(rb3);
        b1 = new JButton ("Pago mensual");
        b2 = new JButton ("Limpiar");
        txt = new JTextArea ();
        bL = new BorderLayout (10,10);
        setLayout(bL);
        add(p1);add(p2);add(p3);
        p1.setLayout(new GridLayout(3,1));
        p2.setLayout(new GridLayout (3,1));
        p1.add(e1); p1.add(cb); p1.add(e2);p1.add(t); p1.add(e3); p1.add(ck);
        p2.add(rb1); p2.add(rb2); p2.add(rb3);
        p3.add(b1);p3.add(b2);
        add (p1, BorderLayout.NORTH);
        add (p2, BorderLayout.CENTER);
        add (p3, BorderLayout.SOUTH);
        t.addActionListener(new ActionListener ()
        {
            @Override
            public void actionPerformed (ActionEvent r)
            {
                if (r.getSource()==t)
                {
                    precio=Double.parseDouble(t.getText());
                    if(ck.isSelected())
                    {
                        precio=precio*1.04;
                    }
                   
                    t.setText(String.valueOf(precio));
                   
                }
            }
                   
        });
        rb1.addItemListener (new ItemListener ()
        {
            @Override
            public void itemStateChanged (ItemEvent i)
            {
                if (i.getSource()==rb1)
                {
                    plazo = 6;
                }
            }
        });
        rb2.addItemListener (new ItemListener ()
        {
            @Override
            public void itemStateChanged (ItemEvent i)
            {
                if (i.getSource()==rb2)
                {
                    plazo = 12;
                }
            }
        });
        rb3.addItemListener (new ItemListener ()
        {
            @Override
            public void itemStateChanged (ItemEvent i)
            {
                if (i.getSource()==rb3)
                {
                    plazo = 18;
                }
            }
        });
        b1.addActionListener(new ActionListener ()
        {
            double pagomensual;
            @Override
            public void actionPerformed (ActionEvent c)
            {
                if (c.getSource()==b1)
                {
                    pagomensual=precio/plazo;
                    JOptionPane.showMessageDialog(txt, "Articulo: "+cb.getSelectedItem().toString() +"\n" +"Plazo: "+plazo +" meses. Pago mensual: "+pagomensual);
                }
            }
        });
    }
}

public class Programa
{
    public static void main (String []args)
    {
        ExamenPractico e = new ExamenPractico ();
        e.setTitle("Punto de Venta");
        e.setVisible(true);
        e.setSize(900,500);
        e.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

8
Exacto Mastermind, hay que fijarse muy detenidamente en como queremos construir el bucle, para después poner las instrucciones correspondientes.

Muy bien explicado por tu parte.

9
Hola Manuel, ¿qué ocurre si en cotejamiento queda configurada la base de datos con algo extraño como swedish o algo así?

Pues que en principio deberíamos de poder cambiarlo a "utf8_general" más que nada por temas de codificación. Sino es posible que veamos cosas raras, como por ejemplo en vez de Árbol podríamos ver ... %20rbol o cosas así. Sobre todo los acentos, ñ, y demás caracteres un poco especiales de nuestro idioma.

10
CONSULTA:

En la instalación me ha surgido un error en el paso 3 y el paso 4 de la configuración de la base de datos.

RESPUESTA:

En el paso 3 el error puede deberse a que el archivo de la licencia de joomla esté mal subido o contenga algún error html, pero a efecto de instalación no es importante ya que podemos darle a siguiente sin problemas tan solo que no veremos la licencia.

En el paso 4 hay que configurar los datos de acceso a la base de datos que previamente hemos creado y comprobar que son los correctos, ya que sino se nos producirá un error en la instalación de joomla alertando de que no fue posible conectar con la base de datos y no nos dejará seguir con la instalación.

11
Consulta:

He estado intentar configurar para mysql, pero no aparece nada de:

Donde dice Servidor Web te aparecerá un apartado “extensión PHP: …”. Apunta si dice
mysql ó mysqli pues lo necesitarás más adelante.
A continuación, pulsa sobre el nombre de la base de datos que has creado (a la
izquierda de la pantalla) y busca el apartado “Operaciones” y comprueba que en
cotejamiento te aparezca elegida la opción utf8_general_ci.



Respuesta:

En cuanto a los problemas que comentas, es porque en el servidor que has registrado tu cuenta tienen una versión más antigua de phpmyadmin o lo tienen restringida esta información para el primer problema.

En principio hemos de considerar que es mysqli aunque no lo veamos. Quizás nos equivoquemos pero esto lo sabremos más adelante.

En cuanto al cotejamiento es para asegurar que el cotejamiento de la base de datos es utf8 que de por sí suele ser lo estándar, entonces vamos a considerar también que tenemos configurado como cotejamiento: "utf8_general_ci". Y ya más adelante veremos si hay que hacer algún cambio o corrección.


12
Según se puede leer en esta noticia:

http://www.abc.es/20120710/tecnologia/abci-apple-certificacion-ecologica-desmontar-201207100941.html

Apple deja de ser verde.  ;D para mí que nunca lo fue porque muchos de sus ordenadores iban a para a Costa de Marfil, Ghana, Liberia o Nigeria como basura tecnológica por parte de sus clientes.

Equipos que no funcionan sobre todo domesticos son los que se destinan a estos paises y muchas veces bajo el lema de que es para desarrollo, cuando en verdad es para que almacenen la basura tecnológica de los países desarrollados.

En fin que cada día hay que fiarse menos de las noticias, empresas y medios de comunicación.

13
Hola:

Entonces una vez hayas pintado en el combobox los valores de los arreglos, tendras que hacer en el action del combobox el calculo sin bucles (rescatando el valor del item seleccionado en el combobox con el método getSelectedItem) y pintarlo en el textarea con el método settext.

Espero te sirva de guia también en este ejercicio.

Un saludo. :D

14
Hola Charmedever:

Pues tan solo tienes que hacer una añadidura con el metodo add correspondiente o con addItem, aunque este solo funciona si el jcombobox usa un mutable data model. Así en principio podría hacer algo tal que así:

Código: [Seleccionar]
double [] m ={147800, 203300, 294800, 337500, 578400};
       JComboBox jc = new JComboBox();

       for (int i=0;i<5;i++)
       {
           jc.addItem(m[i]);
       }
       for(int i=0;i<5;i++)
       {
           System.out.println(jc.getItemAt(i).toString());
       }

Esto iría elemento a elemento insertandolo en el jcombobox, pero si lo que deseas es introducir el arreglo como objeto tan solo debes de añadirlo con jc.addItem(m) en vez de jc.addItem(m) como he puesto en el ejemplo, ahora posiblemente no lo veas bien en el jcombobox si lo introduces el arreglo entero por la definición del método to string del arreglo.

Para el JLabel en principio puedes usar lo siguiente:

Código: [Seleccionar]
JLabel jl = new JLabel();
       ImageIcon i = new ImageIcon("image.jpg");
       jl.setIcon(i);

si despues desearas cambiar la imagen pues crearias otro objeto ImageIcon por ejemplo ImageIcon i2 = new ImageIcon("image2.jpg") y lo colocarias al objeto label con setIcon(i2) correspondiente.

Espero te pueda servir de guia.

Un saludo y suerte.

15
De nada para eso estamos el equipo de aprenderaprogramar.com. Además usuarios activos como usted son los que nos animan a continuar así.

Un saludo.

16
Hola Charmedever:

El código parece estar bien. Es decir introduces el número 123 o ciento veinte y tres y te lo pinta correctamente repetido 10 veces.

Ahora bien si pretendes introducir 123 te refieres a introducir "1", "2", "3",... entonces el codigo no es correcto. Ya que tienes un bucle de manera que lees 10 veces el mismo número del textfield.

Si deseas esta ultima funcionalidad deberías de quitar el bucle for y simplemente cuando se produzca el evento actionPerformed rescatarlo como lo tienes en el array N y concatenarlo al textarea at1. Ahora bien tendras que controlar que no se pase de 10 con una variable global o contador.

Entonces yo probaría algo así:

Código: [Seleccionar]
if (e.getSource()==txtEntrada)
                {
                    if(i<10){
                       N[i]=Double.parseDouble(txtEntrada.getText());
                       at1.append(N[i]+"\n");
                        i++;
                       }
                    }
                }

Espero te oriente al menos en tu problematica.

17
Muchas gracias por vuestros comentarios, nos animan a todo el equipo de aprenderaprogramar.com a seguir adelante con las publicaciones de los artículos. Además con usuarios tan activos ¿a quién no le gustaría participar?

En fin espero que vuestro aprendizaje os apasione tanto como a nosotros, y que puedan sacarle el mayor provecho.

Un saludo. ;)

18
Consulta recibida:

Estoy interesado en los manuales gratuitos y he visto que ustedes publican tanto el pdf como la versión online en cada entrega y mi pregunta seria ¿no tienen el pdf del curso entero?. Pasar horas y horas leyendo frente al computador es un problema.

Ahora mismo el que mas me interesa es el de fundamentos.


Respuesta:

Los cursos se van actualizando y revisando y es un proceso continuo. Debido a la modalidad gratuita de los cursos, la naturaleza de estos, y al gran esfuerzo y trabajo que supone para todo el equipo de aprenderaprogramar no tenemos otra forma de publicarlos y además no existe un pdf completo.

Así que los usuarios entren a visitar las nuevas entregas de los cursos, y consulten el foro para resolver dudas de ejercicios, sugerencias de los cursos  y demás,  es el único método que tenemos para seguir publicando los cursos gratuitamente.


19
Aprender a programar desde cero / Re:¿2 IDE's en un pc?
« en: 03 de Julio 2012, 10:52 »
Hola Ander:

Pues sí como dice Mastermind, se pueden tener los 2 a la vez, de echo yo los uso por lo que comenta. Uno es mucho más pesado y otro más ligero, así cuando quiero hacer pequeñas cosas, utilizo BlueJ, mientras que cuando estoy haciendo alguna aplicación más grande entonces utilzo Netbeans.

Por cierto, Mastermind, ¿Que te parece Eclipse en comparación con Netbeans? lo digo sobre todo porque en la página de java oficial la descarga es para Netbeans.

Un saludo.

20
De todo un poco... / Re:nueva tableta de microsoft
« en: 28 de Junio 2012, 08:46 »
Pues a mí también me gustaba mac, hasta que vi un documental acerca de basura y residuos tecnologicos. Por lo visto en nueva guinea el problema de la basura es de dimensiones grandísimas y gran parte de los ordenadores allí tirados son de apple. Así que.... mucha compañia moderna, jovén, etc y al final no se reciclan los componentes electrónicos...

Aunque bueno, ¿que compañia conoceis que lo haga?.

Un saludo.

Páginas: [1] 2 3 4

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".