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 - Mario R. Rancel

Páginas: 1 ... 21 22 23 24 25 [26] 27 28 29 30 31 32
501
Aprender a programar desde cero / Re:Ejercicio! entrega CU00687B
« en: 27 de Agosto 2014, 12:16 »
Hola Sniper, te comento cómo podría ser un enfoque-respuesta del ejercicio que en parte coincide con el tuyo pero en otra parte no:

Hay tres tipos de productos (frescos, refrigerados, congelados) y llevan como información común fecha de caducidad y número de lote.

Los atributos y métodos relacionados con esta información común los agrupamos en una superclase denominada Producto.

A su vez de acuerdo con la descripción del ejercicio podemos identificar que hay más atributos comunes a estos tres tipos de productos, en concreto la fecha de envasado y el país de origen. Por tanto esto también es común y lo trasladaríamos a la superclase Producto, que constaría de estos atributos:

fecha de caducidad, número de lote, fecha de envasado y país de origen.



Ahora tenemos atributos que sólo aparecen en una clase concreta como:

Productos refrigerados: código del organismo de supervisión alimentaria, temperatura de mantenimiento recomendada.

Productos congelados: temperatura de mantenimiento recomendada.



Pero aquí vemos que tenemos un atributo común entre refrigerados y congelados: temperatura de mantenimiento. Para evitar la duplicidad de atributos y métodos relacionados podemos crear una clase que agrupe a estas dos categorías, por ejemplo la llamaríamos ProdRefrigeradoOcongelado, y ahí dejaríamos el atributo temperatura de mantenimiento recomendada y sus métodos relacionados.

Nos quedan los productos congelados: cada clase de producto congelado tiene sus atributos propios y no hay atributos comunes (puesto que la temperatura de mantenimiento recomendada la hemos trasladado  a ProdRefrigeradoOcongelado. Si la clase queda "vacía" podríamos pensar en no contemplarla en el esquema, pero en este caso lo más lógico es sí hacerlo porque así es como mejor describimos la estructura de funcionamiento de la empresa y como mejor podemos dejar organizado el código para ampliarlo en el futuro.

El esquema de herencia queda de la siguiente manera:

En la cima de la jerarquía: clase Producto

Subclases de la anterior: ProductoFresco y ProdRefrigeradoOcongelado.

Subclases de ProdRefrigeradoOcongelado: ProductoRefrigerado y ProductoCongelado.

Subclases de ProductoCongelado: ProdCongeladoPorAire, ProdCongeladoPorAgua, ProdCongeladoPorNitrogeno.



Sobre la duda que planteas:

Código: [Seleccionar]
Hola!
me ha surgido la siguiente situación en el desarrollo del código de este ejercicio:

Todos los atributos en común entre las clases, los e movido a una super clase,  por lo que tengo clases con atributos y métodos propios y clases con atributos y métodos heredados.
Como consecuencia de esto, la clase ProdFresco se ha quedado sin atributos y métodos propios y hereda estos de su super clase.
Si observamos las clases Producto y ProdFresco, se puede apreciar que prácticamente han quedado idénticas, por tanto "no habría" ningún inconveniente en usar una u otra en la clase con el main para crear lo que seria un objeto tipo ProdFresco.

Una posible solución para hacer a la clase ProdFresco, única y diferente a su super clase, seria agregarle un atributo en especifico, por ejemp: float pesoNeto; pero esto difiere con lo requerido en el enunciado del ejercicio, donde este pide que la clase ProdFresco contenga los atributos heredados de la super clase Producto + 2 atributos en especifico (4 atributos en total)

Mis dudas son: tomando en cuenta la situación de igualdad (parentesco) alcanzada entre las clases Producto y ProdFresco,  es necesaria la clase ProdFresco?

Se podría considerar como repetición de código en package al tener 2 clases "idénticas"?

debo hacer que ambas clases sean semejantes pero con diferencias, o pueden coexistir tal y como están?

De que color era el caballo blanco de napoleón bonaparte?

Ups! esa ultima duda la pueden omitir creo que ya la tengo clara Jejejeje
Gracias por leer estas dudas, Saludos!


Respuesta: al crear un diseño tienes que tener en cuenta diversos factores (entre ellos la repetición de código, pero también otros como la mantenibilidad del código, representación de la estructura de trabajo de la empresa en código, etc.). Atendiendo a esto, aunque la clase ProdFresco quede sin contenido propio, sí sería conveniente mantenerla en el código, de cara al futuro, y de cara a poder trabajar representando la realidad de la empresa: por ejemplo si quieres crear una colección de objetos y que quede claro que son productos frescos, usarías esta clase aunque no tenga atributos y métodos propios.


Fallos o cosas extrañas que veo en tu diseño: tienes una clase denominada AbstraccionProd cuya única subclase es Producto. La herencia normalmente se utiliza cuando varias subclases comparten características de una superclase. Normalmente no tendremos una única clase como heredera de una superclase (a no ser que fuera con vistas a ampliabilidad futura del programa). ¿Por qué has creado una clase AbstraccionProd en lugar de tener simplemente Producto como superclase? A priori no se le ve lógica (igual sí podría dársele una explicación, pero yo no se la veo).

Todo lo anterior trata de reflejar cuestiones a mejorar o sobre las que reflexionar, pero en conjunto tu esquema es bueno y tu código es bueno (haces buen uso de herencia, super, etc.)

Me he alargado un poco, y eso que no he entrado a hablar del caballo blanco de napoleón...  ;)

