Показать сообщение отдельно
Старый 26.02.2007, 15:57   #7  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от art Посмотреть сообщение
Добрый день.
Dial.OPEN('Выполнение @1@@@@@@@');
I_COUNT := Employee1.COUNT;
Repeat
I := I + 1;
Dial.UPDATE(1,ROUND((I / I_COUNT * 10000),1));
Until
Цитата:
Сообщение от art Посмотреть сообщение
И хотел узнать как можно в одном прогрессе отобразить всё
Зависит от того, какой код будет во вложенных циклах.
Для общего случая -
Вариант 1) Если есть возможность быстро вычислить сумарное количество итераций, то Вы сами выше напеисали код.
Вариант 2) Остается только неравномерное движение прогрес бара.
Например
Код:
Dial.OPEN('Выполнение @1@@@@@@@');
I_COUNT := Employee1.COUNT;
REPEAT
   I := I + 1;
   J_COUNT := SomeTable.COUNT;  
   J :=  0;
   REPEAT
	  J := J + 1; 
	  Dial.UPDATE(1,ROUND(((I+J / J_COUNT ) / I_COUNT * 10000),1));
   UNTIL SomeTable.NEXT = 0;
UNTIL Employee1.NEXT = 0;
P.S. J обнулить забыл Ну и FIND если надо поставьте