Når du trenger å lagre noe innhold relatert til ditt Delphi-søknad på brukerens harddisk, bør du ta vare på støtten for statlig separasjon av brukerdata, brukerinnstillinger og datamaskininnstillinger.
For eksempel mappen "Application Data" i Windows skal brukes til å lagre applikasjonsspesifikke dokumenter som f.eks INI-filer, applikasjonsstatus, temp-filer eller lignende.
Du bør aldri bruke hardkodede stier til bestemte steder, for eksempel "c: \ Program Files", da dette kanskje ikke fungerer på andre versjoner av Windows fordi plasseringen av mapper og kataloger kan endres med forskjellige versjoner av Windows.
SHGetFolderPath Windows API-funksjon
SHGetFolderPath er tilgjengelig i SHFolder enhet. SHGetFolderPath henter hele banen til en kjent mappe som er identifisert.
Her er en tilpasset innpakningsfunksjon rundt SHGetFolderPath API for å hjelpe deg med å få noen av standardmappene for alle eller for øyeblikket loggede Windows-brukere.
Her er et eksempel på bruk av SHGetFolderPath-funksjonen:
- Slipp en TRadioButtonGroup (navn: "RadioGroup1") på et skjema
- Slipp en TLabel (navn: "Label1") på et skjema
- Legg til 5 elementer i radiogruppen:
- "[Aktuell bruker] \ Mine dokumenter"
- "Alle brukere \ Søknadsdata"
- "[Brukerspesifikk] \ Programdata"
- "Programfiler"
- "Alle brukere \ dokumenter"
- Håndter RadioGroups OnClick-hendelse som:
Merk: "[Current User]" er navnet på den for øyeblikket loggede Windows-brukeren.
Merk: SHGetFolderPath er et supersett av SHGetSpecialFolderPath.
Du bør ikke lagre applikasjonsspesifikke data (for eksempel midlertidige filer, brukerpreferanser, applikasjonskonfigurasjonsfiler og så videre) i mappen Dokumenter. Bruk i stedet en applikasjonsspesifikk fil som er lokalisert i en gyldig Application Data-mappe.
Legg alltid en undermappe til banen som SHGetFolderPath returnerer. Bruk følgende konvensjon: "\ Programdata \ Firmanavn \ Produktnavn \ Produktversjon".