Delphi programmeerimine kasutaja ja rakenduse andmete salvestamiseks

Kui peate salvestama mõnda oma Delphi rakendus kasutaja kõvakettal peaksite hoolitsema kasutajaandmete, kasutaja sätete ja arvuti sätete oleku eraldamise toe eest.

Näiteks kaust "Rakenduse andmed" Windows tuleks kasutada rakendusepõhiste dokumentide, näiteks INI failid, rakenduse olek, temp-failid vms.

Te ei tohiks kunagi kasutada kõvakodeeritud teid kindlatesse asukohtadesse, näiteks "c: \ Program Files", kuna see ei pruugi töötada muud Windowsi versioonid, kuna kaustade ja kataloogide asukoht võib muutuda koos Windowsi erinevate versioonidega Windows.

SHGetFolderPath Windowsi API funktsioon

SHGetFolderPath on saadaval lehel SHFolder ühik. SHGetFolderPath hangib teadaoleva kausta kogu tee.

Siin on SHGetFolderPathi ümber kohandatud ümbrisfunktsioon API mis aitab teil hankida ükskõik millise standardkausta kõigi või praegu sisse logitud Windowsi kasutaja jaoks.

Siin on näide funktsiooni SHGetFolderPath kasutamise kohta:

  • Tilgutage vormile TRadioButtonGroup (nimi: "RadioGroup1")
  • Tilgutage vormile TLabel (nimi: "Label1")
  • instagram viewer
  • Lisage raadiogruppi 5 üksust:
    • "[Praegune kasutaja] \ minu dokumendid"
    • "Kõik kasutajad \ rakenduse andmed"
    • "[Kasutajaspetsiifiline] \ rakenduse andmed"
    • "Programmi failid"
    • "Kõik kasutajad \ dokumendid"
  • Käsitage RadioGroupi sündmust OnClicki järgmiselt:

Märkus. "[Praegune kasutaja]" on praegu sisse logitud Windowsi kasutaja nimi.

Märkus. SHGetFolderPath on SHGetSpecialFolderPath superset.

Te ei tohiks rakendusespetsiifilisi andmeid (nt ajutised failid, kasutaja eelistused, rakenduse konfiguratsioonifailid jne) kausta Minu dokumendid talletada. Selle asemel kasutage rakendusepõhist faili, mis asub kehtivas rakenduse andmete kaustas.

Lisage alati alamkaust teele, mille SHGetFolderPath naaseb. Kasutage järgmist tava: "\ Rakenduse andmed \ Ettevõtte nimi \ Toote nimi \ Toote versioon".

instagram story viewer