Chcę uzyskać pliki tych atrybutów jako wartości całkowite.Jak uzyskać datę utworzenia/ostatniej modyfikacji pliku w Delphi?
Odpowiedz
Delphianie lubią podejście FindFirst (struktura SearchRec ma niektóre z nich), ale proponuję funkcję Win32 API GetFileAttributesEx.
Można wywołać funkcję winapi GetFileInformationByHandle. Aparently JCL posiada funkcję GetFileLastWrite można też użyć
Spróbuj
function FileAge(const FileName: string; out FileDateTime: TDateTime): Boolean;
Od sysutils.
Przestarzałe od czasu tego komentarza. –
'FileAge()' pobiera datę utworzenia pliku, a nie datę OSTATNIO ZMODYFIKOWANĄ. –
@JerryGagnon - Nie, używa '_WIN32_FILE_ATTRIBUTE_DATA.ftLastWriteTime' –
Z DSiWin32 darmowej biblioteki:
function DSiFileTimeToDateTime(fileTime: TFileTime; var dateTime: TDateTime): boolean;
var
sysTime: TSystemTime;
begin
Result := FileTimeToSystemTime(fileTime, sysTime);
if Result then
dateTime := SystemTimeToDateTime(sysTime);
end; { DSiFileTimeToDateTime }
function DSiGetFileTimes(const fileName: string; var creationTime, lastAccessTime,
lastModificationTime: TDateTime): boolean;
var
fileHandle : cardinal;
fsCreationTime : TFileTime;
fsLastAccessTime : TFileTime;
fsLastModificationTime: TFileTime;
begin
Result := false;
fileHandle := CreateFile(PChar(fileName), GENERIC_READ, FILE_SHARE_READ, nil,
OPEN_EXISTING, 0, 0);
if fileHandle <> INVALID_HANDLE_VALUE then try
Result :=
GetFileTime(fileHandle, @fsCreationTime, @fsLastAccessTime,
@fsLastModificationTime) and
DSiFileTimeToDateTime(fsCreationTime, creationTime) and
DSiFileTimeToDateTime(fsLastAccessTime, lastAccessTime) and
DSiFileTimeToDateTime(fsLastModificationTime, lastModificationTime);
finally
CloseHandle(fileHandle);
end;
end; { DSiGetFileTimes }
To powinno działać, i to jest natywny kod Delphi.
function GetFileModDate(filename : string) : integer;
var
F : TSearchRec;
begin
FindFirst(filename,faAnyFile,F);
Result := F.Time;
//if you wanted a TDateTime, change the return type and use this line:
//Result := FileDateToDatetime(F.Time);
FindClose(F);
end;
function GetFileModDate(filename : string) : TDateTime;
var
F : TSearchRec;
begin
FindFirst(filename,faAnyFile,F);
Result := F.TimeStamp;
//if you really wanted an Int, change the return type and use this line:
//Result := F.Time;
FindClose(F);
end;
F.Time został już przestarzałe Pomoc plik mówi Zastosowanie F.TimeStamp.
Po prostu zaktualizować to ze względu na nowsze wersje Delphi
System.IOUtils mają rekord TFile z kilkoma funkcjami do uzyskania wieku pliku, np. GetCreationTime, GetLastAccessTime, GetLastWriteTime
- 1. Jak wyświetlić datę modyfikacji pliku w Jekyll?
- 2. SSIS Przeczytaj datę modyfikacji pliku
- 3. Jak uzyskać datę modyfikacji z pliku w języku C#?
- 4. Jak uzyskać datę modyfikacji pliku w UTC z Python
- 5. Pobierz datę ostatniej modyfikacji pliku w VB6
- 6. Jak uzyskać datę ostatniej modyfikacji z pliku sekwencji Hadoop?
- 7. Jak mogę uzyskać datę ostatniej modyfikacji zespołu?
- 8. Pobierz datę ostatniej modyfikacji zdalnego pliku
- 9. Jak uzyskać datę utworzenia pliku?
- 10. Jak uzyskać ostatnią datę dostępu/modyfikacji bazy danych PostgreSQL?
- 11. Jak uzyskać wczorajszą datę w pliku wsadowym?
- 12. Jak uzyskać datę w pliku BAT
- 13. Jak uzyskać czas ostatniej modyfikacji pliku w Pythonie?
- 14. Polecenie uniksowe (inne niż "stat" i "ls"), aby uzyskać datę modyfikacji pliku bez analizowania
- 15. Pobierz datę utworzenia pliku w węźle
- 16. Jak uzyskać datę w Julii
- 17. Jak uzyskać ostatnio dostępną datę i godzinę pliku w Go?
- 18. Jak uzyskać aktualną datę?
- 19. Czy mogę uzyskać datę zmodyfikowania pliku HTTP?
- 20. Jak uzyskać adres URL pliku z bezwzględnej ścieżki w Delphi?
- 21. php uzyskać datę przyszłą datę
- 22. Pobierz ostatni czas modyfikacji pliku w Linuksie
- 23. IPhone - pobierz datę ostatniej modyfikacji z serwera WWW
- 24. Jak programowo ustawić czas modyfikacji pliku?
- 25. play-ramy coraz datę ostatniej modyfikacji dla plików
- 26. PHP: Jak uzyskać datę utworzenia z przesłanego pliku?
- 27. Zaktualizuj czas modyfikacji pliku (dotknij)
- 28. iOS: Jak znaleźć datę utworzenia pliku?
- 29. Jak uzyskać datę najbliższej niedzieli?
- 30. Jak uzyskać "datę" e-maila?
Dlaczego liczba całkowita, co jest nie tak z TDateTime? –