MessageDlgProgress
Previous  Top 

Sintaxis:MessageDlgProgress( [ <nProgress> ], [ <nMax> ], [ <cPrompt> ], [ <bCancel> ], [ <nPosition> ] ) -> NIL  
 
Argumentos:<nProgress> es el valor actual de la barra de progreso.  
<nMax> es el valor máximo de la barra de progreso.  
<cPrompt> es el texto del mensaje.  
<bCancel> es el codeblock que se evaluará si se cancela.  
<nPosicion> es la posición donde aparecerá el diálogo. Se pueden usar las constantes poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter y poActiveCenter. Por defecto es poScreenCenter.  
 
Devuelve:NIL.  
 

   MessageDlgProgress() muestra un diálogo de propósito general con un control TProgressBar. La apariencia del control de progreso la determina la anchura del texto del mensaje. Se muestra un botón para cancelar. Si se pulsa ESC o se hace click sobre el botón se evalua el codeblock bCancel. MessageDlgProgress() se utiliza conjugando tres tipos de llamadas: la primera vez se usan por lo menos los cuatro primeros parámetros para definir el diálogo. En las sucesivas llamadas, se utiliza solamente el primer parámetro para actualizar el valor de la barra de progreso y al finalizar, se utiliza sin parámetros, lo que fuerza la destrucción del diálogo.


Ejemplo:

   // Actualizar un array
   lCancel := .F.

   // Iniciamos los parámetros
   MessageDlgProgress( 1, Len( aArray ), "Actualizando valores, por favor espere...", { || lCancel := .T. }, poActiveCenter )

   for nI := 1 to Len( aArray )
      if lCancel
         exit
      endif

      aArray[ nI ] := Upper( aArray[ nI ] )

      // Actualizamos la barra de progreso
      MessageDlgProgress( nI )
   next

   // Cerramos y destruímos el diálogo
   MessageDlgProgress()