AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Wo lege ich Benutzereinstellungen ab
Thema durchsuchen
Ansicht
Themen-Optionen

Wo lege ich Benutzereinstellungen ab

Ein Thema von ggscholz · begonnen am 12. Apr 2023 · letzter Beitrag vom 14. Apr 2023
Antwort Antwort
ggscholz

Registriert seit: 20. Nov 2013
59 Beiträge
 
Delphi 11 Alexandria
 
#1

Wo lege ich Benutzereinstellungen ab

  Alt 12. Apr 2023, 15:42
Hallo in die Runde,

gegeben: Windows-Arbeitsplatzrechner, die von verschiedenen Personen über den Tag benutzt werden und mit dem Benutzer Team angemeldet sind. Alle starten eine auf einem Serververzeichnis abgelegte exe

bisher speichere ich programmspezifische Einstellungen in einer INI Datei, die als RECHNERNAME.INI in einem zentralen Verzeichnis der Anwendung abgelegt ist. Kommt ein neuer Rechner dazu, gibt es eine neue Ini-Datei. In der Ini-Datei steht z.B. die Größe des Anwendungsfensters, welche Oberfläche eingestellt ist, Angaben zum Drucker, Ausdruck mit oder ohne Vorschau oder Drucken auf einem Etiketten-Drucker. Beim Programmstart wird die Ini gelesen, wärend der Benutzung des Programms werden die Daten eher selten abgefragt, bei einer Änderung der Einstellungen dann natürlich gespeichert.

Funktioniert bisher ohne Probleme. Jetzt überarbeite ich mein Programm gerade, da würde ich gerne wissen, ob das noch State of the Art ist

Mein Frage: wo legt man diese Rechnerspezifischen Daten ab. Vor jetzt mehr als 20 Jahren habe ich mich für die Ini Datei entschieden, die Registry (gab's die da schon) stand vielleicht auch noch zur Wahl.

Legt man solche Daten in der sowieso benutzten Datenbank ab?

Über ein paar Anregungen würde ich mich freuen!!

Beste Grüße

gerd
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wo lege ich Benutzereinstellungen ab

  Alt 12. Apr 2023, 16:01
wo legt man diese Rechnerspezifischen Daten ab.
Dafür bietet sich TPath.GetPublicPath an.

Die INI-Datei selbst ist OK.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
tewes

Registriert seit: 31. Jan 2007
25 Beiträge
 
#3

AW: Wo lege ich Benutzereinstellungen ab

  Alt 13. Apr 2023, 07:42
Hallo,

meine Gedanken/Anregungen:
1. Rund um die exe auf dem Server sollten Benutzer eigentlich keine Schreibberechtigung haben
2. GetPublicPath liegt lokal auf dem Client. Nach einem Wechsel der Festplatte sind die Einstellungen weg.
3. Mögliche Lösung: Tabelle in Datenbank, z.B. ini_local(Rechnername, Ident, Value)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#4

AW: Wo lege ich Benutzereinstellungen ab

  Alt 13. Apr 2023, 09:43
Legt man solche Daten in der sowieso benutzten Datenbank ab?
Wenn Du eh schon eine DB hast, spricht grundsätzlich nichts dagegen das auch dort abzulegen.

Ansonsten gibt es das %AppData% Verzeichnis, dort sollten anwendungsspezifische Daten lokal abgelegt werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#5

AW: Wo lege ich Benutzereinstellungen ab

  Alt 13. Apr 2023, 14:09
Ansonsten gibt es das %AppData% Verzeichnis, dort sollten anwendungsspezifische Daten lokal abgelegt werden.
%APPDATA% ist aber User-spezifisch und auch noch rechnerübergreifend:
Zitat:
APPDATA=C:\Users\Uwe\AppData\Roaming
Besser wäre %ALLUSERSPROFILE%:
Zitat:
ALLUSERSPROFILE=C:\ProgramData
Das ist aber auch genau das, was TPath.GetPublicPath zurückliefert.

2. GetPublicPath liegt lokal auf dem Client. Nach einem Wechsel der Festplatte sind die Einstellungen weg.
Das gilt aber für alle Dateien auf der Festplatte, solange man die nicht sichert und wiederherstellt. Wenn Datenverlust ein Problem ist, dann gilt das für jeden anderen Speicherort genauso.

Ich habe in der Regel so meine Bedenken zum Speichern von Settings in der Produktivdatenbank. Die sind nämlich nach Einspielen eines Backups potentiell ebenfalls weg. Die meisten Anwender (zumindest die ich kenne) gehen nicht davon aus, dass das Einspielen eines älteren Datenbestands auch ihre Settings verändert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Wo lege ich Benutzereinstellungen ab

  Alt 13. Apr 2023, 17:09
Ich habe in der Regel so meine Bedenken zum Speichern von Settings in der Produktivdatenbank. Die sind nämlich nach Einspielen eines Backups potentiell ebenfalls weg. Die meisten Anwender (zumindest die ich kenne) gehen nicht davon aus, dass das Einspielen eines älteren Datenbestands auch ihre Settings verändert.
Das kommt wohl sehr auf den Blickwinkel, die Settings und die Anwendung im Detail an - wenn man sich von verschiedenen Rechnern mit der Anwendung anmelden kann, dann erwartet man auch, dass die entsprechenden Einstellungen auf allen Rechnern gleich sind.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wo lege ich Benutzereinstellungen ab

  Alt 13. Apr 2023, 21:25
Ich gebe dire recht, dass dies für Einstellungen, die sowohl rechner- als auch user-bezogen gleich sein sollen, ds Speichern in einer DB sinnvoll sein kann.
Allerdings ging es in dem Eingangspost genau darum, dass die Einstellungen rechnerbezogen sein sollen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.174 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Wo lege ich Benutzereinstellungen ab

  Alt 14. Apr 2023, 09:10
Ich habe gerade bei Leuten im Home Office erlebt, dass es keine gute Idee ist, wenn alle Settings nur benutzerspezifisch sind. Fenstergrößen - und positionen müssen zum verwendten Monitor passen und da ist zwischen Office und Home Office oft ein Unterschied. Ich tendiere mittlerweile eher zu einer Kombi aus Rechner+Benutzer.
Aber ich bin auch eher dafür, die Settings in der DB zu speichern. da werden sie jedenfalls gesichert und ein Restore ist ohnedies nichts alltägliches und setzt eben die Daten UND Einstellungen auf Tag X zurück.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz