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 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 89
181
Comunidad / Re:diagrama de flujo con ecuaciones
« : 22 de Agosto 2017, 18:26 »
Buenas leoakdmia, este foro es para presentarse a la comunidad, para realizar consultas utiliza los otros foros. Lee las instrucciones básicas para publicar en los foros en http://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Sobre lo que consultas, puedes encontrar explicaciones en el curso Bases de la programación nivel I, en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59 y concretamente puedes ver ejemplos en las primeras entregas del curso, por ejemplo en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=147:estrategias-basicas-en-programacion-ejemplo-busqueda-de-soluciones-a-problema-con-iteracion-cu00111a&catid=28&Itemid=59

Salu2

182
Buenas Pepote21, todo correcto. En el apartado b) se pedía la versión de filezilla y los datos del sistema operativo, y has indicado correctamente ambos. Salu2.

184
Buenas EnigmaticNerd, efectivamente el uso de for en un label tiene por finalidad asociarlo al id de un elemento de un formulario, por ejemplo

Código: [Seleccionar]
<!-- Un simple ejemplo de un label con el atributo for -->
<label for="Name">Click me</label>
<input type="text" id="Name" name="Name" />

<!-- Aun mas simple -->
<label>Click me <input type="text" id="Name" name="Name" /></label>

No obstante el navegador no te obliga a hacer las cosas así. El navegador muchas veces es capaz de mostrar contenidos estén las cosas hechas de una forma o de otra (incluso a veces estando mal hechas).

Para este ejercicio esa no es una cuestión que resulte relevante, por lo que no hay por qué prestarle atención a eso ahora.

Si sigues el curso de CSS, verás que los id pueden tener gran importancia en determinadas situaciones.

Salu2

185
Buenas paramonso, para facilitar la lectura a las personas que accedan a los foros por favor ten en cuenta lo siguiente:

a) Pega el código una sola vez, completo. Por ejemplo si tú has resuelto el ejercicio en un solo archivo PHP, pega el código completo de dicho archivo una sola vez. No pegues primero la parte del ejercicio 1, luego la parte del ejercicio 2, y luego todo el código unido, ya que así estás repitiendo el código y esto puede confundir. Si para resolver los ejercicios lo has hecho en dos archivos php, pues pega primero el código completo de un archivo, y luego el código completo del siguiente archivo. Es decir, pega siempre los códigos completos tal y como tú los hayas trabajado.

b) Para referirte a los ejercicios es más simple que lo hagas como por ejemplo << Entrega del ejercicio CU00831B del curso básico de programación web con PHP >> en lugar de << Ejercicio PHP 31 (CU00831B) >>. Indicando simplemente el código es más claro.

c) Revisa los textos que pegas evitando que los párrafos queden cortados por saltos de línea o cosas así. Deja espacios (saltos de línea) entre párrafos y entre ejercicios para que quienes vayan a leer o revisar lo que has propuesto lo tengan más fácil. Evita que los textos parezcan apelotonados o apretados.

Gracias! Salu2

186
Buenas Loperso, para plantear consultas en los foros debes seguir las indicaciones que se dan en http://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 y no plantear consultas demasiado extensas. También debes incluir el código con el que estés trabajando e indicar el punto donde encuentras dificultades para continuar.

Te dejo un ejemplo de uso de JRadioButton en JTable por si te sirve de ayuda

Código: [Seleccionar]
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractCellEditor;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;

public class TestTable {

    public class RadioButtonCellEditorRenderer extends AbstractCellEditor implements TableCellRenderer, TableCellEditor, ActionListener {

        private JRadioButton radioButton;

        public RadioButtonCellEditorRenderer() {
            this.radioButton = new JRadioButton();
            radioButton.addActionListener(this);
            radioButton.setOpaque(false);
        }

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            radioButton.setSelected(Boolean.TRUE.equals(value));
            return radioButton;
        }

