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 ?
Speichern von Preferences Crossplatform
Speichern von Preferences Crossplatform
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
Re: Speichern von Preferences Crossplatform
Bei Mac keine Ahnung, aber bei Linux kannst du deine Dateien im Home-Verzeichnis anlegen. Du kannst dort ein verstecktes Verzeichnis erstellen.
Beispiel:
Beispiel:
Code: Alles auswählen
GetHomeDirectory() + ".Bisonte/MyApplication/Settings.prefs"
Re: Speichern von Preferences Crossplatform
Wobei ich jetzt davon ausgehe das .Bisonte zu ersetzen wäre mit : "." + UserName() ...RSBasic hat geschrieben:Code: Alles auswählen
GetHomeDirectory() + ".Bisonte/MyApplication/Settings.prefs"
Code: Alles auswählen
GetHomeDirectory() + "." + Username() + "/MyApplication/Settings.prefs"
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

PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
Re: Speichern von Preferences Crossplatform
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 jetzt davon ausgehe das .Bisonte zu ersetzen wäre mit : "." + UserName() ...Sehe ich das so richtig ?Code: Alles auswählen
GetHomeDirectory() + "." + Username() + "/MyApplication/Settings.prefs"

Einfach ein "." vor dem Namen deines Ordners setzen.Bisonte hat geschrieben:Wobei ich mich jetzt frage : Wie erstelle ich ein "verstecktes" Verzeichnis unter Linux ?
MyFolder = Ist kein verstecktes Verzeichnis
.MyFolder = Ist ein verstecktes Verzeichnis
Re: Speichern von Preferences Crossplatform
Ah ok.... Danke für die erhellenden Worte.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Speichern von Preferences Crossplatform
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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