Saludos,

502
Aprender a programar desde cero / Re:Revisar (CU00634B)
« en: 27 de Agosto 2014, 10:51 »
Coincido con sniper, está muy bien que hayas planteado el ejercicio en código, pero así es el compilador quien te dice las respuestas al ejercicio... Además del código, que está bien plantearlo, sería adecuado que con papel y lápiz respondas y luego compruebes si coincide con lo que dice el compilador. Si en algunos apartados no coincide, tendrás que revisar el por qué hasta llegar a comprenderlo. De esta forma estarás asentando conocimientos de forma que luego a la hora de programar seas capaz de aplicarlos y construir código más eficiente y de forma más rápida. Saludos

503
Hola dongo, yo diría que nos han pasado y al menos a mí me siguen pasando. Es cierto que cuando adquieres experiencia es más rápido detectar fallos, te vuelves más metódico y adquieres mayor destreza con la depuración, pero aún así hay momentos en que las cosas no salen... La recomendación más básica que daría es no escribir ni depurar grandes fragmentos de código de golpe, sino ir poco a poco, incluso a veces línea a línea... También es recomendable formarse siguiendo una trayectoria lógica y progresiva. Por ejemplo mucha gente empieza tratando de usar programación orientada a objetos para acceder a bases de datos cuando todavía no han estudiado qué es un bucle, algo así como empezar la casa por el tejado. De cualquier forma el aprendizaje de la programación es complejo y no creo que nadie tengamos la varita mágica, requiere tiempo y esfuerzo aunque hay quien piensa que en unos días estará todo hecho. En fin, a seguir... Saludos.

 

504
Para comprobar por qué en un caso te funciona y en otro no, no te puedes fijar únicamente en una línea de código, pueden influir muchas cosas, y cuando hablamos de código, un simple espacio que sobre, unas comillas con la tipografía inadecuada, un punto y coma o cualquier cosa mínima pueden hacer que el código funcione o no funcione. A veces la localización de errores es muy trabajosa. He probado con el formulario en la dirección http:/ /prueba123451. site11.com/fiestas/formulario.html y parece que ya lo tienes funcionando, al menos en los resultados aparecen los mensajes de recepción correcta.


505
Sí, lo he probado y veo lo que te aparece. Es extraño. Lo primero que tienes que comprobar es si eres capaz de recuperar el dato en el archivo php, da la impresión de que no lo está haciendo.

Prueba este código HTML en otro archivo en el servidor (créalo nuevo para despejar dudas, por ejemplo http:/ / prueba123451.site11.com/fiestas/formulario2.html:)