        @Override
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
            radioButton.setSelected(Boolean.TRUE.equals(value));
            return radioButton;
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            stopCellEditing();
        }

        @Override
        public Object getCellEditorValue() {
            return radioButton.isSelected();
        }

    }

    private JFrame f;
    private JTable table;

    private class MyObjectManager {
        private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
        private List<MyObject> objects = new ArrayList<TestTable.MyObject>();

        public void addObject(MyObject object) {
            objects.add(object);
            object.setManager(this);
            propertyChangeSupport.firePropertyChange("objects", null, object);
        }

        public List<MyObject> getObjects() {
            return objects;
        }

        public void setAsSelected(MyObject myObject) {
            for (MyObject o : objects) {
                o.setSelected(myObject == o);
            }
        }
    }

    private class MyObject {
        private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

        private MyObjectManager manager;

        private String value;

        private boolean selected;

        public MyObject(String value) {
            this.value = value;
        }

        public PropertyChangeSupport getPropertyChangeSupport() {
            return propertyChangeSupport;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
            propertyChangeSupport.firePropertyChange("value", null, value);
        }

        public MyObjectManager getManager() {
            return manager;
        }

        public void setManager(MyObjectManager manager) {
            this.manager = manager;
            propertyChangeSupport.firePropertyChange("manager", null, manager);
        }

        public boolean isSelected() {
            return selected;
        }

        public void setSelected(boolean selected) {
            if (this.selected != selected) {
                this.selected = selected;
                if (selected) {
                    manager.setAsSelected(this);
                }
                propertyChangeSupport.firePropertyChange("selected", !selected, selected);
            }
        }

    }

    protected void initUI() {
        MyObjectManager manager = new MyObjectManager();
        for (int i = 0; i < 200; i++) {
            MyObject object = new MyObject("Row " + (i + 1));
            manager.addObject(object);
        }
        table = new JTable(new MyTableModel(manager));
        table.setRowHeight(20);
        TableColumn column = table.getColumnModel().getColumn(1);
        column.setCellEditor(new RadioButtonCellEditorRenderer());
        column.setCellRenderer(new RadioButtonCellEditorRenderer());
        f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(new JScrollPane(table), BorderLayout.CENTER);
        f.pack();
        f.setVisible(true);

    }

    public class MyTableModel extends AbstractTableModel implements PropertyChangeListener {

        private final MyObjectManager manager;

        public MyTableModel(MyObjectManager manager) {
            super();
            this.manager = manager;
            manager.propertyChangeSupport.addPropertyChangeListener(this);
            for (MyObject object : manager.getObjects()) {
                object.getPropertyChangeSupport().addPropertyChangeListener(this);
            }
        }

        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            if (evt.getSource() == manager) {
                // OK, not the cleanest thing, just to get the gist of it.
                if (evt.getPropertyName().equals("objects")) {
                    ((MyObject) evt.getNewValue()).getPropertyChangeSupport().addPropertyChangeListener(this);
                }
                fireTableDataChanged();
            } else if (evt.getSource() instanceof MyObject) {
                int index = manager.getObjects().indexOf(evt.getSource());
                fireTableRowsUpdated(index, index);
            }
        }

        @Override
        public int getColumnCount() {
            return 2;
        }

        @Override
        public int getRowCount() {
            return manager.getObjects().size();
        }

        public MyObject getValueAt(int row) {
            return manager.getObjects().get(row);
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return getValueAt(rowIndex).getValue();
            case 1:
                return getValueAt(rowIndex).isSelected();
            }
            return null;
        }

        @Override
        public void setValueAt(Object value, int rowIndex, int columnIndex) {
            if (columnIndex == 1) {
                getValueAt(rowIndex).setSelected(Boolean.TRUE.equals(value));
            }
        }

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return columnIndex == 1;
        }

        @Override
        public Class<?> getColumnClass(int column) {
            switch (column) {
            case 0:
                return String.class;
            case 1:
                return Boolean.class;
            }
            return Object.class;
        }

        @Override
        public String getColumnName(int column) {
            switch (column) {
            case 0:
                return "Value";
            case 1:
                return "Selected";
            }
            return null;
        }

    }

    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException,
            UnsupportedLookAndFeelException {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new TestTable().initUI();
            }
        });
    }

}

