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 - Alex Rodríguez

Páginas: 1 ... 46 47 48 49 50 [51] 52 53 54 55 56 ... 93
1001
Hola, en los foros intentamos ayudar siempre a partir del código que la persona haya intentado crear. El problema que planteas no es excesivamente difícil. Si no tienes conocimientos de java suficientes te recomiendo seguir este curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos

1002
Hola, lo que consultas implica que sepas cómo cargar datos en el combobox (sin ser desde access) y hacer que al cambiar un item elegido cambien los items en el siguiente combo. Una vez sepas hacer esto debes pasar a operar en conexión con la base de datos. Esto es demasiado amplio para explicarlo en conjunto. Nuestra filosofía es intentar ayudar a partir del código que se haya intentado crear. Si te hacen falta fundamentos de Visual Basic te recomiendo este material http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61 Si pegas el código creado indicando dónde tienes problemas o errores intentaremos ayudarte. También debes indicar con qué versión de Visual Basic estás trabajando.

Aquí pongo un código de ejemplo en Visual Basic 2010 para que los items de un combo se modifiquen en base a la elección en otro combo.

Código para clases Pais y Continente

Código: [Seleccionar]
Public Class PaisCls

    Private _PaisID As Integer
    Public Property PaisID() As Integer
        Get
            Return _PaisID
        End Get
        Set(ByVal value As Integer)
            _PaisID = value
        End Set
    End Property

    Private _PaisNombre As String
    Public Property PaisNombre() As String
        Get
            Return _PaisNombre
        End Get
        Set(ByVal value As String)
            _PaisNombre = value
        End Set
    End Property

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

End Class


Código: [Seleccionar]
Public Class ContinenteCls

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

    Private _ContinenteNombre As String
    Public Property ContinenteNombre() As String
        Get
            Return _ContinenteNombre
        End Get
        Set(ByVal value As String)
            _ContinenteNombre = value
        End Set
    End Property

End Class

Añadir dos ComboBox (cmbContinentee y cmbPais) a un formulario y el siguiente código al formulario:

Código: [Seleccionar]
Dim ContinenteList As New List(Of ContinenteCls)
Dim PaisList As New List(Of PaisCls)

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'Inicialización de listas con algunos datos cualquiera
    For i = 1 To 3
        ContinenteList.Add(New ContinenteCls With {.ContinenteID = i, .ContinenteNombre = "Continente" + CStr(i)})
        For j = 1 To 5
            PaisList.Add(New PaisCls With {.ContinenteID = i, .PaisID = j, .PaisNombre = "Cont" + CStr(i) + " - Pais" + CStr(j)})
        Next
    Next

    'Rellenar el Combo Continente
    With cmbContinente
        .ValueMember = "ContinenteID"
        .DisplayMember = "ContinenteNombre"
        .DataSource = ContinenteList
    End With

End Sub

Private Sub cmbContinente_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbContinente.SelectedValueChanged
    Try
        'Hacer que se rellene el combo de pais según el contienente elegido
        With cmbPais
            .ValueMember = "PaisID"
            .DisplayMember = "PaisNombre"
            .DataSource = PaisList.Where(Function(f) f.ContinenteID = cmbContinente.SelectedValue).ToList
        End With
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

1003
Hola, el código no está bien planteado. Yo te puedo pegar el código correcto (de hecho puedes ver una solución en www.aprenderaprogramar.com/foros/index.php?topic=1598), pero lo que te será útil es que tú mismo aprendas a plantear código si quieres llegar a ser un buen programador. Léete esto https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0 creo que si quieres puedes, el cómo es comenzando con el curso de fundamentos de la programación. Te puede parecer que eso sea como ir para atrás, pero tomando una buena base es como podrás avanzar como programador, de otra manera será difícil. Saludos,

1004
Hola, en el constructor puedes incluir public si quieres (de hecho es lo más habitual). En realidad public es uno de los cuatro modificadores de acceso que permite Java, y que son: public, private, protected y "no especificado". En este caso al o declararse modificador de acceso queda como no especificado.

