Access

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



• API. 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, a struktura WIN32_FIND_DATA zawiera wtedy informacje o znalezionym pliku lub folderze. A jakie informacje zawiera struktura WIN32_FIND_DATA poniżej:

Opis struktury WIN32_FIND_DATA


Public Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type
  • elementy:
    • dwFileAttributes
    • określa atrybuty znalezionego pliku. Może być kombinacją wielu atrybutów.
    • 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 struktura FILETIME określa, kiedy został utworzony katalog. Jeżeli dany system plików nie obsługuje czasu ostatniego dostępu, to elementy struktury są równe Zero.
      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.
    • nFileSizeHigh
    • rozmiar pliku w bajtach, jako najbardziej znacząca wartość DWORD. Wartość ta jest równa Zero, chyba że rozmiar pliku jest większy niż MAXDWORD. Rozmiar pliku jest równy (nFileSizeHigh * (MAXDWORD + 1)) + nFileSizeLow.
    • nFileSizeLow
    • rozmiar pliku w bajtach, jako mniej znacząca wartość DWORD
    • dwReserved0
    • jeżeli w elemencie dwFileAttributes przekazano atrybut FILE_ATTRIBUTE_REPARSE_POINT, to element ten określa punkt ponownej analizy (reparse points). W przeciwnym wypadku ta wartość jest niezdefiniowana i nie powinna być używana.
    • dwReserved1
    • element nieużywany (zarezerwowany)
    • cFileName
    • pełna nazwa pliku. Maksymalna długość zwracanej nazwy pliku określa stała MAX_PATH.
    • cAlternate
    • Krótka nazwa pliku w klasycznym formacie 8.3

Uwagi.

  • Jeżeli plik ma długą nazwę, to element cFileName zawiera pełną nazwę pliku, a element cAlternateFileName struktury WIN32_FIND_DATA zawiera krótką nazwę pliku w formacie 8.3. W przeciwnym wypadku element cAlternateFileName struktury WIN32_FIND_DATA jest pusty.
  • 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.