Código: [Seleccionar]
<html>
<head>
<meta charset="utf-8">
</head>

 <form id="form1" name="form1" method="get" action="script2.php">
<p>Pueblo:
  <input type="text" name="pueblo" value="">
  Fiesta: <input type="text" name="fiesta" value="">       
  </p>
<p>Fecha inicio (formato: día-mes-año):
  <input type="text" name="fecha_inicio" value="">
  </p>
<p>Fecha fin (formato: día-mes-año):   
          <input type="text" name="fecha_fin" value="">       
  </p>
<p>
  <input type="submit"/>
  </p>       
    </form>
</html>


Y crea este archivo script2.php, también simplemente para comprobar qué te devuelve:

Código: [Seleccionar]
<?php 
$pueblo$_GET['pueblo'];
$fiesta$_GET['fiesta'];
$fecha_inicio$_GET['fecha_inicio'];
$fecha_fin$_GET['fecha_fin'];

echo '<br/> Recibido dato fecha inicio : '.$fecha_inicio.'<br/>';

$fecha1date("m-d-Y"strtotime("$fecha_inicio"));
echo $fecha1." es fecha1 <br/> y ademas ";
$fecha2=date("Y-m-d",strtotime($fecha1));
echo $fecha2'<br/> Fin ';

?>

Si introduces como fecha inicio 05-04-2077 debes obtener:

Recibido dato fecha inicio : 05-04-2077
04-05-2077 es fecha1
y ademas 2077-05-04
Fin

Es posible que te hayan quedado fragmentos de código erróneos. Si tuvieras esto en el archivo:

Código: [Seleccionar]
<?php 
$pueblo$_GET['pueblo'];
$fiesta$_GET['fiesta'];
$fecha_inicio$_GET['fecha_inicio'];
$fecha_fin$_GET['fecha_fin'];

$fecha_inicio strtotime("$fecha_inicio");

echo '<br/> Recibido dato fecha inicio : '.$fecha_inicio.'<br/>';

$fecha1date("m-d-Y"strtotime("$fecha_inicio"));
echo $fecha1." es fecha1 <br/> y ademas ";
$fecha2=date("Y-m-d",strtotime($fecha1));
echo $fecha2'<br/> Fin ';

?>

Te devuelve esto:

Recibido dato fecha inicio : 3682047600
12-31-1969 es fecha1
y ademas 1969-12-31
Fin

 porque la línea $fecha_inicio = strtotime("$fecha_inicio"); te está borrando el contenido de la variable...

506
Hola, he probado el código de dongo y parece que funciona perfectamente...

Código para la prueba:

   echo 'tenemos fecha inicio vale '.$fecha_inicio.'<br/>';   
   $fecha1= date("m-d-Y", strtotime("$fecha_inicio"));
   echo $fecha1."<br> y ademas ";
   $fecha2=date("Y-m-d",strtotime($fecha1));
   echo $fecha2;


Da la impresión de que URKA84 no estás haciendo la carga lógica sino una carga directa del php, me explico:

1) Cargamos el formulario como archivo con un nombre como ejemplo.html

2) Introducimos unos datos en el formulario, y en el campo fecha escribimos por ejemplo 09-05-2067

3) Al pulsarse el botón de envío se carga script.php y aparece por pantalla:

tenemos fecha inicio vale 09-05-2067
05-09-2067
y ademas 2067-09-05


Ahora invocamos directamente script.php sin cargar el formulario y nos aparece en pantalla

tenemos fecha inicio vale
12-31-1969
y ademas 1969-12-31

Pero... el php recupera el dato del formulario. Si se invoca directamente está recibiendo una fecha vacía, $fecha_inicio es una cadena vacía y php devuelve la fecha "cero", es decir, el origen de tiempo que utilizan muchos sistemas informáticos: 1 de enero de 1970 (en este caso 31 de diciembre de 1969), es decir, esto no es una fecha aleatoria sino que obedece a lo que el intérprete puede extraer a partir de la información que recibe.

