Предложение

  • Автор темы Автор темы angel-ada
  • Дата начала Дата начала
A

angel-ada

Guest
Предложение

Предлагаю функцию для расчета времени выполнения и остатка времени выполнения в строке статуса.
Очень удобно и наглядно показывает время до конца расчета и время выполнения расчета.
Где параметры:
й - текущий счетчик
фвсего - всего записей
тиме - ТЕК_ВРЕМЯ
прим - примечание()
Код:
ФУНКЦИЯ СколькоОсталось(ЧИСЛО:й,фвсего; ВРЕМЯ:тиме;СТРОКА:прим)
    ЕСЛИ й=0 ТО й=1 фвсего=фвсего+1 КОНЕЦ_ЕСЛИ
    вр_вып_сек=ЧАС(ВРЕМЯ_ТЕК-тиме)*3600+МИНУТЫ(ВРЕМЯ_ТЕК-тиме)*60+СЕКУНДЫ(ВРЕМЯ_ТЕК-тиме)
    счет_время_мин=фвсего*вр_вып_сек/й
    время_час=РУБ(счет_время_мин/3600) //7
    время_мин_вс=счет_время_мин-время_час*3600 //1300
    время_мин=РУБ(время_мин_вс/60)//21
    время_сек=РУБ(время_мин_вс-время_мин*60)
    сколько_время=ВРЕМЯ(время_час,время_мин,время_сек)
    восколько_время=тиме+сколько_время
    осталось_время=восколько_время-ВРЕМЯ_ТЕК
    СТАТУС(прим+": "+СТР(й)+"/"+СТР(фвсего)+"  Время осталось: "+СТР(осталось_время)+"  .. Время выполнения: "+СТР(ВРЕМЯ_ТЕК-тиме))
КОНЕЦ_ФУНКЦИИ
 
ПРИМЕР

Пример:

Код:
время=ВРЕМЯ_ТЕК 
текущая=0     
лСС ЭТО фсж_лс всеголС=лСС.ВСЕГО  

ЦИКЛ ПО фсж_лс лС (лС.расч=ДА)                       
                               
  СколькоОсталось("Заполнение счетчиков",текущая,всеголС,время)  текущая++
И пример вывода в статусе (в скине пример другого расчета с использ. этой функции):
 

Вложения

  • пример.jpg
    пример.jpg
    27.8 KB · Просмотры: 586
Последнее редактирование:
Хорошая функция-одобрям,
(а то ещё в ИП1 для подсчета ожидаемого окончания расчета приходилось дописывать каждый раз)
 
Назад
Сверху