Salu2

187
Buenas paramonso

Como se ha comentado, es preferible no incluir links a los ejercicios si se prevé borrarlos, porque con el tiempo al intentar acceder no funcionan

Tus ejercicios 1 y 2 están correctos

El ejercicio 3 deberías revisarlo

$equipo[0][0][0]='España1';
$equipo[1][0][0]='España2';

No es el planteamiento correcto para este ejercicio. Revisa este hilo http://www.aprenderaprogramar.com/foros/index.php?topic=1350.0 y fíjate cómo se interpretan los índices. También puedes revisar más hilos de este ejercicio en el foro introduciendo el código del ejercicio en el buscador

Salu2

188
Buenas, lo que indicas parece que sería realizable mediante arrays de controles

En este curso tienes ejemplos de código: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

En concreto en la entrega Matrices o arrays de controles (arreglos) en Visual Basic y VB.NET. Concepto y ejemplo de código (CU00320A) hay ejemplos de esto

El código que puedes utilizar será de tipo LabelArray(i).Text = "Dato " & i como se pone en los ejemplos, aunque tendrás que adaptarlo específicamente a lo que quieras hacer

Salu2

189
Buenas José Manuel, he revisado el ejercicio y no encuentro el error. Los datos son:

6 – 7 – 8 – 5 – 6 – 4 – 7 – 8 – 7 – 10 – 0 – 5 – 6 – 7 – 6 – 5 – 0 – 7 – 8 – 10 – 2 – 3 – 4 – 5 – 6 – 7 – 6 – 5 – 4 – 10 – 4 – 3 – 2 – 3 – 4

La suma da 190

Si dividimos 190 entre 35 datos, la media obtenida es 5,4285 tal y como se indicaba

No sé si te referías a otra cosa

Salu2

190
Ok, de cualquier forma ten en cuenta que si vas a borrar los archivos, es preferible que no incluyas esos links en tus respuestas (con incluir el código es suficiente). El motivo es que si pasado un tiempo alguien consulta tu respuesta, si los archivos están borrados no podrá verlos, y quedará como un link roto. Salu2

191

También te recomiendo que simplifiques el código: este curso se centra en php, por tanto no es necesario ni conveniente introducir elementos adicionales de HTML, CSS, JavaScript, etc. excepto los que específicamente te requiera el enunciado del ejercicio.

Como tú mismo te has autocorregido, no era necesario abrir con <?php y cerrar con ?> en cada línea, sino que puedes hacerlo una única vez para cada bloque de código php que quieras insertar.

El código que has planteado lo veo correcto, resuelve lo que pedía el ejercicio. Los links que has dejado no me funcionan, supongo que quizás has borrado esos archivos.

Salu2

192
Buenas, sí se puede operar sobre un fichero excel usando Visual Basic

Este sería un ejemplo tomado de un curso de aprenderaprogramar

Para hacer posible operar con ficheros de Excel vete al menú Proyecto -- > Agregar referencia -- > Elige la ficha COM (componente) -- > Selecciona Microsoft Excel 12.0 Object Library (o un nombre similar) y pulsa aceptar.

Crea un fichero Excel con el siguiente contenido:

Celda A1: Sala del museo   Celda B1: Visitas
Celda A2: Van Gogh      Celda B2: 32
Celda A3: Picasso      Celda B3: 24
Celda A4: Monet         Celda B4: 55
Celda A5: Miró         Celda B5: 44

Guarda y cierra este archivo en una ruta de tu ordenador y anota la ruta porque te va a ser necesaria

