Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TDateTime + FileTime, Смена файлового времяни 
:(
    Опции темы
GuManOiD
Дата 5.11.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 12.9.2005

Репутация: нет
Всего: нет



Вот код двух функций:
1. Преобразует файловое время в времядату формата Delphi:
Код

function FileTimeToDateTime(ftFileTime : _FILETIME):TDateTime;
var
  SysTime : _SYSTEMTIME;
begin
  FileTimeToLocalFileTime(ftFileTime,ftFileTime);
  FileTimeToSystemTime(ftFileTime, SysTime);
  Result := EncodeDate(SysTime.wYear, SysTime.wMonth, SysTime.wDay)+
    EncodeTime(SysTime.wHour, SysTime.wMinute, SysTime.wSecond, SysTime.wMilliseconds);
end;

2. Функция обратная 1-й:
Код

function DateTimeToFileTime(dtFileTime : TDateTime) : _FILETIME;
var
  SysTime : _SYSTEMTIME;
  ftFileTime : _FILETIME;
begin
  DateTimeToSystemTime(dtFileTime, SysTime);
  SystemTimeToFileTime(SysTime, ftFileTime);
  LocalFileTimeToFileTime(ftFileTime,ftFileTime);

  Result := ftFileTime;
end;


1-я взята из DKRB 2.3, 2-ю написал сам.

Вот в чем загвоздка, я считываю даты из файла процедурой GetFileTime, записываю SetFileTime,
т.е. нужна программа для изменения дат любого файла, открываю файловый поток в режиме fmOpenWrite.

Для передачи Handl-а файла использую myStream.Handle

Но в результате: дата последнего доступа и дата последней записи выставляются либо на текущую дату, либо на совсем неверную...

Что я делаю не так? smile

PS: Ответ "все" неприемлем smile

Добавлено @ 17:10 
Кхм... ошибка была видимо совсем не в этом, 
для каждого вида даты и времяни (т.е. для времяни последенго доступа, времяни последней записи, времяни создания)
по 2 TDateTimePicker:
1 для даты, 2 для времяни:
у DateTimePicker есть свойства Time, Date и DateTime

как из Time + Date сделать DateTime? smile

я делал так:
Код

dtpCreationDate.Date := <нужная мне дата>;
dtpCreationDate.Time := dtpCreationTime.Time;


и dtpCreationDate.DateTime записывал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0363 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.