No sé si el problema era esto, pero si era esto te recomendaría remitirte al curso básico de html y luego al curso básico de php, puedes encontrarlos aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

Saludos

507
Hola, se ve todo en orden y con algunas mejoras interesantes respecto a lo que pedía el enunciado. Según el enunciado te faltan las clases Parabola e Hiperbola dentro de formas2dimensiones, además has puesto como nombre de clase "Eclipse" en vez de "Elipse"...

Saludos

508
Hola sniper, he revisado el código y veo buenas cosas, entre ellas mejoras que has introducido por tu cuenta, interfaz gráfica, etc. Si tuviera que decirte algo a mejorar: el diseño o concepción del código, cosas que ya se han comentado en el hilo, pero que deberías tener en cuenta cuando crees código.

En la clase Circulo: private static double radio; ¿Para qué static?

En la clase CalculadoraMedidasCirculo:

static final Circulo circunferencia = new Circulo();
static  JOptionPane mensaje = new JOptionPane();

¿Para qué tener esto como atributos de la clase? La clase con el método main se encarga de dirigir el código y la interacción entre objetos. ¿Para qué necesitas que lleve estos atributos?

Estas preguntas no te las hago con el fin de que respondas, creo que ya has respondido... sino con el fin de que lo tengas en cuenta cuando crees código con el fin de que logres mejorar los diseños.

Saludos

509
Hola, lo he revisado y lo veo perfecto, siempre se pueden plantear variantes pero esta que has planteado es conforme con la intención y objetivos del ejercicio. Saludos.

510
Hola, lo primero indicarte que excepto que necesites por motivos específicos el estudio de tablas de decisión, te recomendamos que después de CU00111A pases a CU00116A (saltando las entregas relativas a tablas de decisión).

Sobre la duda que planteas: el valor de 10000 iteraciones es un límite que nos ponemos nosotros mismos. Vamos a estar repitiendo un proceso, pero para evitar que el proceso pueda no tener fin, ponemos un límite de modo que si se alcanza ese límite detenemos la búsqueda.

Decimos que buscamos de 1 a 10, entre 1 y 2 decimos que hay 1 entero, entre 2 y 3 otro entero... así llegamos a que tenemos 9 enteros en los que vamos a realizar la búsqueda.

Al dividir 10000 iteraciones entre 9 enteros obtenemos que por cada entero tendríamos que realizar 1111,11 iteraciones.

Ahora le damos la vuelta al planteamiento y nos preguntamos cuántos enteros le corresponden a cada iteración (esto es algo bastante abstracto, digamos que matemático) y obtenemos que tendríamos 0,0009 enteros por cada iteración.

Este valor (0,0009) lo redondeamos a 0,001 y este es el incremento que vamos a aplicar en cada búsqueda.

Los cálculos no tienen demasiada importancia, lo importante es quedarnos con la idea de que ponemos un número máximo de iteraciones a realizar y en base a ese número máximo establecemos  el valor incremental que vamos a usar en cada iteración de la búsqueda.

La idea: si aumentamos el número máximo de iteraciones el valor de int (valor incremental para el tanteo) se hace más pequeño. Si disminuimos el número máximo de iteraciones el valor de int se hace más grande.

Por ejemplo, si el número máximo de iteraciones fuera 9 tendríamos un valor de int = 1, y los valores a probar serían 1, 2, 3, 4, 5, 6, 7, 8, 9 (ó 9, 8, 7, 6, 5, 4, 3, 2, 1)

Al haber elegido un valor de int 0,001 las pruebas serán con 1, 1.001, 1.002, 1.003, 1.004 ... etc. ( o al revés, 9, 8.999, 8.998, 8.997, etc.).

Como he comentado, más que los cálculos concretos lo interesante es quedarse con la idea general. Saludos.

511
Hola, al principio es lógico que exista algo de confusión, pero a medida que se avance y se hagan ejercicios debería irse aclarando todo.

Siendo breve podemos decir que:

