Access

  MS Access 2010+  |  Aplication Programming Interface API  |   VBA 7.0



• API File. Funkcje zarządzania plikami.

Wyszukiwanie pliku lub folderu o nazwie pasującej do wzorca.

Funkcje FindFirstFile(...) i funkcja FindNextFile(...) służą do wyszukiwania plików i folderów po nazwie, lub według wzorca wyszukiwania z użyciem symboli wieloznacznych "?" oraz "*". Przy powodzeniu, (gdy zostanie znaleziony plik lub folder pasujący do wzorca), funkcja FindFirstFile(...) zwraca uchwyt wyszukiwania, a funkcja FindNextFile(...) wartość różną od Zera. Struktura WIN32_FIND_DATA zawiera wtedy informacje o znalezionym pliku lub folderze. M.in. znajdują się tam dane odnośnie czasu utworzenia pliku, ostatniego dostępu do pliku i ostatniej modyfikacji pliku, które zwracane są w strukturze FILETIME

Elementy struktury WIN32_FIND_DATA jako struktura FILETIME

Trzy poniższe elementy struktury WIN32_FIND_DATA zwracane są jako struktura FILETIME

  • ftCreationTime
  • struktura FILETIME zawierająca informacje o czasie utworzenia pliku. Jeżeli system plików nie obsługuje czasu utworzenia, to elementy struktury są równe Zero.
  • ftLastAccessTime
  • struktura FILETIME zawierająca informacje o czasie ostatniego dostępu do pliku. W przypadku pliku, struktura określa, kiedy plik był ostatnio czytany lub zapisany, a dla plików wykonywalnych określa czas ostatniego uruchomienia. Dla katalogu struktury określa, kiedy został utworzony katalog. W systemie plików FAT, daty dla plików i katalogów jest poprawna, ale pora dnia jest zawsze ustawiony na po północy.
  • ftLastWriteTime
  • struktura FILETIME zawierająca informacje o czasie ostatniej modyfikacji pliku. W przypadku pliku, struktura określa, kiedy plik był ostatnio zapisany, zmieniony lub zastąpiony. Gdy atrybuty plików lub deskryptory zabezpieczeń są zmieniane, data i godzina nie są aktualizowane. Dla katalogu struktura określa, kiedy zostanie utworzony katalog. Jeśli dany system plików nie obsługuje czasu ostatniego zapisu, to elementy struktury są równe Zero.

Opis struktury FILETIME

Krótki opis elementów struktury WIN32_FIND_DATA zawierających dane w postaci struktury FILETIME

Struktura FILETIME jest to 64 bitową struktura określająca liczbę 100 nanosekundowych odstępów jakie upłynęły od dnia 1 stycznia 1601 roku według czasu UTC.

Public Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
  • elementy:
    • dwLowDateTime:
    • młodsze 32 bity daty pliku
    • dwHighDateTime
    • starsze 32 bity daty pliku.

Uwagi. Nie wszystkie systemy plików zapisują datę utworzenia i czas ostatniego dostępu, a także różne systemy plików mogą czasy te zapisywać w różny sposób. Na przykład, w systemie plików FAT, czas utworzenia pliku zapisywany jest z dokładnością do 10 milisekund, a czas zapisu z dokładnością do 2 sekund, a czas dostępu zapisywany jest z dokładnościa do 1 dnia. System plików NTFS opóźnia czas aktualizacji pliku do 1 godziny po ostatnim dostępie do pliku. Ponadto, w systemie plików FAT czas zapisywany jest zgodnie z czasem lokalnym. W systemie NTFS czas zapisywany jest zgodnie z czasem UTC.
    Aby przekonwertować datę pliku przechowywaną w 64-bitowej strukturze FILETIME do bardziej przystępnego formatu SYSTEMTIME ułatwiającego dostęp do datę i godzinę należy użyć funkcji FileTimeToSystemTime(...)