Delphi-programmering af bruger- og applikationsdatalagring

Når du skal gemme noget indhold, der er relateret til dit Delphi-ansøgning på brugerens harddisk skal du passe på understøttelsen til tilstandsadskillelse af brugerdata, brugerindstillinger og computerindstillinger.

For eksempel mappen "Application Data" i vinduer skal bruges til at gemme applikationsspecifikke dokumenter som f.eks INI-filer, applikationstilstand, temp-filer eller lignende.

Du bør aldrig bruge hårdkodede stier til bestemte placeringer, f.eks. "C: \ Program Files", da dette muligvis ikke fungerer på andre versioner af Windows, fordi placeringen af ​​mapper og mapper kan ændres med forskellige versioner af Windows.

SHGetFolderPath Windows API-funktion

SHGetFolderPath er tilgængelig i SHFolder enhed. SHGetFolderPath henter den fulde sti til en kendt identificeret mappe.

Her er en brugerdefineret indpakningsfunktion omkring SHGetFolderPath API for at hjælpe dig med at få nogen af ​​standardmapperne til alle eller den aktuelt loggede Windows-bruger.

Her er et eksempel på at bruge funktionen SHGetFolderPath:

instagram viewer
  • Slip en TRadioButtonGroup (navn: "RadioGroup1") på en formular
  • Slip et TLabel (navn: "Label1") på en formular
  • Føj 5 elementer til radiogruppen:
    • "[Aktuel bruger] \ Mine dokumenter"
    • "Alle brugere \ Application Data"
    • "[Brugerspecifik] \ Application Data"
    • "Programfiler"
    • "Alle brugere \ dokumenter"
  • Håndter RadioGroups OnClick-begivenhed som:

Bemærk: "[Aktuel bruger]" er navnet på den aktuelt loggede Windows-bruger.

Bemærk: SHGetFolderPath er et supersæt af SHGetSpecialFolderPath.

Du skal ikke gemme applikationsspecifikke data (såsom midlertidige filer, brugerpræferencer, applikationskonfigurationsfiler osv.) I mappen Mine dokumenter. Brug i stedet en applikationsspecifik fil, der er placeret i en gyldig Application Data-mappe.

Føj altid en undermappe til den sti, som SHGetFolderPath returnerer. Brug følgende konvention: "\ Programdata \ Firmanavn \ Produktnavn \ Produktversion".

instagram story viewer