Una clase define las líneas generales de un tipo de cosa, sería como responder a la pregunta ¿qué es un taxi? Un taxi es.... (un  objeto con cierto número de ruedas, cierto número de puertas, un motor de cierta potencia...)

Un objeto es algo concreto, no define líneas generales, sino algo específico. Por ejemplo "el taxi de mi padre: características, 4 ruedas, 3 puertas, motor 125 cv... etc." Otro objeto sería "el taxi de mi hermano: características: 4 ruedas, 5 puertas, motor 160 cv ... etc."

Finalmente para entender bien los conceptos creo que sea bueno leer una y otra vez lo que se dice en esta entrega: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=418:visualizar-clases-y-crear-objetos-java-con-bluej-invocar-metodos-diferencias-entre-clase-y-objeto-cu00620b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Saludos

512
Hola, como hay muchos ejercicios y muchos cursos, en el título del mensaje incluye por favor una referencia al ejercicio al que te quieras referir. Por ejemplo: ejercicio de Conceptos de objetos y clases en Java CU00619B (creo que te refieres a este ejercicio).

Sobre la respuesta que has dado:

Superclase: correcta

Clases: correctas

Objetos: no es correcto. Un objeto sería una instancia (ejemplo concreto) de una clase. Por ejemplo si la clase es AvionDeCarga podrían ser ejemplos concretos de aviones de carga avionDeCarga1-Airbus, avionDeCarga2-Boeing, AvionDeCarga3-Boeing, avionDeCarga4-McDonnel, avionDeCarga5-Airbus... donde cada objeto es un avión concreto que podría estar dentro de un hangar en un aeropuerto por ejemplo.

Para las otras clases sería lo mismo.

Vuelve a mirar el esquema superclases - clases - objetos que aparece en el curso, posiblemente te aclare.

Saludos

513
Aprender a programar desde cero / Re:Ejercicio 4 - Semana 9
« en: 13 de Mayo 2014, 14:33 »
Buenos días, comento algunas cuestiones a tener en cuenta:

Si bien en Visual Basic normalmente hacemos una declaración del tipo Dim dato (30) que nos indica que los índices del array Dato comprende dato (0), dato (1), dato (2)... hasta dato (30), en pseudocódigo no hacemos esta declaración y suponemos que si escibimos Leer dato (250) sería porque 250 es un índice válido para el array.

La línea en cuestión tiene dos instrucciones separadas por un signo de dos puntos, lo que significa que una se ejecuta primero y la otra después. A efectos prácticos, es como si se tratara de dos líneas independientes (aunque para ahorrar espacio se pueden poner instrucciones una detrás de otra).

Como bien dices, si escribiéramos Leer dato ( i ) sin haber dado un valor a i, lo que leeríamos sería dato (0) al no haber definido un valor para i.

