Wo Dateien speichern?

  • Abend,

    würde gerne mal wissen, welche Möglichkeiten es gibt, wo man Dateien speichern kann z.B. Textdateien, etc.

    - selber Ordner
    - AppData ? ( Muss ich da irgendwas noch machen, nicht das nachher der Pc von jemandem kaputt geht , man weiß ja nie :D )
    - Registry ?

    sonst irgendwelche Methoden?

    MfG, Julien

  • Das Dateisystem solltest du so verwenden:

    [autoit]

    Global Const $AppName = "My App"

    [/autoit][autoit][/autoit][autoit]

    ; Portable Konfiguration (geht nur, wenn nicht in @ProgramFilesDir)
    @ScriptDir
    ; Benutzerspezifische konfiguration
    @AppDataDir & '\' & $AppName
    ; Globale Konfiguration
    @AppDataCommonDir & '\' & $AppName

    [/autoit]


    Die Eigenen Dateien und Gemeinsamen Dokumente sind für vom Benutzer bearbeitete Dateien gedacht, wenn dein Programm diese speichern will (Das sollte bei neuen Dateien aber immer durch einen FileSaveDialog geschehen)

    Die Regsitry ist ebenfalls für Konfigurationsdaten gedacht, aber in einer etwas anderen Weise:
    - HKEY_CURRENT_USER\Software\Deine_App -> Einstellungen für den Benutzer, kann der Nutzer ändern
    - HKEY_LOCAL_MACHINE\Software\Deine_App -> Globale Einstellungen, nur durch den Admin änderbar.

  • Das TempDir ist bei - oh Wunder - temporitären Dateien ganz nützlich. Wenn du z.B deinem Script ein Bild als Binästring beilegst und dieses Bild dann später in die GUI einbinden willst, so kann man das Bild im temporitären Verzeichnis zwischenspeichern. Der große Vorteil: Selbst wenn deine Anwendung die angelegten Dateien nicht löscht, bleiben diese nicht ewig auf dem PC erhalten, da der User ja normalerweise das TempDir in regelmäßigen Abständen leert.