![]() |
|
#1
|
|||
|
|||
|
Предлагаю функцию для расчета времени выполнения и остатка времени выполнения в строке статуса.
Очень удобно и наглядно показывает время до конца расчета и время выполнения расчета. Где параметры: й - текущий счетчик фвсего - всего записей тиме - ТЕК_ВРЕМЯ прим - примечание() Код:
ФУНКЦИЯ СколькоОсталось(ЧИСЛО:й,фвсего; ВРЕМЯ:тиме;СТРОКА:прим)
ЕСЛИ й=0 ТО й=1 фвсего=фвсего+1 КОНЕЦ_ЕСЛИ
вр_вып_сек=ЧАС(ВРЕМЯ_ТЕК-тиме)*3600+МИНУТЫ(ВРЕМЯ_ТЕК-тиме)*60+СЕКУНДЫ(ВРЕМЯ_ТЕК-тиме)
счет_время_мин=фвсего*вр_вып_сек/й
время_час=РУБ(счет_время_мин/3600) //7
время_мин_вс=счет_время_мин-время_час*3600 //1300
время_мин=РУБ(время_мин_вс/60)//21
время_сек=РУБ(время_мин_вс-время_мин*60)
сколько_время=ВРЕМЯ(время_час,время_мин,время_сек)
восколько_время=тиме+сколько_время
осталось_время=восколько_время-ВРЕМЯ_ТЕК
СТАТУС(прим+": "+СТР(й)+"/"+СТР(фвсего)+" Время осталось: "+СТР(осталось_время)+" .. Время выполнения: "+СТР(ВРЕМЯ_ТЕК-тиме))
КОНЕЦ_ФУНКЦИИ
|
|
#2
|
|||
|
|||
|
Пример:
Код:
время=ВРЕМЯ_ТЕК
текущая=0
лСС ЭТО фсж_лс всеголС=лСС.ВСЕГО
ЦИКЛ ПО фсж_лс лС (лС.расч=ДА)
СколькоОсталось("Заполнение счетчиков",текущая,всеголС,время) текущая++
Последний раз редактировалось angel-ada, 29.12.2009 в 21:54. |
|
#3
|
||||
|
||||
|
Хорошая функция-одобрям,
(а то ещё в ИП1 для подсчета ожидаемого окончания расчета приходилось дописывать каждый раз) |