Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.08.2009, 12:53
AIMor AIMor вне форума
Прохожий
 
Регистрация: 13.03.2009
Сообщения: 31
Репутация: 10
По умолчанию Как перевести значение TDateTime в секунды (Integer)

Суть задачи следующая - нужно узнать сколько прошло времени с последней контрольной точки выполнения программы.
То есть

Код:
Var
   T      : TDateTime;
   T_Past : TDateTime;


T:=Now-T_Past

Подскажите, как теперь перевести значение переменной Т в секунды (переменную типа Integer).
Ответить с цитированием
  #2  
Старый 06.08.2009, 13:06
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Используй GetTickCount.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 08.08.2009, 15:20
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Нет, GetTickCount это не то.
Цитата:
The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
Нужно подключить юниту DateTimeUtils и использовать функцию MinutesBetween.
Ответить с цитированием
  #4  
Старый 09.08.2009, 22:40
Аватар для AllMaNi
AllMaNi AllMaNi вне форума
Новичок
 
Регистрация: 15.06.2009
Адрес: Россия, ЮФО
Сообщения: 57
Репутация: 10
По умолчанию

Вот это подойдет?
__________________
Пусть ненавидят миллионы, зато любят тыщи (с) Многоточие
Ответить с цитированием
  #5  
Старый 10.08.2009, 22:15
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

NT_AUTHORITY, MinutesBetween тут не прокатит, т.к. она возвращает целую разницу минут ... а нужно секунды !

AIMor, предлагаю такой код:
Код:
uses DateUtils;
...
var
d1,d2:TDateTime;
d:double;
begin
d1 := EncodeDateTime(2009, 08, 10, 21, 06, 0, 1); // первая дата
d2 := EncodeDateTime(2009, 08, 10, 21, 06, 07, 0); // вторая дата
d:=DaySpan(d1,d2); считаем дробную разницу в днях
ShowMessage(FloatToStr(d*86400));// умножаем на кол-во секунд в дне
Результат: 6,99 секунд
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter