HOWTO: AX – Ventana de progreso para procesos largos

Me gustaría empezar a colgar pequeños trucos o trozos de código útiles, por un lado con un fin divulgativo para que si a alguien le sirve, lo utilice; y por otro lado con un fin documental para hacer una pequeña biblioteca de código y poder consultarla en caso necesario. Sugerencias seran bien recibidas, como siempre. Como es el primero, empezare por uno muy sencillo:

Se trata de utilizar la clase SysOperationProgress para mostrar el diálogo estandar de progreso, que podemos (y debemos) utilizar en procesos que se puedan alargar mas de unos pocos segundos

SysOperationProgress p = new SysOperationProgress();
int i;
;

#AviFiles

p.setCaption("Título del diálogo");
p.setAnimation(#AviTransfer);
p.setTotal(100000);

for (i=1; i <= 100000; i++)
{
   p.setText(strfmt("Progreso %1", i));
   p.incCount();
}

Su utilización es bien sencilla y se puede complicar, por ejemplo para añadir varias barras de progreso en el mismo diálogo, jugando, por ejemplo, con los parámetros del constructor de la clase.

Descargas