Programowanie Delphi Przechowywanie danych użytkowników i aplikacji

Kiedy musisz przechowywać niektóre treści związane z Twoim Aplikacja Delphi na dysku twardym użytkownika należy zadbać o obsługę separacji stanów danych użytkownika, ustawień użytkownika i ustawień komputera.

Na przykład folder „Dane aplikacji” w Windows powinny być używane do przechowywania dokumentów specyficznych dla aplikacji, takich jak Pliki INI, stan aplikacji, pliki tymczasowe lub podobne.

Nigdy nie należy używać zakodowanych ścieżek do określonych lokalizacji, takich jak „c: \ Program Files”, ponieważ może to nie działać inne wersje systemu Windows, ponieważ lokalizacja folderów i katalogów może się zmieniać w zależności od wersji Windows

Funkcja API systemu Windows SHGetFolderPath

SHGetFolderPath jest dostępny w SHFolder jednostka. SHGetFolderPath pobiera pełną ścieżkę do zidentyfikowanego znanego folderu.

Oto niestandardowa funkcja opakowania wokół SHGetFolderPath API aby pomóc Ci uzyskać dowolny ze standardowych folderów dla wszystkich lub aktualnie zalogowanego użytkownika systemu Windows.

instagram viewer

Oto przykład użycia funkcji SHGetFolderPath:

  • Upuść TRadioButtonGroup (nazwa: „RadioGroup1”) na formularzu
  • Upuść TLabel (nazwa: „Label1”) na formularzu
  • Dodaj 5 pozycji do grupy radiowej:
    • „[Bieżący użytkownik] \ Moje dokumenty”
    • „Wszyscy użytkownicy \ Dane aplikacji”
    • „[Specyficzne dla użytkownika] \ Dane aplikacji”
    • "Pliki programów"
    • „Wszyscy użytkownicy \ Dokumenty”
  • Traktuj zdarzenie OnClick RadioGroup jako:

Uwaga: „[bieżący użytkownik]” to nazwa aktualnie zalogowanego użytkownika systemu Windows.

Uwaga: SHGetFolderPath jest nadzbiorem SHGetSpecialFolderPath.

Nie należy przechowywać danych specyficznych dla aplikacji (takich jak pliki tymczasowe, preferencje użytkownika, pliki konfiguracyjne aplikacji itp.) W folderze Moje dokumenty. Zamiast tego użyj pliku aplikacji, który znajduje się w prawidłowym folderze danych aplikacji.

Zawsze dołączaj podfolder do ścieżki zwracanej przez SHGetFolderPath. Użyj następującej konwencji: „\ Dane aplikacji \ Nazwa firmy \ Nazwa produktu \ Wersja produktu”.

instagram story viewer