AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.02.2007, 15:57   #1  
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 если надо поставьте
Старый 26.02.2007, 16:03   #2  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Код не анализировал, но это J_COUNT := SomeTable.COUNT; нужно вынести из цикла.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:11.