En cambio, al hacer i=1 y luego escribir Leer dato ( i ) significa que se va a leer dato (1) (al decir leer suponemos que se lee desde un archivo, o que lo introduce el usuario

¿Qué ocurrirá al eliminar la línea? Como en pseudocódigo no establecemos la obligación de declaración del array (cosa que sí hacemos en Visual Basic), al eliminiar esa línea no eliminamos el array, únicamente hacemos que se dejen de ejecutar esas instrucciones.

Lo que sería correcto que te plantearas es:

¿Qué hace el programa cuando está esa línea presente? y ¿Qué haría el programa cuando no está esa línea presente?

Pongo un ejemplo de un programa inventado:
1. Inicio
2. dato ( 8 ) = 24
3. i = 8
4. Si dato ( i ) = 24 entonces
    Mostrar "Canguro"
Sino
    Mostrar "Perro"
FinSi
5. Fin

Ahora nos preguntamos. ¿Qué hace el programa tal y como está? Primero se inicia, luego se asigna que dato ( 8 ) vale 24. Luego se dice que i vale 8. Luego comprueba si dato ( i ) vale 24. Como i es 8 y dato ( 8 ) vale 24 es cierto. Muestra el mensaje "Canguro" y termina.

¿Qué haría el programa si elimináramos la linea 3? Primero se inicia, luego se asigna que dato ( 8 ) vale 24. Luego comprueba si dato ( i ) vale 24. Como en este caso i no tiene valor suponemos que es cero, por tanto comprueba el valor de dato (0) para ver si es 24. Pero como dato (0) no se ha establecido suponemos que es cero, por tanto no es igual a 24. Muestra el mensaje "Perro" y termina.

La idea es hacer un seguimiento de este tipo aplicado al pseudocódigo que se indica en el ejercicio...

Revísalo y me comentas cómo lo ves...

Saludos.

514
No te preocupes, si ves que no puedes avanzar escribe una consulta. Saludos.

515
Hola, tienes dos cosas a corregir:

En el system.out.println escribes coche1.acelerar, y esto no es una invocación válida del método. El método solo puede ser invocado pasándole un parámetro que representa hasta qué velocidad se acelera (supongo que en kms/h). De modo que coche1.acelerar(10) sería válido porque estás acelerando 10 kms/h pero coche1.acelerar no es válido porque no estás diciendo cuánto se acelera.

Lo segundo es que dentro de un system.out.println sólo puedes incluir texto o algo que pueda ser transformado en texto. El método acelerar no devuelve texto ni nada que pueda ser transformado en texto, por tanto no puedes intentar invocarlo dentro de un System.out.println para mostrar algo por pantalla. Saludos.


516
Buenos días, a continuación aclaraciones y orientaciones, cualquier cosa que haga falta aclarar indícamelo y tratamos de aclararlo.


Veamos el pseudocódigo.

Lo primero que tenemos que pensar es qué variables servirán para almacenar datos de entrada, qué variables servirán para almacenar cálculos o resultados y qué variables serán variables auxiliares por ejemplo para controlar la progresión de valores en un bucle.

Las variables que tienen datos de entrada son las que requieren de una instrucción Leer (que equivaldría a leer los datos desde un archivo o pedirle los datos al usuario).

Las variables para almacenar cálculos o resultados no requieren de una instrucción leer, ya que son variables cuyo contenido definimos nosotros como programadores.

Variables que contienen los datos de entrada: personasEntran(1), personasEntran(2), ... así hasta personasEntran( 8 )
 
Variables que usamos para almacenar cálculos o resultados: personasTotal, transitoCero, maxTransito, media

Variables para controlar la progresión de bucles: i


Cosas incorrectas en el pseudocódigo planteado:

1) La variable personasTotal es una variable para almacenar resultados, por tanto no requiere de una instrucción Leer, ya que no es un dato "externo" al programa, sino un resultado que nosotros vamos a obtener. Por otro lado, si Leer PersonasTotal lo escribiéramos dentro del bucle, significa que se va a repetir 8 veces. Las repeticiones las necesitamos para ir realizando operaciones que necesitan ser repetidas, en este caso no tendría sentido repetir 8 veces esta instrucción.

Conclusión: la línea 2.1 no es correcta tal y como está.

2) Sería correcto (aunque no obligatorio) definir después de la línea de inicio una línea que contenga lo siguiente: personasTotal = 0. ¿Qué significaría esto? Que al empezar el programa la variable personasTotal vale cero. Esto quizás podríamos darlo por supuesto, pero si lo escribimos lo dejamos indicado para que no haya dudas. No es obligatorio, ya que suponemos que toda variable numérica inicialmente tiene valor cero.

3) Tenemos 8 datos relacionados con las personas que entran: personasEntran(1), personasEntran(2) ... por tanto tenemos que hacer 8 veces la lectura (lo cual haremos dentro del bucle). Por tanto la línea 2.1 es lógico que contenga la instrucción Leer personasEntran(i)

La línea 2.2 es correcta: en cada pasada del bucle le vamos sumando a lo que teníamos como total las personas que han entrado en esa hora.

La línea 2.3 es correcta

La línea 2.4 es correcta.

Las líneas 3, 4, 5, 6, 7, 8 son correctas.



Veamos ahora cómo podríamos plantear el código:

