31.05.2006, 12:59
|
#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 i, j, progressTotal, progressTotal0;
;
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=1; j<=progressTotal0;j++)
{
operationProgress.setText(strfmt("Всего строк %1. Осталось %2", progressTotal0, progressTotal0-j),1);
operationProgress.setCount(j,1);
for (i=1;i<=progressTotal;i++)
{
operationProgress.setText(strfmt("Всего строк %1. Осталось %2", progressTotal, progressTotal-i),2);
operationProgress.setCount(i,2);
sleep(1);
}
}
operationProgress.kill();
}
этот код в третьей версии вообче создает окошко без прогресс баров
|
|