Aquí se explica lo que supone cada modificador de acceso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=665:public-private-y-protected-javatipos-de-modificadores-de-acceso-visibilidad-en-clases-subclases-cu00693b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Hay cosas que son poco frecuentes pero que se hacen cuando es necesario. Por ejemplo instanciar la clase con el main. No es habitual, pero puede hacerse. Por ejemplo no especificar modificador de acceso, no es habitual, pero puede hacerse.

Saludos

1005
Hola Atenea, recomendamos seguir este curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

He intentado probar tu código pero parece que le faltan partes.

Puedes ver un ejemplo de cómo pedir datos varias veces en java en https://www.aprenderaprogramar.com/foros/index.php?topic=2262.0

Si pegas tu código completo (que pueda compilarse) intentaré darte una orientación.

Saludos.

1006
Hola Tony, pega tu código para poder revisarlo siguiendo estas instrucciones: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos

1007
Hola macarena, buen ejemplo de cómo reutilizar código.

Código: [Seleccionar]
public Profesor(){
        this("","",0,false,false);
    }

De esta forma se llama al otro constructor pasándole los datos precisos y te ahorras tener que hacer asignaciones. ¡Muy bien!

Saludos

1008
Aprender a programar desde cero / Re:PHP CU00824B
« en: 24 de Mayo 2015, 18:03 »
Hola jimmorrison, el ejercicio pedía 3 archivos (es decir 3 códigos diferentes) y creo que lo has mezclado todo en un solo archivo  :-[. Para revisarlo es preferible seguir como dice el enunciado, si no tenemos que hacer interpretaciones distintas cada vez...

Saludos

1009
Hola, esta declaración no es clara: char marca[10][50];

Es mejor usar lo siguiente:

typedef char TipoTexto [50]; //Declara un tipo de dato TipoTexto que admite hasta 50 caracteres

TipoTexto marca[10]; //Declara un array o arreglo de 10 marcas, cada marca es un texto de hasta 50 caracteres


Para estos otros casos:

int km[10][20];
int precio[10][10];

Creo que bastaría con int km[10]; e int precio[10];

No entiendo por qué los has declarado así.

Saludos.

1010
Hola, al nombrar casillas no me estaba refiriendo a nada concreto, es decir, todavía no había pensado en cómo definir las casillas, simplemente me refería a casillas como una idea que habría que pensar cómo crear, bien usando herramientas de dibujo, bien usando una imagen o controles predefinidos de Visual Basic. Lamento haber confundido. Saludos.

1011
Hola Dan, en mi navegador y pantalla la web se ve mal, en concreto el copyright aparece encima de las fotos de los coches. El motivo: has introducido en algunos elementos estilos de este tipo: style="position: absolute; left: 100px; margin-top: 50px;" en varios lugares...

Quizás en tu pantalla se vea bien, pero en otras no. Cuando crees un diseño hay que intentar que se vea bien en la mayoría de pantallas. Por eso para corregir el ejercicio deberías eliminar todo lo que sean estilos de este tipo. Con los contenidos del curso HTML quizás no puedas hacer la maquetación que a tí te gustaría. Para hacer cosas más atractivas las explicaciones están en el curso de CSS.

Saludos,

1012
Hola Dan, casi perfecto, vamos con los comentarios.

Para que el contenido del textarea se envíe con el formulario debes incluirle un name e id, por ejemplo name="txtAreaContent" id="txtAreaContent"

Fijate en la url de destino, verás que no lleva el contenido del textarea por este motivo.

Tienes mal escrito width en <hr style="color: black; with: 10%;"/>

En el resto del código todo bien.

Saludos

1013
Hola, después de revisar el código me parece que aunque haya detalles que podrían discutirse u organizarse de otra manera, lo importante es que estás haciendo un buen uso de la filosofía de la orientación a objetos, has nombrado bien las clases, haces uso de clases auxiliares para facilitarte el trabajo, organizas el código modularmente con vistas a la ampliación en el futuro y estás haciendo uso de conceptos avanzados como clases privadas, creación de iteradores, etc.

Creo que es un buen aporte y un buen ejemplo para personas que quieran ver ejemplos de organización y utilización de código a este nivel.

Así que mis felicitaciones!

1016
Buenos días es interesante lo planteado y un tanto complejo, creo que pocas personas dominan realmente esto (yo tampoco)


El interrogante ? vendría a significar "cualquier clase que..."

List<Persona> se refiere a una colección de objetos Persona

List<? extends Persona> se refiere a una colección de objetos que heredan de Persona, es decir, la clase Persona y todas sus subclases. Si definimos List<? extends Persona> miLista; entonces miLista sólo puede contener objetos Persona o que hereden de Persona.

Si tenemos public class Bombero extends Persona y public class Perro extends Animal a un método que pida List<? extends Persona> le podemos pasar una lista de bomberos, pero no una lista de perros.

List<? super Persona> se refiere a una colección de objetos que son superclase de Persona, es decir, la clase Persona y todas sus superclases (hasta Object).

Yo interpretaría static <T extends Comparable<? super T>> void       sort(List<T> list) como que para ordenar una lista esta lista debe contener objetos T que implementen comparable sobre alguna de sus superclases.

static <T> void              sort(List<T> list, Comparator<? super T> c) sería que para ordenar una lista usando un Comparator de la clase o de una de sus superclases.

Quizás una forma de aclararse sea ir haciendo pruebas con código y viendo los resultados porque explicarlo con descripciones es complicado y posiblemente nos equivoquemos simplemente mezclando términos.

Esta explicación en inglés es interesante:

Citar

 Java type parameters are used as type placeholders.
   
public class List<X>  { }

A List<X> is a container for X objects, and X can be instantiated with any class: you can have List<Object>, List<String>, and List<Number>.


Introducing bounds: extends

You often want to restrict the set of types that can be used in instantiation. If you create a class Garage, you want it to hold only Vehicle objects.

The syntax you use in Java is like this:
   
public class Garage<X extends Vehicle> { }
Every time you instantiate the Garage, the type parameter has to be a subclass of Vehicle.

class Car extends Vehicle { }
class Motorcycle extends Vehicle { }
class Fruit extends Object { }
Thus Garage<Car> and Garage<Motorcycle> are OK but Garage<Fruit> is not OK.

You can specify more than one bound with extends:

   
class Vehicle { }
interface PassengerVehicle { }
interface MotorVehicle { }
class ParkingGarage<X extends Vehicle & MotorVehicle & PassengerVehicle>
You can specify at most one class in the bound (obviously, as you can only inherit from one class in Java) and as many interfaces as you want.

The bound can refer to the typing parameter:
   
class BST<X extends Comparable<X>> {}
BST class can only be instantiated with classes X which implement the Comparable<X> interface.

Bounds in method parameters

Java method can be parametrized, too. The syntax is as follows:
   
<T> T getRandomElement(List<T> list) {}
As with class definitions, you often want to restrict the type parameter in the method. A method which takes a list of Vehicles and returns the fastest vehicle in the list can have the following type.

   
<T extends Vehicle> T getFastest(List<T> list) { }
You can pass as argument a list of any vehicles. List<Car> is OK, List<Motorcycle> is OK, List<Vehicle> is OK, too. List<Number> is not OK.

Note that the following declaration wouldn't do the trick.

   
Vehicle getFastest2(List<Vehicle> list) { }
The argument to the method getFastest2 has to be exactly a List<Vehicle>, and not a List<Car>, because List<Car> is not a subtype of List<Vehicle>,

Wilcards

Take a look at the following declaration.

   
<T extends Vehicle> int totalFuel(List<T> list) { }
The parameter T occurs only once in the method signature, in an argument. You can imagine that the method body does not use the name T either. In this case you can use an alternative syntax, called wildcards, denoted with ?:

   
int totalFuel(List<? extends Vehicle> list) { }
The two signatures for totalFuel are equivalent. The meaning of <? extends Vehicle> is: I don't care what the type parameter is, as long as it is a subclass of Vehicle.

Introducing bounds: super

There is also dual bound, called super. As you guess it is used to denote that you can pass only superclasses of the bound. There are some differences between extends and super, though.
You can't use super in class declaration

The super bound is not allowed in class definition.

   
//this code does not compile !
class Forbidden<X super Vehicle> { }
Why? Because such construction doesn't make sense. For example, you can't erase the type parameter with Vehicle because the class Forbidden could be instantiated with Object. So you have to erase type parameters to Object anyway. If think about class Forbidden<Object>, it can take any value in place of X, not only superclasses of Vehicle. There's no point in using super bound, it wouldn't get us anything. Thus it is not allowed.

Wildcards

The syntax for wildcards is also similar to extends:
   
int totalValue(Valuer<? super Vehicle> valuer)
The method has to take a comparator which is able to compare Vehicles. If it compares Objects as well, that's fine too.

When to use extends and super

Wildcards are most useful in method parameters. They allow for the necessary flexibility in method interfaces.

People are often confused when to use extends and when to use super bounds. The rule of thumb is the get-put principle. If you get something from a parametrized container, use extends.

   
int totalFuel(List<? extends Vehicle> list) {
    int total = 0;
    for(Vehicle v : list) {
        total += v.getFuel();
    }
    return total;
}
The method totalFuel gets Vehicles from the list, asks them about how much fuel they have, and computes the total.

If you put objects into a parametrized container, use super.
   
int totalValue(Valuer<? super Vehicle> valuer) {
    int total = 0;
    for(Vehicle v : vehicles) {
        total += valuer.evaluate(v);
    }
    return total;
}
The method totalValue puts Vehicles into the Valuer.

It's useful to know that extends bound is much more common than super.

One more tip: if you are intimidated by wildcards (which is natural in the beginning), try to write the explicitly parametrized version first. In typical usage the two versions are equivalent. Eventually, you'll figure out when you can get rid of type parameters and use wildcards.


1017
Hola, lee por favor este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 y pega el código que tengas como se indica ahí. El código en formato imagen no es útil porque no se puede copiar y pegar para compilarlo y hacer pruebas. Saludos  :)

