Show remaning time
5 отговора
182 прегледа
Show remaning time
Здравейте искам да питам следния въпрос ! Да речем имам query с 45000 записа и тези данни ги обработвам по някакъв начин, като обикалям всички записи от началото до края. Исками се по някакъв начин да мога да сложа някакво оставащо време до края на процеса?
За сега съм сложил само един Gauge но ми иска да има и оставащо време като да речем копирането голям файл или инсталиране на някаква програма ?
Пробвах да засека колко записа обработва на 10 секунди и да изчисля оставащото време според това! Но понякога процесора обработва и други данни и времето няма нищо общо с това което аз показвам!
Защо ми се струва че всичко това клони към CriticalSections но за съжаление не съм работил само с прости нишки а не с CriticalSections !?
Благодаря предварително !
За сега съм сложил само един Gauge но ми иска да има и оставащо време като да речем копирането голям файл или инсталиране на някаква програма ?
Пробвах да засека колко записа обработва на 10 секунди и да изчисля оставащото време според това! Но понякога процесора обработва и други данни и времето няма нищо общо с това което аз показвам!
Защо ми се струва че всичко това клони към CriticalSections но за съжаление не съм работил само с прости нишки а не с CriticalSections !?
Благодаря предварително !
Re: Show remaning time
изминало_време * (общо_записи / обработени_записи)
Естествено няма смисъл да актуализираш за всеки обработен запис.
Определено това е само едно предположение и ако си свалял файлове с FlasGet знаеш какво означава.
Естествено няма смисъл да актуализираш за всеки обработен запис.
Определено това е само едно предположение и ако си свалял файлове с FlasGet знаеш какво означава.
Re: Show remaning time
Изминало време не ме вълнува толкова колкото оставащото!
Това просто ми изникна като идея която продължава да ме гризе вътре ако някой знае от каде мога да прочета малко информация за темата моля !
Това просто ми изникна като идея която продължава да ме гризе вътре ако някой знае от каде мога да прочета малко информация за темата моля !
Re: Show remaning time
Аз ти предлагам да забравиш за оставащото време. Не ти ли се е случвало програмни продукти и то авторитетни да дават погрешно време. Все пак това не е свързано само с твоята програма.
ОСТАВАЩО_ВРЕМЕ
ОБЩО_ВРЕМЕ = изминало_време * (общо_записи / обработени_записи)
ОСТАВАЩО_ВРЕМЕ = общо_време - изминало_време =
изминало_време * (общо_записи / обработени_записи - 1)
ОСТАВАЩО_ВРЕМЕ = общо_време - изминало_време =
изминало_време * (общо_записи / обработени_записи - 1)
Re: Show remaning time
Доколкото си спомням ADO-то имаше някаква callback ф-я след обработка на поредния запис. Това май важеше само за insert/update/delete, но не и за select.
Общият бр. на записите можеш да ги намериш с select count(*) from my_table where ...... Но почти съм сигурен, че в АДО-то има събитие за четене на отделен запис. Да има, проверих. Виж OnFetchProgress на ADODataSet. Има и пример в хелпа.
Общият бр. на записите можеш да ги намериш с select count(*) from my_table where ...... Но почти съм сигурен, че в АДО-то има събитие за четене на отделен запис. Да има, проверих. Виж OnFetchProgress на ADODataSet. Има и пример в хелпа.