Ko morate shraniti nekaj vsebine, povezane z vašim Aplikacija Delphi na uporabnikovem trdem disku morate skrbeti za podporo za ločevanje stanja uporabniških podatkov, uporabniških nastavitev in računalniških nastavitev.
Na primer mapo »Podatki o aplikaciji« v Windows je treba uporabiti za shranjevanje dokumentov, specifičnih za aplikacije, kot so Datoteke INI, stanje aplikacije, temp datoteke ali podobno.
Nikoli ne uporabljajte trde kodirane poti do določenih lokacij, na primer "c: \ programske datoteke", ker to morda ne bo delovalo na druge različice sistema Windows, ker se lokacija map in imenikov lahko spreminja z različnimi različicami sistema Windows Windows.
Funkcija SHGetFolderPath Windows API
SHGetFolderPath je na voljo v SHFolder enota. SHGetFolderPath pridobi celotno pot prepoznane znane mape.
Tu je funkcija ovitka po meri okoli SHGetFolderPath API za lažjo pridobitev katere koli od standardnih map za vse ali trenutno prijavljenega uporabnika sistema Windows.
Tu je primer uporabe funkcije SHGetFolderPath:
- Na obrazec spustite TRadioButtonGroup (ime: "RadioGroup1")
- Na obrazec spustite TLabel (ime: "Label1")
- V radijsko skupino dodajte 5 predmetov:
- "[Trenutni uporabnik] \ Moji dokumenti"
- "Vsi uporabniki \ podatki o aplikacijah"
- "[Uporabniški podatki] \ Podatki o aplikaciji"
- "Programske datoteke"
- "Vsi uporabniki \ dokumenti"
- Obravnavajte dogodek OnClick RadioGroup kot:
Opomba: "[trenutni uporabnik]" je ime trenutno prijavljenega uporabnika sistema Windows.
Opomba: SHGetFolderPath je superset SHGetSpecialFolderPath.
V mapo Moji dokumenti ne smete shranjevati podatkov, specifičnih za aplikacije (na primer začasne datoteke, uporabniške nastavitve, konfiguracijske datoteke aplikacije itd.). Namesto tega uporabite aplikacijsko datoteko, ki se nahaja v veljavni mapi aplikacijskih podatkov.
Vedno dodajte podmapo na pot, ki jo vrne SHGetFolderPath. Uporabite naslednjo konvencijo: "\ Podatki o aplikaciji \ Ime podjetja \ Ime izdelka \ Različica izdelka".