Dudas con el DoEvents

15/07/2006 - 00:57 por QUINTA | Informe spam
Buenas tardes,
me encontre un macro buenisimo que hace parecer un wordart como si fuera un
animacion me gustaria me ayudaran a descifrarlo, tengo una idea pero no se de
que sirve la funcion DOEVENTS. a continuacion pongo parte del codigo

Gracias de antemano

Application.ScreenUpdating = True

For i = 91 To 166 Step 5
myLogo.Adjustments(1) = i
doevents
Next i
 

Leer las respuestas

#1 Vinchenzo vinç
16/07/2006 - 10:36 | Informe spam
"QUINTA" escribió en el mensaje news:

...de que sirve la funcion DOEVENTS




Hola,
hay que perderle el miedo a la tecla 'F1', en la ayuda está bien explicado e incluye un pequeño ejemplo de muestra. Dice:

'*************
DoEvents (Función)
Cede el control de la ejecución al sistema operativo, para que éste pueda procesar otros eventos.

Sintaxis
DoEvents( )

Comentarios
La función DoEvents devuelve un tipo Integer que representa el número de formularios abiertos por una versión independiente de
Visual Basic, como la de Visual Basic Professional edition. DoEvents devuelve 0 en el resto de las aplicaciones.

La función DoEvents pasa el control al sistema operativo. El control no se devuelve hasta que el sistema operativo haya
terminado de procesar los eventos en cola y se hayan enviado todas las teclas de la cola SendKeys.

DoEvents es más útil para tareas sencillas como permitir que un usuario cancele un proceso después de que ha comenzado, por
ejemplo una búsqueda de un archivo. Para procesos de ejecución larga, es mejor dar preferencia al procesador utilizando un Timer o
delegando la tarea a un componente EXE de ActiveX. En último caso, la tarea puede continuar completamente independiente de la
aplicación y el sistema operativo tiene en cuenta la multitarea y los intervalos de tiempos.

Advertencia Siempre que dé preferencia al procesador temporalmente dentro de un procedimiento de evento, asegúrese de que el
procedimiento no se ejecute de nuevo desde una parte diferente del código antes de que devuelva la primera llamada. Esto podría
causar resultados impredecibles. Además, no utilice la función DoEvents si existe la posibilidad de que otras aplicaciones
interactúen con el procedimiento, de manera imprevista, durante el tiempo en que éste ha cedido el control.
_________________________________________________________

Ejemplo de la función DoEvents
En este ejemplo se utiliza la instrucción DoEvents para ceder el control de la ejecución al sistema operativo una vez cada 1000
iteraciones del bucle. DoEvents devuelve el número de formularios de Visual Basic abiertos, sólo cuando la aplicación principal es
Visual Basic.

' Crea una variable para mantener el número de
' formularios de Visual Basic cargados y visibles
Dim I, OpenForms
For I = 1 To 150000 ' Inicia el bucle.
If I Mod 1000 = 0 Then ' Si el bucle se ejecuta 1000 veces.
OpenForms = DoEvents ' Cede el control al sistema operativo.
End If
Next I ' Incrementa el contador del bucle.
'*************

Saludos
( ! ) Respuestas precedentes en Google:
http://tinyurl.com/rkce5
( i ) Temperancia en el foro:
http://tinyurl.com/mawnn

Preguntas similares