Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дата Соэдания каталога


Демонов Е.В. ©   (2003-04-18 09:15:00) 

Вот как узнать дат создания файла я нашёл.

А как найти дату создания каталога что то ни одной ф-ии не найду.

P.S: хотелось бы не исаользовать ф-ии FindFirst FindNext


Игорь Шевченко   (2003-04-18 15:28:00) [1]

[lamer]Barmaglot © (18.04.03 11:31)

А ты GetLastError-то погляди... ;-)


[lamer]Barmaglot   (2003-04-18 11:31:00) [2]

Только вот для каталога, я так понимаю - дает неверное значение...


[lamer]Barmaglot   (2003-04-18 11:26:00) [3]

У меня проще для понимания...


procedure TForm1.Button1Click(Sender: TObject);
var
HFile: THandle;
f, f1, f2: FileTime;
s, s1, s2: SystemTime;
begin
HFile:=CreateFile("d:\image2.gif", GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
GeTFileTime(HFile, @f, @f1, @f2);
FiletimetoSystemTime(f, s);
Edit1.Text:=inttostr(s.wDay)+"."+inttostr(s.wMonth)+"."+inttostr(s.wYear);
CloseHandle(HFile);
end;


Игорь Шевченко   (2003-04-18 10:54:00) [4]

unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TfMain = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
FCreateTime : FILETIME;
FAccessTime : FILETIME;
FLastWriteTime : FILETIME;
end;

var
fMain: TfMain;

implementation
uses
NtUtils;

{$R *.DFM}

procedure TfMain.Button1Click(Sender: TObject);
var
HDir : THandle;
UTC : LARGE_INTEGER;
begin
HDir := CreateFile("C:\TEMP", GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil,
OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
if HDir = INVALID_HANDLE_VALUE then
RaiseLastWin32Error();
try
if not GetFileTime(HDir, @FCreateTime, @FAccessTime, @FLastWriteTime) then
RaiseLastWin32Error();
.....
finally
CloseHandle(HDir);
end;
end;

end.


Для WinNT - работает.


Крот   (2003-04-18 10:11:00) [5]

Тьфу, ты - P.S. пропустил, прошу пардону. А чем FindFirst не устраивает?


Крот   (2003-04-18 10:10:00) [6]

Попробуй через FindNextFile


Наверх

Титульная страница Поиск, карта сайта Написать письмо