1018
Hola, por norma general sí aunque siempre puede haber alguna excepción... (como en todo)  ::)

1019
Hola ¿ya resolviste la duda anterior?

Citar
Hola de nuevo: a ver si pueden ayudarme en esto, tengo un rectángulo en un formulario y desearía colocar  la primera ficha, o el primer picture sobre el centro del formulario, en el código del evento click de la picture.  La pregunta es ¿como puedo hacer que en el rectángulo detecte que no hay ninguna ficha??,  osea o un picture. Esto es para que el primero que inicia el juego esta se presente en el centro del rectángulo. Gracias de nuevo.  dejo el evento o código de unas de las picture. Un saludo

Siempre agradecemos que se pegue el código con la solución porque puede ser de ayuda para otras personas...

Saludos

1020
Hola de nuevo!

Los comentarios:

Lo mismo que te ocurrió en el ejercicio anterior aquí tienes un formulario sin method y sin action, lo que significa que el formulario no se sabe cómo va ni a dónde va, con lo cual nunca llegaría a ningún sitio (esto habría que corregirlo).

Luego en algunas líneas faltan comillas

<textarea cols=30 rows=5> mejor incluyendo las comillas cols="30" rows="5"

Aquí lo mismo type="image" width=130 height=30 mejor como width="130" height="30"

Y un error

Código: [Seleccionar]
Nombre <input name="nombres" id="nombres" type="text"/>
<br></br>
País <input name="nombres" id="nombres" type="text"/>
<br></br>
Email <input name="nombres" id="nombres" type="text"/>

Tienes repetidos los name nombres y id nombres, esto debe ser un despiste pero se ve cuando pulsas enviar que aparece nombres en la url por todos lados


Lo más importante es que no cometas fallos al construir los formularios porque le falten partes (botón de envío, method, action, etc.)

Saludos

Páginas: 1 ... 46 47 48 49 50 [51] 52 53 54 55 56 ... 93

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