Seite 1 von 1
Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 09:06
von Bisonte
Hallo.
Hier eine Frage an die Linux-, und Macnutzer.
Wo kann man bei den beiden Systemen gefahrlos (will sagen: man hat die erforderlichen Schreibrechte von Haus aus)
seine Konfigurationsdateien speichern ?
Unter Windows nehme ich gewöhnlich "C:\Users\Username\AppData\Roaming\MeinVerzeichnis\".
Gibt es so ein geartetes Verzeichnis auch auf den anderen Systemen ?
Wenn ja, wie heissen diese, bzw. wie komme ich an die Pfade heran ?
Re: Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 09:21
von RSBasic
Bei Mac keine Ahnung, aber bei Linux kannst du deine Dateien im Home-Verzeichnis anlegen. Du kannst dort ein verstecktes Verzeichnis erstellen.
Beispiel:
Code: Alles auswählen
GetHomeDirectory() + ".Bisonte/MyApplication/Settings.prefs"
Re: Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 09:35
von Bisonte
RSBasic hat geschrieben:Code: Alles auswählen
GetHomeDirectory() + ".Bisonte/MyApplication/Settings.prefs"
Wobei ich jetzt davon ausgehe das .Bisonte zu ersetzen wäre mit : "." + UserName() ...
Code: Alles auswählen
GetHomeDirectory() + "." + Username() + "/MyApplication/Settings.prefs"
Sehe ich das so richtig ?
Wobei ich mich jetzt frage : Wie erstelle ich ein "verstecktes" Verzeichnis unter Linux ?
Anbei noch die Frage : Gibt es ein kostenloses MacOs, das ich mit einer VM nutzen kann ? Linux Distros gibt es ja zuhauf

Re: Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 09:41
von RSBasic
Bisonte hat geschrieben:Wobei ich jetzt davon ausgehe das .Bisonte zu ersetzen wäre mit : "." + UserName() ...
Code: Alles auswählen
GetHomeDirectory() + "." + Username() + "/MyApplication/Settings.prefs"
Sehe ich das so richtig ?
Nein. Du befindest dich bereits in deinem User-Verzeichnis. GetHomeDirectory() liefert genau den Pfad, den du brauchst. Der von mir im Beispiel eingebenene Nickname von dir "Bisonte" wäre dann stattdessen der Name deiner Entwicklungsschmiede.
Bisonte hat geschrieben:Wobei ich mich jetzt frage : Wie erstelle ich ein "verstecktes" Verzeichnis unter Linux ?
Einfach ein "." vor dem Namen deines Ordners setzen.
MyFolder = Ist kein verstecktes Verzeichnis
.MyFolder = Ist ein verstecktes Verzeichnis
Re: Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 09:58
von Bisonte
Ah ok.... Danke für die erhellenden Worte.
Re: Speichern von Preferences Crossplatform
Verfasst: 22.08.2014 13:10
von ts-soft
Code: Alles auswählen
Procedure.s GetPrefsFile(AppName.s, FileName.s = "settings.prefs", Publisher.s = "ts-soft")
Protected Path.s, slash.s
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
slash = "\"
Path = GetEnvironmentVariable("APPDATA") + "\"
CompilerDefault
slash = "/"
Path = GetHomeDirectory() + "."
CompilerEndSelect
If Publisher
Path + Publisher + slash
If Not FileSize(Path) = - 2
CreateDirectory(Path)
EndIf
EndIf
Path + AppName + slash
If Not FileSize(Path) = - 2
CreateDirectory(Path)
EndIf
If FileSize(Path) = -2
ProcedureReturn Path + FileName
EndIf
EndProcedure