• Domingo 22 de Diciembre de 2024, 18:44

Autor Tema:  Progreso con bucle For  (Leído 2501 veces)

Áldaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Progreso con bucle For
« en: Martes 24 de Junio de 2008, 16:55 »
0
Hola a todos!
Hace ya mas o menos 1 mes estube intentando crear un progreso en porciento, es decir que fuera de 1% a 100% y se ejecutara la siguiente orden.

Utilicé este bucle con for:
Código: Text
  1. for i = 1 to 100
  2. print i
  3. Next
  4.  

En cierto caso me sirvió, pero yo necesito que se vea el progreso, que valla 1,2,3,4... hasta 100, lo que hace este bucle es saltar de 1 a 100 creo yo, porque no veo el progreso, solo veo cuando pone 1 y de un momento a otro 100.

Les agradezco cualquier ayuda o sugerencia que se les venga a la cabeza ;)

Gracias de antemano.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Progreso con bucle For
« Respuesta #1 en: Martes 24 de Junio de 2008, 23:32 »
0
Cita de: "Áldaron"
Hola a todos!
Hace ya mas o menos 1 mes estube intentando crear un progreso en porciento, es decir que fuera de 1% a 100% y se ejecutara la siguiente orden.

Utilicé este bucle con for:
Código: Text
  1. for i = 1 to 100
  2. print i
  3. Next
  4.  

En cierto caso me sirvió, pero yo necesito que se vea el progreso, que valla 1,2,3,4... hasta 100, lo que hace este bucle es saltar de 1 a 100 creo yo, porque no veo el progreso, solo veo cuando pone 1 y de un momento a otro 100.

Les agradezco cualquier ayuda o sugerencia que se les venga a la cabeza ;)

Gracias de antemano.
Hola viejo. Ahora no lo puedo probar, pero creo que deberías darle un evento al SO entre cada impresión.

Código: Text
  1. Application.DoEvents()
  2.  

Fijate en esto
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Áldaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Progreso con bucle For
« Respuesta #2 en: Miércoles 25 de Junio de 2008, 00:58 »
0
jsajasjsa
Bueno.. aun no estoy familiarizado con Doevents() puesto que estoy empezando con VB 2005, si me lo explicás te lo agradecería ;) de todos modos gracias Mollense por la sugerencia ^^

Otra cosita, el enlace que me das me dice: "Contenido no encontrado ". También leí por ahi que podría obtener el  resultado que quiero con un while, pero resulta que hace lo mismo que el for :S

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Progreso con bucle For
« Respuesta #3 en: Miércoles 25 de Junio de 2008, 03:56 »
0
Cita de: "Áldaron"
jsajasjsa
Bueno.. aun no estoy familiarizado con Doevents() puesto que estoy empezando con VB 2005, si me lo explicás te lo agradecería ;) de todos modos gracias Mollense por la sugerencia ^^

Otra cosita, el enlace que me das me dice: "Contenido no encontrado ". También leí por ahi que podría obtener el  resultado que quiero con un while, pero resulta que hace lo mismo que el for :S
Para que la pantalla se actualice tenés que permitir al sistema operativo que procese todos los mensajes que tiene en cola, esto se hace mediante el método "Application.DoEvents()" y deberías hacerlo cada vez que imprimís algo:
Código: Text
  1. for i = 1 to 100
  2.       print i
  3.       Application.DoEvents()
  4. Next
  5.  

PD: El link sí funciona.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Áldaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Progreso con bucle For
« Respuesta #4 en: Viernes 27 de Junio de 2008, 22:49 »
0
Muchas gracias por tu ayuda!!! ;)

- Bien!!! funciona tal cual como yo quiero.
Otra pregunta: ¿Para disminuir la velocidad del "contador" utilizo un timer y se lo aplico a....?

- Si ahora si que funciona el link...
Al parecer el link me está haciendo quedar mal jajajaja antes, como te dije, me presentaba ese mensaje y, eso que refresqué la página 3 veces y entré desde tu link 2 veces... Bueno, cosas de la vida que nunca sabré el por qué jsajas.

De nuevo muchas gracias!

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Progreso con bucle For
« Respuesta #5 en: Sábado 28 de Junio de 2008, 08:55 »
0
Cita de: "Áldaron"
Muchas gracias por tu ayuda!!! ;)

- Bien!!! funciona tal cual como yo quiero.
Otra pregunta: ¿Para disminuir la velocidad del "contador" utilizo un timer y se lo aplico a....?

- Si ahora si que funciona el link...
Al parecer el link me está haciendo quedar mal jajajaja antes, como te dije, me presentaba ese mensaje y, eso que refresqué la página 3 veces y entré desde tu link 2 veces... Bueno, cosas de la vida que nunca sabré el por qué jsajas.

De nuevo muchas gracias!
No, si en vez de usar un for, usás un Timer, no vas a necesitar del DoEvents. Simplemente especificás la frecuencia del timer "Interval", esta se especifica en miliseguntos y solamente te queda poner el código en el evento tick de ese control:

Código: Visual Basic
  1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  2.     'Tu código
  3. End Sub
  4.  
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Áldaron

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Progreso con bucle For
« Respuesta #6 en: Sábado 28 de Junio de 2008, 13:22 »
0
buff.. se han hido los cables... entonces eso si que lo sabia... u.u

Bueno, de todos modos muchas gracias ^^

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Progreso con bucle For
« Respuesta #7 en: Sábado 28 de Junio de 2008, 17:56 »
0
Cita de: "Áldaron"
buff.. se han hido los cables... entonces eso si que lo sabia... u.u

Bueno, de todos modos muchas gracias ^^
DE nada  :comp:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.