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:
- 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".