Показать сообщение отдельно
Старый 31.05.2006, 12:59   #3  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
Цитата:
Сообщение от Владимир Максимов
Все нормально отображается. Просто для того, чтобы отобразился ProgressBar необходимо указать итоговое значение конца прогресса ДО открытия самого ProgressBar. Т.е. задать SetTotal() ДО вызова update() прямо или косвенно через setInc() или setCount()

Вот пример, написанный в AXAPTA 2.5

Чтобы процесс был виден поставил задержку sleep(1)

PHP код:
#AviFiles
static void MVB_SysOperationProgress(Args _args)
{

    
SysOperationProgress    operationProgress;

    
str             stringSQL;
    
int             ijprogressTotalprogressTotal0;

    ;

    
operationProgress = new SysOperationProgress(2);
    
operationProgress.setCaption("Тест");
    
operationProgress.setAnimation(#AviTransfer);

    
operationProgress.setText("Расчет общего количества строк",1);
    
operationProgress.update();

    
progressTotal0 10;
    
operationProgress.setTotal(progressTotal0,1);
    
progressTotal 1000;
    
operationProgress.setTotal(progressTotal,2);
//    operationProgress.update(true);

    
operationProgress.setCaption("Пример в нескольки линеек");
    
operationProgress.setText("Подготовка к расчету...");
    
operationProgress.update(true);

    for (
j=1j<=progressTotal0;j++)
    {
        
operationProgress.setText(strfmt("Всего строк %1. Осталось %2"progressTotal0progressTotal0-j),1);
        
operationProgress.setCount(j,1);
        for (
i=1;i<=progressTotal;i++)
        {
            
operationProgress.setText(strfmt("Всего строк %1. Осталось %2"progressTotalprogressTotal-i),2);
            
operationProgress.setCount(i,2);
            
sleep(1);
        }
    }

    
operationProgress.kill();


этот код в третьей версии вообче создает окошко без прогресс баров