Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > дата, хранение ее в файле


Автор: od0201 24.7.2013, 10:40
Доброе время суток

задача:
Есть пользователи с ID. 
Если пользователь онлайн ему посылается сообщение.
Сообщение не посылается, если с момента последнего сообщения не прошло Х времени (скажем 3 часа).
В процессе программка может перезапускаться.

Решение:
в файле хранить ID и время, когда данному ID было послано последнее сообщение.
Получаю системную дату, перевожу ее в строку s:=DateToStr(today)+' '+TimeToStr(today);  сохраняю в файл.

Проблема:
как с s получить today?

Либо есть другое решение данной задачи?

Delphi XE3

Добавлено через 11 минут и 30 секунд
решение найдено

StrToDateTime

Всем спасибо

Автор: Illusion Dolphin 24.7.2013, 11:33
Цитата

 s:=DateToStr(today)+' '+TimeToStr(today)

Цитата

StrToDateTime

1) Запускаю программу, записывается дата в файл
2) Закрываю программу
3) Решил поменять региональные настройки с другим форматирование дат
4) Открываю программу
5) Получаем ошибку невозможности сконвертировать строку в дату

Автор: kami 24.7.2013, 12:18
Цитата(Illusion Dolphin @  24.7.2013,  11:33 Найти цитируемый пост)
 Получаем ошибку невозможности сконвертировать строку в дату

Не факт, если для записи и чтения пользоваться потокобезопасными версиями функций с ручным выставлением TFormatSettings smile

Автор: Illusion Dolphin 24.7.2013, 12:22
Цитата

Не факт, если для записи и чтения пользоваться потокобезопасными версиями функций с ручным выставлением TFormatSettings smile 

О я глупец smile! Конечно, всё оно так и было, автор сначала изучил потокобезопасность, ручное выставление TFormatSettings, а затем нашёл что есть такая функция как StrToDateTime. 

Автор: Poseidon 24.7.2013, 12:43
od0201, Зачем такой изврат? Дата/время - это дробное число. Сохраняй в файл это число. Не будешь иметь проблем с форматами дат.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)