En primer lugar tendremos que declarar las variables que vamos a usar. Todas ellas son de tipo entero (ya que no estamos trabajando con decimales). Importante: repasar cómo se declara un array.

En el form_load (es decir, cuando cargue el formulario) tendremos que hacer lo que nos indica el enunciado: Los datos de partida se deben incorporar en el propio código al principio del programa. Por tanto tendremos que escribir cuáles son los datos de partida (los escribimos nosotros mismos porque no los vamos a leer desde un archivo). Por tanto escribiremos (tomo como valores los propuestos en el ejercicio 4):

personasEntran(1) = 0
personasEntran(2) = 32
personasEntran(3) = 47
personasEntran(4) = 22
personasEntran(5) = 0
personasEntran(6) = 31
personasEntran(7) = 0
personasEntran( 8 ) = 87

A continuación necesitaremos escribir un bucle For ... Next utilizando las variables, condicionales y un label para mostrar mensajes.

Tener en cuenta que para ir añadiendo contenido a un label sin borrar el contenido anterior tendremos que usar una sintaxis como: Label2 = Label2 & "A las " & i & " horas no entró ninguna persona" & vbCrLf

Si escribiéramos Label2 = "A las " & i & " horas no entró ninguna persona" & vbCrLf se borraría el contenido previo que tuviera el label.

Cuando termine el for, tendremos que usar labels para mostrar los resultados.

Orientación sobre el diseño del formulario:

No usaremos ningún textbox ya que no vamos a pedir datos al usuario (los datos los vamos a escribir nosotros mismos en el código como hemos indicado antes)

Se pueden usar los siguientes labels:

Label1 para mostrar un mensaje informativo y título del programa

Label2 para mostrar las horas a las que no entró ninguna persona

Label3 para mostrar el total de personas que entraron en el día

Label4 para mostrar cuántas horas no entró ninguna persona

Label5 para mostrar la hora a la que entró el mayor número de personas

Label6 para mostrar el número medio de personas

Esto es orientativo, podemos usar más o menos labels según se considere oportuno.

Saludos.

517
Hola Lucas, puedes hacerlo con la función mid que requiere tres parámetros: cadena de la que se extraen los caracteres, posición de inicio, longitud de caracteres a extraer.

Por ejemplo mid ("farmacia", 1, 2) devuelve fa

mid ("farmacia", 4, 3) devuelve mac

mid ("farmacia", 7, 2) devuelve ia

Para lo que tu indicas usando un TextBox1, un Label1, un Label2 y un CommandButton1 el código sería este (aunque puede variar según la versión de Visual Basic que uses):

Código: [Seleccionar]
Private Sub Form_Load()
Text1.Text = ""
Label1 = "Escriba un número de dos dígitos en el textBox"
Label2 = ""
Command1.Caption = "Aceptar"
End Sub


Private Sub Command1_Click()
Label1 = "Primer dígito es " & Mid(Text1.Text, 1, 1)
Label2 = "Segundo dígito es " & Mid(Text1.Text, 2, 1)
End Sub

Saludos

518
Aquí tienes varias opciones. Algunas son gratuitas (casi todas incluyendo un backlink) y otras de pago:

http://extensions.joomla.org/extensions/multimedia/multimedia-players/audio-players-a-gallery

Saludos.

519
Hola Tanci, gracias por esos comentarios. Como siempre intentamos ir mejorando en la medida de lo posible y el cambio de imagen era algo que nos venían indicando muchos usuarios y amigos que era algo necesario, aunque no sea este un sitio donde la imagen sea el aspecto central (de hecho los dos diseños, tanto el anterior como este son adaptaciones de prediseños existentes). El apartado del foro constituye en cierta medida un "subsistema" independiente dentro de la web, de ahí que no se haya visto afectado por el cambio, aunque posiblemente también lo iremos adaptando. Saludos.

   

520
Aquí dejo un enlace divulgativo sobre los ebooks, también desde aquí se puede descargar el programa necesario:

http://www.todoebook.com/info/info.html

Páginas: 1 ... 21 22 23 24 25 [26] 27 28 29 30 31 32

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