Obținerea de directoare speciale folosind Delphi
Când Delphi aplicație are nevoie pentru a stoca unele informații pe hard disk-ul utilizatorului, ar trebui să fie atent și să împartă conservarea datelor de utilizator, setările de utilizator și setările pentru calculator.
De exemplu, în Windows, pentru a salva fișiere specifice aplicațiilor, cum ar fi fișierele INI, fișierele de stare a programului, fișierele temporare și așa mai departe. Trebuie utilizat directorul "Datele aplicației".
Este extrem de nedorit să folosiți căi cu coduri grele cum ar fi "C: \ Program Files". Când salvați fișiere în acest director, este puțin probabil ca aplicația să funcționeze corect în alte versiuni de Windows, deoarece această cale poate fi modificată în următoarele versiuni de Windows sau utilizatorul poate instala sistemul de operare pe un alt disc. În plus, este posibil ca Windows Vista să nu permită accesul la mai multe directoare. Chiar și un utilizator cu drepturi de administrator.
Funcția WinAPI SHGetFolderPath
Funcția SHGetFolderPath este definită în modulul SHFolder. SHGetFolderPath returnează calea completă la directorul special specificat de identificatorul său.
Mai jos este funcția de împachetare pentru SHGetFolderPath, astfel încât să fie mai ușor să obțineți directoare standard (pentru toți utilizatorii sau numai pentru utilizatorul curent).
Acum creați o aplicație pentru a utiliza funcția SHGetFolderPath:
- Puneți pe formularul TRadioGroup ("RadioGroup1");
- Puneți pe formularul TLabel ("Label1")
- Adăugați cinci elemente la RadioGroup (proprietatea Items):
- "[Utilizator curent] \ Documentele mele"
- "Toate datele utilizatorilor / aplicațiilor"
- "[Specific pentru utilizator] \ Date de aplicație"
- "Fișiere program"
- "Toți utilizatorii \ Documente"
- Să adăugăm Handler-ul evenimentului OnClick pentru RadioGroup.
Notă: "[Utilizator curent]" este numele utilizatorului al cărui sesiune este activă în prezent în Windows.
Funcția SHGetFolderPath este o versiune mai avansată a funcției SHGetSpecialFolderPath.
Programul nu ar trebui să păstreze datele (fișierele temporare, preferințele utilizatorului, fișierele de configurare ale aplicației, și așa mai departe), în folderul My Documents (Documentele mele), sau în directorul aplicației (de exemplu, într-unul din Programul subfoldere fișiere). Este necesar să se utilizeze un folder special în Application Data, alocate în mod specific pentru aplicația dumneavoastră. De obicei, acesta este același nume ca și directorul programului în Program Files).
Creați întotdeauna un subdirector numai în căile returnate de funcția SHGetFolderPath! Ca regulă, directorul este creat astfel: "\ Application Data \ Company name \ Product name \ Product version".
Un exemplu de program care utilizează funcția descrisă în articol poate fi descărcat aici.
Pentru a insera un link catre acest articol pe un alt site, folositi urmatorul cod HTML: