Delphi-programmering av bruker- og applikasjonsdatalagring

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:

instagram viewer
  • 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".

instagram story viewer