![]() |
In welches Verzeichnis Benutzerdaten speichern?
Hallo,
ich benötige Informationen, wie man mittlerweile Benutzerinformationen (z.B. Ini-Dateien) abspeichert. Genauer gesagt: Wo werden die abgespeichert? Früher hieß es, in das eigene Verzeichnis, irgendwann mal die Registry und dann mal wieder das Homedir. Was ist z.Z. "State of the Art" bzw. von Windows empfohlen? Angeregt durch Michael Puff mit seinem Artikel ( ![]() Vielen Dank! |
AW: In welches Verzeichnis Benutzerdaten speichern?
![]() z.B. ![]() Je nachdem, wer und wo die Daten verfügbar sein sollen: C:\ProgramData C:\Users\CURRENT_USER\AppData\Roaming C:\Users\CURRENT_USER\AppData\Local ... Und ja, in TPath fehlt irgendwie Vieles. |
AW: In welches Verzeichnis Benutzerdaten speichern?
Zitat:
C:\ProgramData = TPath.GetPublicPath C:\Users\CURRENT_USER\AppData\Local = TPath.GetCachePath Die Roaming-Profile sind halt sehr Windows-spezifisch, weshalb es nicht leicht sein wird, die als multi-plattform zu gestalten. Der Charme an TPath ist halt, daß es auf allen Zielplattformen halbwegs sinnvolle Ergebnisse liefert. |
AW: In welches Verzeichnis Benutzerdaten speichern?
Zitat:
Evtl. Zusatzprogramme vielleicht auch mal auf Android. Grüße! |
AW: In welches Verzeichnis Benutzerdaten speichern?
Zitat:
Delphi-Quellcode:
Für eine Liste aller Umgebungsvariablen einfach mal ein Terminal starten (cmd) und "set" eingeben.
// System.SysUtils.GetEnvironmentVariable
GetEnvironmentVariable('ALLUSERSPROFILE') // C:\ProgramData GetEnvironmentVariable('APPDATA') // C:\Users\<NAME>\AppData\Roaming GetEnvironmentVariable('LOCALAPPDATA') // C:\Users\<NAME>\AppData\Local Die Werte sollte man natürlich validieren (gut möglich, dass nicht alle in älteren Windowsversionen präsent sind), und wahrscheinlich eher TPath benutzen, in Hinblick auf Multiplattform. |
AW: In welches Verzeichnis Benutzerdaten speichern?
Hallo,
mal so nebenbei eine Frage - weil's doch etwas zum Thema passt. Wie haltet ihr es mit der Speicherung benutzerdefinmierter Daten? Ich handhabe das so: - Wenn es sich um Dateien handelt, die für den Benutzer wichtig sind, z.B. Konfigurationsdateien mit seinen persönlichen Einstellungen, speichere ich sie im Dokumentenpfad (z.B. C:\Users\USERNAME\Documents\MEIN_APP_NAME\ Hier gehe ich davon aus, dass der User seinem Dokumentenpfad erhöhte Aufmerksamkeit bei der Datensicherung schenkt (wer macht Vollbackups, z.B. mit Acronis?) und darum auch die Bezeichnung "wichtig". - Weniger wichtige Dateien werden in C:\Users\USERNAME\AppData\Local\MEIN_APP_NAME\ gespeichert. Das sind dann z.B. Exportdateien die jederzeit wieder erzeugt oder hergestellt werden können. - Wenn es unwichtige Dateien sind, verwende ich C:\Users\USERNAME\AppData\Roaming\MEIN_APP_NAME\ Ist das eigentlich im Sinne von Microsoft (nach den offiziellen Regeln)? So richtig schlau werde ich nämlich bei den Unterschieden zwischen AppData\Local, AppData\LocalLow und AppData\Roaming nicht. |
AW: In welches Verzeichnis Benutzerdaten speichern?
Zitat:
![]() |
AW: In welches Verzeichnis Benutzerdaten speichern?
Meins:
System.IOUtils.TPath.GetHomePath +'\'+Application.Title |
AW: In welches Verzeichnis Benutzerdaten speichern?
Zitat:
Zitat:
![]() Zitat:
Sowas hindert mich auch daran, meine Daten von Anwendungsdaten (die der Programme) zu trennen. Weiterhin wird es schwieriger, die Datenpartition möglichst klein zu halten, wenn Documents auf eine andere Partition verlegt wurde (was man nebenbei gesagt immer tun sollte). Eine Ausnahme gibt es natürlich: Mit der Software erstellte Dateien, also z.B. Dateien, die mit der Anwendung verknüpft sind. Aber eben keine Konfigurationsdaten, denn die gehören in %AppData%. Zitat:
Zitat:
MfG Dalai |
AW: In welches Verzeichnis Benutzerdaten speichern?
Ich nehme für alles was zum Programm gehört "APPDATA" als Speicherort. Unter "Documents\APPname" lege ich per default nur "Projekte&Daten" ab. Solange der Path "Documents\APPname" existiert, speichere ich dort "nebenbei" als DefaultBackup auch eine (kleine) "Documents\APPname\config.zip", damit nach einem Restore per "ZIP-Reconfig" auch die zu den Daten passenden Settings wieder hergestellt werden (können). Bisher hat sich noch niemand beschwert. Wer das nich will, der löscht das "Documents\APPname" Verzeichnis und muss sich dann eben selbst um alle Einstellungen und Backups kümmern.
Vor gaaaaanz langer Zeit hatte ich "Documents\Company\APPname", aber da viele Anwender nur das Programm kennen und nicht wissen welcher Firmenname der Herausgeber dazu ist(und so ihre Daten nicht finden oder beim "Ausmisten" löschen), habe ich per Default auf "Documents\APPname" für "Daten" umgestellt und speichere solange möglich dort nebenbei ein KLEINE "config.zip" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz