Programmazione Delphi Memorizzazione dati utente e applicazione

Quando è necessario archiviare alcuni contenuti correlati al proprio Applicazione Delphi sul disco rigido dell'utente, è necessario occuparsi del supporto per la separazione dello stato dei dati dell'utente, delle impostazioni dell'utente e delle impostazioni del computer.

Ad esempio, la cartella "Dati applicazioni" in finestre dovrebbe essere usato per archiviare documenti specifici dell'applicazione come File INI, stato dell'applicazione, file temporanei o simili.

Non utilizzare mai percorsi codificati in percorsi specifici, ad esempio "c: \ Programmi", in quanto potrebbe non funzionare su altre versioni di Windows perché la posizione di cartelle e directory può cambiare con versioni diverse di Finestre.

La funzione API di Windows SHGetFolderPath

SHGetFolderPath è disponibile in SHFolder unità. SHGetFolderPath recupera il percorso completo di una cartella nota identificata.

Ecco una funzione wrapper personalizzata attorno a SHGetFolderPath API per aiutarti a ottenere una delle cartelle standard per tutti o per l'utente Windows attualmente registrato.

instagram viewer

Ecco un esempio dell'uso della funzione SHGetFolderPath:

  • Rilascia un TRadioButtonGroup (nome: "RadioGroup1") su un modulo
  • Rilascia un TLabel (nome: "Etichetta1") su un modulo
  • Aggiungi 5 elementi al gruppo radio:
    • "[Utente corrente] \ Documenti"
    • "Tutti gli utenti \ Dati applicazioni"
    • "[Specifico dell'utente] \ Dati applicazioni"
    • "File di programma"
    • "Tutti gli utenti \ Documenti"
  • Gestisci l'evento OnClick di RadioGroup come:

Nota: "[Utente corrente]" è il nome dell'utente Windows attualmente connesso.

Nota: SHGetFolderPath è un superset di SHGetSpecialFolderPath.

Non è necessario archiviare i dati specifici dell'applicazione (come file temporanei, preferenze dell'utente, file di configurazione dell'applicazione e così via) nella cartella Documenti. Utilizzare invece un file specifico dell'applicazione che si trova in una cartella Dati applicazioni valida.

Aggiungi sempre una sottocartella al percorso restituito da SHGetFolderPath. Utilizzare la seguente convenzione: "\ Dati applicazioni \ Nome azienda \ Nome prodotto \ Versione prodotto".

instagram story viewer