21.08.2017, 07:47 [+3 UTC]
в нашей команде: 2 095 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.08.2017, 16:51

Последний вопрос:
21.08.2017, 07:45

Последний ответ:
17.08.2017, 18:54

Последняя рассылка:
20.08.2017, 18:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
04.02.2010, 22:34 »
Кадынцев Валерий Васильевич
Спасибо! Рассказано подробно. [вопрос № 176490, ответ № 259217]
22.12.2009, 00:27 »
Мироненко Николай Николаевич
Благодарю Вас, Вы мне очень помогли! [вопрос № 175417, ответ № 258015]
08.12.2009, 15:02 »
Лысенков Антон Анатольевич
Да! Был Кидо. Спасибо огромное! [вопрос № 175018, ответ № 257477]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 314
mklokov
Статус: 6-й класс
Рейтинг: 88
Вадим Исаев ака sir Henry
Статус: Старший модератор
Рейтинг: 45

Перейти к консультации №:
 

Консультация онлайн # 63855
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Prowler
Отправлена: 23.11.2006, 13:15
Поступило ответов: 5

Здравствуйте!
Извените за откровенно ламерский вопрос. Я после учёбы долго ничего не писал, вот и появляются тупые вопросы.
Получаю дату:

var date:tdatetime;
begin
date:=time; //18:11:21 к примеру

мне нужно прибавить к этому времени 23 минуты и проверить с текущим временем. Вот как прибавить меня интересует. Сам придумал способ только через преобразование сначало к строковому типу, а потом к int. но хочется как-то по проще.
Заранее благодарю.

Состояние: Консультация закрыта

Ответ # 128019 от Monah

Здравствуйте, Prowler!
Тип TDateTime эвивалентен типу Real. Где дробнаЯ часть соответствует доли суток.
Значит 23 мин:=1/(23*60*24)


Консультировал: Monah
Дата отправки: 23.11.2006, 13:25

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128020 от Лукьяненко Алексей Валериевич

Здравствуйте, Prowler!

Используйте функцию IncMinute из модуля DateUtils


Консультировал: Лукьяненко Алексей Валериевич
Дата отправки: 23.11.2006, 13:26

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128021 от Gh0stik

Здравствуйте, Prowler!

Воспользуйтесь функцией IncMinute.

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var tm:TDateTime;
begin
tm:=IncMinute(GetTime(),23);
ShowMessage(TimeToStr(tm));
end;


Консультировал: Gh0stik
Дата отправки: 23.11.2006, 13:33

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128026 от Писарев, Павел, Юрьевич

Здравствуйте, Prowler!
В модуле DateUtils есть функции работы со временем в Delphi. Следующая функция выполняет данну задачу.

function IncXXXX (const AValue: TDateTime; const ANumberOfXXXX: Integer = 1): TDateTime;

где XXXX - Day, Hour, MilliSecond, Minute, Month, Second, Week, Year. Увеличивает указанную дату на нужное количество дней (часов, миллисекунд, минут, месяцев, секунд, недель, лет).


Консультировал: Писарев, Павел, Юрьевич
Дата отправки: 23.11.2006, 13:58

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128292 от KiberZero

Здравствуйте, Prowler!
Можно складывать и сравнивать так:

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=FormatDateTime('hh:nn:ss',Time);
Edit2.Text:=TimeToStr(Time + StrToTime('0:23'));
end;


Консультировал: KiberZero
Дата отправки: 24.11.2006, 19:48

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 63855

Посетитель

ID: 17049

# 1

= общий = | 23.11.2006, 13:58 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Можно воспользоваться идеей решения Monah, но без "магических чисел", хоть и очевидных. date := time + EncodeTime(0, 23, 0, 0); // под рукой Delphi нет — не помню точно, как называется функция. Для сравнения используйте MinutesBetween(date, now);


Посетитель

ID: 22689

# 2

= общий = | 23.11.2006, 14:42 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Огромное спасибо Кирилл! Раньше этим способом и пользовался, но забыл - старею...

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13687 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн