Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2007, 08:48   #1
Шеллер Алексей
 
Регистрация: 09.01.2007
Сообщений: 8
По умолчанию Дата создания файла

Здравствуйте! У меня возникла проблема с определением даты создания файла.
Пробовал следующее:
Код:
Var File_Rec: TSearchRec;
begin
  findFirst('C:\MyFile.txt', 1, File_Rec);
  Form1.Label1.Caption:= IntToStr(File_Rec.Time);
end;
Но получаю только время создания.

Последний раз редактировалось artemavd; 30.09.2011 в 18:33.
Шеллер Алексей вне форума Ответить с цитированием
Старый 03.03.2007, 11:12   #2
And1
Пользователь
 
Регистрация: 18.02.2007
Сообщений: 10
Радость

Что-то я не догоняю, как "IntToStr(File_Rec.Time)" может показать время создания файла.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var File_Rec: TSearchRec;
DateTime:TDateTime;
begin
findFirst('C:\MyFile.txt', 1, File_Rec);
DateTime:=FileDateToDateTime(File_Rec.Time);
showMessage('Дата и время: '+DateTimeTostr(DateTime));
showMessage('Только время: '+TimeTostr(DateTime));
showMessage('Только дата: '+DateTostr(DateTime));
end;
Если же сильно хочется хранить время и дату в виде отдельных чисел, то:
1) Время в File_Rec.Time хранится в формате DosDateTime
2) DosDateTime:
Дата = 65536*(день + 32*месяц + 512*(год – 1980))
время = Часы*2048 + минуты*32 + секунды/2
побитно формат DosDateTime можно посмотреть в справке, наприм. в описании функции DosDateTimeToVariantTime

Код:
procedure TForm1.Button1Click(Sender: TObject);
var File_Rec: TSearchRec;
i:Integer;
begin
findFirst('C:\MyFile.txt', 1, File_Rec);
i:= (File_Rec.Time and $FFFF);
showMessage('время: '+inttostr((i and $F800) div 2048)+':'+inttostr((i and $7E0) div 32)+':'+inttostr((i and $1F)*2));
 
end;

Последний раз редактировалось artemavd; 30.09.2011 в 18:33.
And1 вне форума Ответить с цитированием
Старый 03.03.2007, 12:32   #3
Шеллер Алексей
 
Регистрация: 09.01.2007
Сообщений: 8
По умолчанию

Цитата:
Сообщение от And1 Посмотреть сообщение
Что-то я не догоняю, как "IntToStr(File_Rec.Time)" может показать время создания файла.
Свойство Time имеет тип Integer
А вообще, спасибо за подсказку, сейчас попробую.
Шеллер Алексей вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В FileListBox1 дата последнего редактирования файла lexaltd Компоненты Delphi 2 06.08.2008 20:57
Дата создания каталога eoln Win Api 1 14.07.2008 10:54
время и дата изменения файла dimonbest Общие вопросы Delphi 3 12.03.2008 06:51
Как установить дату создания файла vitalik007 Общие вопросы Delphi 1 11.12.2007 20:15