Delphi programozási felhasználói és alkalmazási adatok tárolása

Ha el kell tárolnia az Önhöz kapcsolódó tartalmat Delphi alkalmazás a felhasználói merevlemezen ügyelnie kell a felhasználói adatok, a felhasználói beállítások és a számítógépes beállítások állami elválasztásának támogatására.

Például az "Application Data" mappát a ablakok az alkalmazás-specifikus dokumentumok, például a. tárolására szolgál INI fájlok, alkalmazás állapot, ideiglenes fájlok vagy hasonló.

Soha ne használjon merev kódolású útvonalakat bizonyos helyekre, például a "c: \ Program Files", mivel ez nem működik a Windows többi verziója, mert a mappák és könyvtárak helye a Windows különböző verzióinál változhat Ablakok.

Az SHGetFolderPath Windows API funkció

Az SHGetFolderPath elérhető a SHFolder Mértékegység. Az SHGetFolderPath lekérdezi az ismert azonosított mappa teljes elérési útját.

Itt van egy egyedi csomagoló funkció az SHGetFolderPath körül API az összes vagy a jelenleg bejelentkezett Windows-felhasználó számára a szokásos mappák beszerzésében.

Íme egy példa az SHGetFolderPath funkció használatára:

instagram viewer
  • Dobjon el egy TRadioButtonGroup-ot (név: "RadioGroup1") egy űrlapra
  • Dobj el egy TLabel (név: "Label1") egy űrlapra
  • Adjon hozzá 5 elemet a rádiócsoporthoz:
    • "[Jelenlegi felhasználó] \ Saját dokumentumok"
    • "Minden felhasználó \ alkalmazás adatai"
    • "[Felhasználó specifikus] \ Alkalmazási adatok"
    • "Program fájlok"
    • "Minden felhasználó \ dokumentum"
  • A RadioGroup OnClick eseményét kezelje úgy:

Megjegyzés: "[Aktuális felhasználó]" a jelenleg bejelentkezett Windows felhasználó neve.

Megjegyzés: Az SHGetFolderPath az SHGetSpecialFolderPath szuperszet.

A My Documents mappában ne tároljon alkalmazás-specifikus adatokat (például ideiglenes fájlokat, felhasználói beállításokat, alkalmazás-konfigurációs fájlokat és így tovább). Ehelyett használjon egy alkalmazás-specifikus fájlt, amely egy érvényes Application Data mappában található.

Mindig csatoljon egy almappát az elérési úthoz, amelyet az SHGetFolderPath visszaad. Használja a következő konvenciót: "\ Alkalmazási adatok \ Cég neve \ Termék neve \ Termék verziója".