Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Узнать сколько дней прошло


Автор: Pavelbej 8.2.2007, 21:50
 Дату создания файла я узнаю а вот как узнать сколько дней прошло - не знаю

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  FileHandle: THandle;
  LocalFileTime: TFileTime;
  DosFileTime: DWORD;
  LastAccessedTime: TDateTime;
  FindData: TWin32FindData;
begin
  FileHandle := FindFirstFile(Pchar(ExtractFilePath(Application.Exename)+Extractfilename(Application.exename)), FindData);
  if FileHandle <> INVALID_HANDLE_VALUE then
  begin
    Windows.FindClose(Handle);
    if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    begin
      FileTimeToLocalFileTime(FindData.ftCreationTime, LocalFileTime);
      FileTimeToDosDateTime(LocalFileTime, LongRec(DosFileTime).Hi, LongRec(DosFileTime).Lo);
      LastAccessedTime := FileDateToDateTime(DosFileTime);
      Label1.Caption := DateTimeToStr(LastAccessedTime);
    end;
  end;
end;


Автор: Sunvas 8.2.2007, 22:02
Просто отнимаешь от сегодняшней даты свою дату и получаешь результат в днях.

Автор: VICTAR 8.2.2007, 22:02
Вычти из текущей даты дату создания ;)
Текущая дата Now

Автор: Sunvas 8.2.2007, 22:14
Первый вариант:
Код

var dfile:TDateTime;
n:word;
{...}
n:=trunc(dfile-now);

Второй вариант:
Код

uses dateutils;
var dfile:TDateTime;
n:word;
{....}
n:=daysbetween(dfile,now);

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