2015-11-23 5 views
0

Я делаю приложение, у которого есть функция, которая вычисляет время, если оно уже прошло по истечении срока, в нем должно появиться сообщение о том, что «сессия истекло», что-то вроде этого.Calculate timeleft

Вот рассчитать время:

CurrentTime := StrToDateTime('10/10/15 10:02'); 
    TimeExpired := StrToDateTime('10/10/15 10:00'); 

    iHours := HoursBetween(CurrentTime, TimeExpired); 
    iMinutes := MinutesBetween(CurrentTime, TimeExpired)- (iHours * 60); 

Проблема есть он не дает отрицательное значение (-2).

Обычно я рассчитываю оставшиеся часы и минуты, но если мое приложение аварийно завершает работу или случайно закрывается, и пользователь снова открывает его, и он уже истекает с истечением срока действия, оставшиеся минуты увеличиваются, а не уменьшаются.

Как узнать, прошло ли уже истекло?

+2

Почему вы не прочитали документацию? В документации содержится очень четкое заявление, которое ответит на ваш вопрос. Вы знаете, как найти документацию? Возможно, это настоящая проблема. –

ответ

1

Вы можете просто проверить, какое время больше. Если CurrentTime > TimeExpired, то время истечения срока действия в прошлом, и сеанс явно истек.

+0

Да, это то, что я ищу, просто мой английский не очень хорош, я не знаю, какие слова использовать его в Google, теперь, когда вы указываете, какое время больше: D Я использую сейчас CompareDateTime – Area50plus1