Wenn Sie Inhalte speichern müssen, die sich auf Ihre beziehen Delphi-Anwendung Auf der Festplatte des Benutzers sollten Sie sich um die Unterstützung der Statustrennung von Benutzerdaten, Benutzereinstellungen und Computereinstellungen kümmern.
Zum Beispiel den Ordner "Anwendungsdaten" in Windows sollte verwendet werden, um anwendungsspezifische Dokumente wie z INI-Dateien, Anwendungsstatus, temporäre Dateien oder ähnliches.
Sie sollten niemals fest codierte Pfade zu bestimmten Speicherorten verwenden, z. B. "c: \ Programme", da dies möglicherweise nicht funktioniert andere Windows-Versionen, da sich der Speicherort von Ordnern und Verzeichnissen mit verschiedenen Versionen von ändern kann Windows.
Die SHGetFolderPath Windows API-Funktion
Der SHGetFolderPath ist in der verfügbar SHFolder Einheit. SHGetFolderPath ruft den vollständigen Pfad eines bekannten identifizierten Ordners ab.
Hier ist eine benutzerdefinierte Wrapper-Funktion um den SHGetFolderPath API um Ihnen zu helfen, einen der Standardordner für alle oder den aktuell protokollierten Windows-Benutzer zu erhalten.
Hier ist ein Beispiel für die Verwendung der SHGetFolderPath-Funktion:
- Legen Sie eine TRadioButtonGroup (Name: "RadioGroup1") in einem Formular ab
- Legen Sie ein TLabel (Name: "Label1") in einem Formular ab
- Fügen Sie der Radiogruppe 5 Elemente hinzu:
- "[Aktueller Benutzer] \ Eigene Dateien"
- "Alle Benutzer \ Anwendungsdaten"
- "[Benutzerspezifisch] \ Anwendungsdaten"
- "Programmdateien"
- "Alle Benutzer \ Dokumente"
- Behandeln Sie das OnClick-Ereignis der RadioGroup wie folgt:
Hinweis: "[Aktueller Benutzer]" ist der Name des aktuell angemeldeten Windows-Benutzers.
Hinweis: Der SHGetFolderPath ist eine Obermenge von SHGetSpecialFolderPath.
Sie sollten keine anwendungsspezifischen Daten (wie temporäre Dateien, Benutzereinstellungen, Anwendungskonfigurationsdateien usw.) im Ordner "Eigene Dateien" speichern. Verwenden Sie stattdessen eine anwendungsspezifische Datei, die sich in einem gültigen Anwendungsdatenordner befindet.
Hängen Sie immer einen Unterordner an den Pfad an, den SHGetFolderPath zurückgibt. Verwenden Sie die folgende Konvention: "\ Anwendungsdaten \ Firmenname \ Produktname \ Produktversion".