ini-Datei, Registry, oder???

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: ini-Datei, Registry, oder???

Beitrag von Scotty »

Eine Alternative zu PropStorage:

Code: Alles auswählen

//Schreiben
with TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) do
try
  WriteInteger('Application','Left',Left);
  WriteString('Application','Version','Alpha 1');
finally
  Free;
end;
 //Lesen
with TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) do
try
  Left:=ReadInteger('Application','Left',Left);
  if ReadString('Application','Version','')<>'Alpha 1' then 
    ShowMessage('Wrong Version');
finally
  Free;
end;

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: ini-Datei, Registry, oder???

Beitrag von Hitman »

mschnell hat geschrieben:
Hitman hat geschrieben:Und zum Glück haben wir in FPC dafür GetAppConfigDir und GetAppConfigFile.
Gut ! Aber das ist ja nur eine der (mindestens) drei (halbwegs) sinnvollen Varianten.
Wäre hilfreich gewesen, wenn du dir die Funktionen vorher mal angeschaut hättest. Die geben wahlweise den User-spezifischen als auch den System-spezifischen Pfad zurück. Was wäre denn deiner Meinung nach die dritte (plattformübergreifende!) Variante?
Und dazu sei Angemerkt: "Kommunikation" hat nichts mehr mit App Config zu tun.

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

Re: ini-Datei, Registry, oder???

Beitrag von felix96 »

Was halted ihr davon:
1)Ordner anlegen
2)Ordner Benutzen
3)In der Registry sagen das beim nächsten Start von Windows der Ordner gelöscht wird. :P :P
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: ini-Datei, Registry, oder???

Beitrag von mschnell »

Hitman hat geschrieben:Wäre hilfreich gewesen, wenn du dir die Funktionen vorher mal angeschaut hättest. Die geben wahlweise den User-spezifischen als auch den System-spezifischen Pfad zurück.
Da haste wohl recht :oops: .
Hitman hat geschrieben:Was wäre denn deiner Meinung nach die dritte (plattformübergreifende!) Variante?
Und dazu sei Angemerkt: "Kommunikation" hat nichts mehr mit App Config zu tun.
Eben doch :D
Wenn ein Benutzer der Applikation einen Wert setzt und ein anderer den ausliest, ist das "Kommunikation". Hierzu muss die Ini-Datei von mehreren Usern lesbar sein, darf aber nicht schreibgeschützt sein. Das meinte ich als dritte Variante. Die beiden anderen Varianten leisten das nicht. In Windows wird man dazu vermutlich "All Users" verwenden. Inwieweit diese Sachen in Linux als "Standard" vorbestimmt sind, weiß ich nicht. Außer /tmp fällt mir auch kein nicht schreibgeschütztes Standard-Directory ein, das von allen Usern zugreifbar ist, kann aber bei der Installation durch root natürlich eingerichtet werden.
-Michael

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: ini-Datei, Registry, oder???

Beitrag von Hitman »

mschnell hat geschrieben:Außer /tmp fällt mir auch kein nicht schreibgeschütztes Standard-Directory ein, das von allen Usern zugreifbar ist, kann aber bei der Installation durch root natürlich eingerichtet werden.
/tmp ist normalerweise ein gesondertes FS welches regelmäßig gesäubert wird (beim Booten soweit ich weiss).
Also ich denke wenn ein Programm etwas so speichert, dass es alle Nutzer betrifft, sollte das nicht ohne gesonderte Rechte möglich sein ... sonst könnte es auch schadhaft genutzt werden. Ich behaupte mal, dass selbst Microsoft sowas nicht für Windows Programme empfiehlt.

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: ini-Datei, Registry, oder???

Beitrag von AlterMann »

Scotty hat geschrieben:Eine Alternative zu PropStorage:
Danke Scotty. Funktioniert auf Deine Art prächtig, und ist eine einfache saubere Variante. :D
Genau soetwas hab ich gesucht.
Früher war alles besser. Und aus Holz!

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: ini-Datei, Registry, oder???

Beitrag von mschnell »

Hitman hat geschrieben:/tmp ist normalerweise ein gesondertes FS welches regelmäßig gesäubert wird (beim Booten soweit ich weiss).
Ob und wann /tmp gesäubert wird hängt von der Distribution ab, Kann man sicher irgendwie konfigurieren. Jedenfalls sollte man nicht versuchen, da etwas dauerhaft zu speichern. Deshalb sagte ich ja "mir fällt kein anderes Directory ein". Wenn es also gar nichts standardmäßiges für diesen Zweck gibt, müsste ein Installations-Script also z.B. eine Datei (in einem Directory) unter /etc zum schreiben für alle freigeben.

-Michael

lrlr
Beiträge: 127
Registriert: Di 3. Nov 2009, 09:48

Re: ini-Datei, Registry, oder???

Beitrag von lrlr »

registry oder xml ist "fast" egal, find ich
(ins selbe verzeichnis wie die exe darf man eh nicht, und %appdata" findet der unbedarfte user genau so schlecht wie die registry ;-)


zuletzt geöffnete files, fensterpositionen, usw. würd ich in die registry schreibe
alles was bei migration auf einen anderen PC mitgenommen werden soll, nach %appdata%

(idealerweise eine export/import funktion der Konfiguration)

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: ini-Datei, Registry, oder???

Beitrag von AlterMann »

lrlr hat geschrieben:ins selbe verzeichnis wie die exe darf man eh nicht,

Warum nicht? :?:

und %appdata" findet der unbedarfte user genau so schlecht wie die registry ;-)

Der unbedarfte brauchts eh nicht finden, und der andere findets so auch
Früher war alles besser. Und aus Holz!

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: ini-Datei, Registry, oder???

Beitrag von Hitman »

AlterMann hat geschrieben:Warum nicht? :?:
Weil das normalerweise in C:\Program Files ist .... und dazu siehe http://en.wikipedia.org/wiki/User_Account_Control" onclick="window.open(this.href);return false;

Antworten