Standard-Pfad zum Speichern von Einstellungen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
alex189
Beiträge: 36
Registriert: Di 13. Apr 2010, 19:15
OS, Lazarus, FPC: Windows 7 Ultimate 64bit (L 0.9.28.2 Beta FPC 2.2.4)
CPU-Target: 32Bit-Anw.
Wohnort: Nürnberg

Standard-Pfad zum Speichern von Einstellungen

Beitrag von alex189 »

Hallo!

Ich möchte für ein Projekt 2 Einstellungsdateien speichern, die beim nächsten Programmstart noch da sind.
Gibt es dafür einen bestimmten Windows-übergreifenden (also egal ob 2000 oder 7) Standard-Pfad?
Und wie findet man den heraus?
Ich kenne unter Win 7 nur C:\Windows\Users\Name\Appdata\Local\ , oder ist das nicht dafür gedacht?

MfG ;)

Benutzeravatar
theo
Beiträge: 10857
Registriert: Mo 11. Sep 2006, 19:01

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von theo »

http://www.freepascal.org/docs-html/rtl ... igdir.html" onclick="window.open(this.href);return false;
Resp. GetAppConfigDirUTF8

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von felix96 »

Ich kann deine Frage leider nicht beantworten, aber ich würde es einfach in der Registry,
oder einfach in dem Pfad in dem das programm liegt, z.B.
C:\Programme\mein prog\bla.exe
=
C:\Programme\mein prog\bla.txt
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

alex189
Beiträge: 36
Registriert: Di 13. Apr 2010, 19:15
OS, Lazarus, FPC: Windows 7 Ultimate 64bit (L 0.9.28.2 Beta FPC 2.2.4)
CPU-Target: 32Bit-Anw.
Wohnort: Nürnberg

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von alex189 »

Danke!

greez ;)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6764
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von af0815 »

felix96 hat geschrieben:Ich kann deine Frage leider nicht beantworten, aber ich würde es einfach in der Registry,
oder einfach in dem Pfad in dem das programm liegt, z.B.
C:\Programme\mein prog\bla.exe
=
C:\Programme\mein prog\bla.txt
Keine gute Idee für neue Programme, man sollte die Version von Theo nehmen, weil da die Grundlegenden Eigenschaften der Benutzerrechte unter den verschiedenen Systemen berücksichtigt werden. Unter Windows wird der Programmeordner als R/O betrachtet.fällt den meisten nicht auf, weil als Admin gefahren wird. Spätestens bei W7 sind dann Unerklärliche Erscheinungen vorprogrammiert (wieso geht das speichern bei mir nicht).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Eb
Lazarusforum e. V.
Beiträge: 240
Registriert: Di 5. Feb 2008, 15:32
OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
CPU-Target: 64Bit
Wohnort: Stuttgart

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von Eb »

Falls du mit einer Datei auskommen könntest, kannst du dir direkt einen Dateinamen mit Pfad generieren mit:
GetAppConfigFile(true oder false)

ausprobieren kannst du es mit:
showmessage(GetAppConfigFile(false));
showmessage(GetAppConfigFile(true));

unter windows XP liefert das:
false: - C:\Dokumente und Einstellungen\<username>\Lokale Einstellungen\Anwendungsdaten\<anwendungsname>.cfg
true: - C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\<anwendungsname>.cfg

unter Linux:
false: - /<userhome>/.config/<anwendungsname>.cfg
true: - /etc/<anwendungsname>.cfg

Eb

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von Martin V »

Es gibt eine Unit inifiles, mit der man solche Einstellungs-Dateien verwalten kann und hierbei Daten unterschiedlicher Variablentypen schreiben kann. Das ist plattformübergreifend, aber bei nur zwei Werten schießt man wahrscheinlich mit Kanonen auf Spatzen.

Martin V.

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von carli »

Martin V hat geschrieben:aber bei nur zwei Werten schießt man wahrscheinlich mit Kanonen auf Spatzen.
Aber ein TIniFile-Objekt erzeugt bei weitem weniger Programmierfehler, als wenn man jetzt extra mit AssignFile etc. anfängt, eine zweizeilige Datei zu lesen und zu schreiben. Also ist eher andersrum der Overkill.

Benutzeravatar
theo
Beiträge: 10857
Registriert: Mo 11. Sep 2006, 19:01

Re: Standard-Pfad zum Speichern von Einstellungen

Beitrag von theo »

carli hat geschrieben: Aber ein TIniFile-Objekt erzeugt bei weitem weniger Programmierfehler, als wenn man jetzt extra mit AssignFile etc. anfängt, eine zweizeilige Datei zu lesen und zu schreiben.
Du hast recht!
Noch schlanker geht es mit TStringList und Name=Value pairs.

Antworten