CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Progreso con bucle For

(1/2) > >>

Á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 ---for i = 1 to 100print iNext 
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:

--- 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 ---for i = 1 to 100print iNext 
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.
--- Fin de la cita ---
Hola viejo. Ahora no lo puedo probar, pero creo que deberías darle un evento al SO entre cada impresión.


--- Código: Text ---Application.DoEvents() 
Fijate en esto

Á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

Mollense:

--- 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
--- Fin de la cita ---
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 ---for i = 1 to 100      print i      Application.DoEvents()Next 
PD: El link sí funciona.

Á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!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa