crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

AD
  опции профиля:
сообщение 11.6.2009, 17:56
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


В какой-то момент стартанули поток, процесс, таймер (не столь важно). Этот момент времени запомнили. Через какие-то промежутки времени берем текущее время. Узнаем разность. Но вопрос в том, как получить оставшееся время?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kwisp
  опции профиля:
сообщение 15.6.2009, 13:46
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(AD @ 15.6.2009, 14:16) *
Ну как заставить его посылать эти эвенты раз в секунду?

это точно так необходимо? без этого никак?
Цитата(Litkevich Yuriy @ 11.6.2009, 19:47) *
Запомнить время начала и посчитать сколько должно быть по завершении.
Затем периодически проверять сколько сейчас времени. Ну а как посчитать сколько осталось зная "Сечас" и "Конец" -это из школьной арифметики.

была такая проблемка и у меня.
если я правильно понял, то Запомнить время начала это запомнить системное время? так?
я сначала так и сделал, но потом от шефа получил по рукам.
шеф мотивировал тем что если время выполнения большое к примеру более 1 минуты то пользователь сможет поменять системное время и тогда будет ерунда.

наверное самому время надо считать в смысле заводить таймер и наращивать время.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 15.6.2009, 14:26
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(kwisp @ 15.6.2009, 14:46) *
была такая проблемка и у меня.
если я правильно понял, то Запомнить время начала это запомнить системное время? так?
я сначала так и сделал, но потом от шефа получил по рукам.
шеф мотивировал тем что если время выполнения большое к примеру более 1 минуты то пользователь сможет поменять системное время и тогда будет ерунда.

наверное самому время надо считать в смысле заводить таймер и наращивать время.

Ты о чем вообще? :)))

Вот решение проблемы, которое предложил SABROG, за что ему огромное спасибо:
/// Запуск потока вращения в обеих плоскостях длительный промежуток времени
void ContinueRotation::run()
{
    while(_time.hour() || _time.minute() || _time.second() || _time.msec())
    {
        int secs = QDateTime::currentDateTime().time().secsTo(finished_time);
        QTime t;    t = t.addSecs(secs);
        int el_t = t.hour() * 60 * 60 * 1000 + t.minute() * 60 * 1000 + t.second() * 1000 + t.msec();
        int _t = _time.hour() * 60 * 60 * 1000 + _time.minute() * 60 * 1000 + _time.second() * 1000 + _time.msec();
        int diff = _t - el_t;
        _time = t;
        if(diff >= 1000) emit timeout(_time);
    }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   остаток времени в QTime   11.6.2009, 17:56
- - Litkevich Yuriy   Цитата(AD @ 11.6.2009, 21:56) оставшееся ...   11.6.2009, 18:03
|- - AD   А ну да... не так выразился... Задали какое-то вр...   11.6.2009, 18:12
- - Litkevich Yuriy   Запомнить время начала и посчитать сколько должно ...   11.6.2009, 18:47
|- - AD   Цитата(Litkevich Yuriy @ 11.6.2009, 19:47...   11.6.2009, 21:48
|- - AD   Не могу понять, как сделать, чтобы во время отсчет...   15.6.2009, 12:33
- - SABROG   Поправь меня, если я не прав, но тут посылается це...   15.6.2009, 12:59
|- - AD   Цитата(SABROG @ 15.6.2009, 13:59) Поправь...   15.6.2009, 13:16
- - SABROG   Цитата(AD @ 15.6.2009, 14:16) Ну а как то...   15.6.2009, 13:31
- - kwisp   Цитата(AD @ 15.6.2009, 14:16) Ну как заст...   15.6.2009, 13:46
|- - AD   Цитата(kwisp @ 15.6.2009, 14:46) была так...   15.6.2009, 14:26
- - igor_bogomolov   Цитата(AD)/// Запуск потока вращения в обеих плоск...   15.6.2009, 14:45
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 15:45)...   15.6.2009, 15:04
- - kwisp   AD, значит я чего-то не допонял.   15.6.2009, 14:50
- - igor_bogomolov   Цитата(kwisp @ 15.6.2009, 15:50) значит я...   15.6.2009, 14:56
- - igor_bogomolov   Цитата(AD @ 15.6.2009, 13:33) QTime start...   15.6.2009, 15:08
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 16:08)...   15.6.2009, 15:17
- - igor_bogomolov   Цитата(AD @ 15.6.2009, 16:04) 1) Да. Попр...   15.6.2009, 15:23
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 16:23)...   15.6.2009, 15:31
- - kwisp   Цитата(kwisp @ 15.6.2009, 15:50) значит я...   15.6.2009, 15:33
|- - AD   Задается определенное время, например 15 минут или...   15.6.2009, 15:57
- - SABROG   Таймер и другой поток необходимы в ситуации, когда...   15.6.2009, 15:44
- - igor_bogomolov   Цитата(AD @ 15.6.2009, 16:17) Такую ситуа...   15.6.2009, 17:44
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 18:44)...   15.6.2009, 18:29
- - kwisp   Цитата(AD @ 15.6.2009, 19:29) Мне необход...   15.6.2009, 20:50
- - igor_bogomolov   Цитата(AD @ 15.6.2009, 19:29) Мне необход...   15.6.2009, 22:43
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 23:43)...   16.6.2009, 8:44
|- - AD   Цитата(igor_bogomolov @ 15.6.2009, 23:43)...   17.6.2009, 9:29
- - Litkevich Yuriy   Цитата(AD @ 16.6.2009, 12:44) или же в са...   16.6.2009, 8:55
|- - AD   вызвать сигнал, который ассоциирую со слотом, выпо...   16.6.2009, 9:56
- - igor_bogomolov   Цитата(Игорь)А я вот совершенно не уверен (по тому...   16.6.2009, 11:03
|- - AD   Цитата(igor_bogomolov @ 16.6.2009, 12:03)...   16.6.2009, 11:38
|- - AD   Никак не пойму, почему таймер не срабатывает. Дела...   16.6.2009, 14:23
- - igor_bogomolov   Цитата(AD @ 17.6.2009, 10:29) Это насколь...   17.6.2009, 11:30
|- - AD   Цитата(igor_bogomolov @ 17.6.2009, 12:30)...   17.6.2009, 12:08
- - AD   igor_bogomolov, видимо, я так не смогу сам определ...   17.6.2009, 15:52
- - AD   Ну разобрался, наконец-то! Вот окончательная ...   17.6.2009, 17:50


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 6.6.2025, 21:42