Ahora en Visual Basic crea un nuevo proyecto con un formulario y coloca en el formulario un label amplio y un botón.

Escribe el siguiente código (reemplaza la ruta del fichero excel por la ruta donde tú hayas guardado el fichero):

Código: [Seleccionar]
Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.Text = ""
        Label1.AutoSize = False
    End Sub
   
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim objXLApp As Excel.Application
        Dim intLoopCounter As Integer
        Dim objXLWb As Excel.Workbook
        Dim objXLWs As Excel.Worksheet
        Dim objRange As Excel.Range

        objXLApp = New Excel.Application
        objXLApp.Workbooks.Open("C:\Users\Juan\CursoVB\semana6\ejemploSemana6.xlsx")
        objXLWb = objXLApp.Workbooks(1)
        objXLWs = objXLWb.Worksheets(1)
        MsgBox("Ahora la celda A5 contiene: " & objXLWs.Cells(5, 1).value)
        For intLoopCounter = 1 To CInt(objXLWs.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row)
            objRange = objXLWs.Range("A" & intLoopCounter)
            Label1.Text = Label1.Text & vbCrLf & objRange.Value
            objRange = objXLWs.Range("B" & intLoopCounter)
            Label1.Text = Label1.Text & " -- > " & objRange.Value
        Next intLoopCounter

        'Escribimos en el fichero
        objXLWs.Cells(5, 1) = "Rembrandt"
        MsgBox("Ahora la celda A5 contiene: " & objXLWs.Cells(5, 1).value)
        objXLApp.Quit()
    End Sub

End Class

Ejecuta el programa. El resultado esperado es que muestre una caja de alerta indicando: “Ahora la celda B2 contiene Miró” y seguidamente que muestre “Ahora la celda B2 contiene Rembrandt” (si te pregunta si quieres guardar los cambios en el fichero excel responde Sí). En el label se debe mostrar la información que existía inicialmente en el fichero. Comprueba que ahora en el fichero en lugar de Miró figura Rembrandt.

Salu2

193
Buenas Pepote21, todo correcto

Recomendar que no se dejen etiquetas vacías como

        <style type="text/css">
           
        </style>

Salu2

194
Buenas Jesu, ahora bien. Tu idea de resolverlo por tu cuenta es buena, así trabajas tú mismo y se aprende mejor. No obstante, después de resolverlo tú mismo siempre es bueno consultar otras soluciones planteadas por otras personas y compararlo con cómo lo has hecho tú, y valorar tú mismo cuáles son las ventajas e inconvenientes de hacerlo de una manera u otra. Consultando y probando código por otras personas también se aprende, y mucho. Otra forma que recomendamos (y agradecemos) es responder en los foros a consultas de otras personas, de esa forma analizas código, aprendes a leerlo con rapidez, a ver lo bueno y lo malo de un código, etc. (y de paso ayudas en los foros  ;))

Salu2

197
Buenas Pepote21, veo los ejercicios correctos.

Hay un fragmento un tanto extraño que es

    if($confirmado[0]==true){
      $confirmado[0]="true";
    }

Supongo que lo has hecho para poder visualizar como texto esa variable

Salu2

198
Buenas Pepote21, veo los ejercicios correctos. Como siempre recomendarte que limpies el código y evites dejar comentarios no útiles o etiquetas vacías

Salu2

199
Buenas Pepote21, ambos ejercicios son correctos. Es recomendable que limpies el código antes de subirlo, no dejando comentarios "en sucio" ni etiquetas vacías, etc.

Salu2

200
Buenas Pepote21, el ejercicio cumple con lo que se pedía, buen código.

En este hilo puede verse otra forma de resolverlo interesante: http://www.aprenderaprogramar.com/foros/index.php?topic=6037.0

Salu2

Páginas: 1 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 89
Esto es un laboratorio de ideas...
Aprender a programar

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