'Alte' Eingaben speichern

Von: , Frage gestellt am Mi, 14. Sep 2005

Hi,

viele Anwendungen merken sich irgendwie, welche Dateien ich das letzte Mal geöffnet hatte oder den Ordner, wo ich das letzte mal was abgespeichert habe. (also nachdem ich das Programm geschlossen und neu gestartet habe)

Welche Möglichkeiten gibt es denn, solche Informationen zu speichern?

Ini-File?
Registry?

Noch eine Idee?

(wenn jemand was für ne Java-Swing anwendung fertig zu bieten hat, ideal, aber mir reichen auch schon eher allgemeine Lösungsansätze)

Besten Dank

Winni

*der gerade eine kleine SW schreibt und liebend gerne etwas lazy User unterstützen will

7 Antworten zu dieser Frage

  1. Antwort von nach 25 Minuten 0 hilfreich
    Re: 'Alte' Eingaben speichern

    Hi, viele Anwendungen merken sich irgendwie, welche Dateien ich
    das letzte Mal geöffnet hatte oder den Ordner, wo ich das
    letzte mal was abgespeichert habe. (also nachdem ich das
    Programm geschlossen und neu gestartet habe)

    Welche Möglichkeiten gibt es denn, solche Informationen zu
    speichern?
    solche Dinge kann man ganz hervorragend in einer simplen Textdatei speichern, und das würde ich auch bevorzugen. Wenn Du - was sinnvoll ist - die Konfiguration ohnehin in einer Textdatei (plain oder XML) ablegst, kannst Du diese Information natürlich dort mit hineinpacken.

    Gruß,

    Malte

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: 'Alte' Eingaben speichern

      Hi! Welche Möglichkeiten gibt es denn, solche Informationen zu
      speichern?
      solche Dinge kann man ganz hervorragend in einer simplen
      Textdatei speichern, und das würde ich auch bevorzugen. Wenn
      Du - was sinnvoll ist - die Konfiguration ohnehin in einer
      Textdatei (plain oder XML) ablegst, kannst Du diese
      Information natürlich dort mit hineinpacken.
      Neee, wo soll die Datei den hingeschrieben werden?

      Ins eigene Programmverzeichnis geht ja nicht, da man dazu in der Regel Admin-Rechte braucht und ja nun jeder weiß, niemals als Admin was am Rechner tun.

      Die Registry halte ich da für die bessere Wahl.

      Gruß
      Stefan

      • Antwort von nach 2 Stunden 0 hilfreich
        Re^3: 'Alte' Eingaben speichern

        Hi! Welche Möglichkeiten gibt es denn, solche Informationen zu
        speichern?
        solche Dinge kann man ganz hervorragend in einer simplen
        Textdatei speichern, und das würde ich auch bevorzugen. Wenn
        Du - was sinnvoll ist - die Konfiguration ohnehin in einer
        Textdatei (plain oder XML) ablegst, kannst Du diese
        Information natürlich dort mit hineinpacken.
        Neee, wo soll die Datei den hingeschrieben werden?
        Äh, da wo sie hingehört? In ~/.programmname/ bspw. Ins eigene Programmverzeichnis geht ja nicht, da man dazu in
        der Regel Admin-Rechte braucht und ja nun jeder weiß, niemals
        als Admin was am Rechner tun.
        Die Registry halte ich da für die bessere Wahl.
        Bitte was? Wir reden von Java, oder? Damit reden wir von plattformunabhängiger Programmierung. Ich hab grad nicht auf der Kette, wie das mit Java und Zugriffen aufs Filesystem ist, aber Du solltest bedenken, daß ordentliche Betriebssysteme mitunter keine Registry besitzen. Textdateien hingegen kennen sie alle. Und sie kennen auch alle anwendungsspezifische Unterverzeichnisse im Home-Dir des jeweiligen Users (bei Windows wäre das C:\Dokumente und Einstellungen/Username/Anwendungsdaten/Anwendungsname/.

        Es ist Deine Sache, wie Du Deine Software entwickelst, aber ein paar Gedanken darüber sollte's wert sein.

        Gruß,

        Malte

        • Antwort von nach 4 Stunden 0 hilfreich
          Re^4: 'Alte' Eingaben speichern

          Hi! Bitte was? Wir reden von Java, oder? Damit reden wir von
          plattformunabhängiger Programmierung. Ich hab grad nicht auf
          der Kette, wie das mit Java und Zugriffen aufs Filesystem ist,
          aber Du solltest bedenken, daß ordentliche Betriebssysteme
          mitunter keine Registry besitzen.
          Der OP fragte nach ini oder Registry, was wohl darauf hindeutet das er keine "ordentlichen" Betriebssystem unterstützen will. Textdateien hingegen kennen
          sie alle. Und sie kennen auch alle anwendungsspezifische
          Unterverzeichnisse im Home-Dir des jeweiligen Users (bei
          Windows wäre das C:\Dokumente und
          Einstellungen/Username/Anwendungsdaten/Anwendungsname/.
          OK, das wäre eine Alternative. Leider schreiben die meisten Programme halt plump in ihr Verzeichnis und schon gehts schief. Es ist Deine Sache, wie Du Deine Software entwickelst, aber
          ein paar Gedanken darüber sollte's wert sein.
          Keine Sorge, mache ich mir schon. Wenns für Windows ist halt Registry und wenns für was anderes ist ini Datei im Textformat. Das kann man sogar während der Laufzeit entscheiden.

          Gruß
          Stefan

          • Antwort von nach 4 Stunden 1 hilfreich
            Re^5: 'Alte' Eingaben speichern

            Hoi, Der OP fragte nach ini oder Registry, was wohl darauf
            hindeutet das er keine "ordentlichen" Betriebssystem
            unterstützen will.
            ich bin kein Coder, deshalb werde ich mich nicht mit einem ausgewachsenen Softwareentwickler anlegen, aber ich erlaube mir festzustellen, daß "ini" auch nix anderes ist, als eine Textdatei. Ob die nun hinten .ini oder .conf oder .hurz heisst, ist ja ziemlich sekundär :-) Unterverzeichnisse im Home-Dir des jeweiligen Users (bei
            Windows wäre das C:\Dokumente und
            Einstellungen/Username/Anwendungsdaten/Anwendungsname/.
            OK, das wäre eine Alternative. Leider schreiben die meisten
            Programme halt plump in ihr Verzeichnis und schon gehts
            schief.
            Is ja richtig, aber das ist doch allein die Entscheidung des Programmierers - was andere machen, kann ihm ja egal sein. Es ist Deine Sache, wie Du Deine Software entwickelst, aber
            ein paar Gedanken darüber sollte's wert sein.
            Keine Sorge, mache ich mir schon. Wenns für Windows ist halt
            Registry und wenns für was anderes ist ini Datei im
            Textformat. Das kann man sogar während der Laufzeit
            entscheiden.
            Welchen Vorteil hat denn ein Speichern von Konfigurationsdaten in der Registry? Ernsthafte Frage! Die Vorteile von Textdateien, die ich sehe sind

            - maximale Portierbarkeit
            - "human readable" => sowohl manuelle als auch scriptgesteuerte Änderungen sind leichter realisierbar
            - Softwareverteilung wird erheblich erleichtert
            - Backup & Restore wird erheblich erleichtert

            Nachteile?

            Gruß,

            Malte

            • Antwort von nach 9 Stunden 0 hilfreich
              Re^6: 'Alte' Eingaben speichern

              Hallo Malte! Welchen Vorteil hat denn ein Speichern von Konfigurationsdaten
              in der Registry? Ernsthafte Frage! Die Vorteile von
              Textdateien, die ich sehe sind
              - maximale Portierbarkeit
              Nöö, siehe unten. - "human readable" => sowohl manuelle als auch
              Ist ne Registry auch. scriptgesteuerte Änderungen sind leichter realisierbar
              Naja, man muß sich halt ein bischen mehr anstrengen. - Softwareverteilung wird erheblich erleichtert
              ? - Backup & Restore wird erheblich erleichtert
              Jain, solange man nur an PCs denkt dann ja. Nachteile?
              Es läuft nicht unter Windows CE, Pocket PC 2003, Pocket PC 2005,..
              Unter diesen Systemen ist in der Regel "nur" die Registry in nicht flüchtigem Speicher. Außerdem gibt es keine vernünftige Stelle wo man die Textdatei hinschreiben könnte, so'n Magento (Pocket PC 2005) hat kein wirkliches Filesystem.

              Wenn man ein "Designed for Windows" Logo braucht (Kunde besteht drauf) dann hat man die Registry zu nutzen.


              Gruß
              Stefan

          • Antwort von nach 4 Stunden 1 hilfreich
            Hallo Ihr 2

            Jetzt seid mal wieder friedlich... *gfg*

            Java und registry, wie geht denn das?

            Und Java 1.4 unterstützt auch keine Umgebungsvariablen... *gfg*
            (habe aber mal ein Workaround gebastelt, was auch leidlich funktioniert hat)
            Und welche Umgebungsvariable ist für das User-Verzeichnis zuständig?

            Also dann wohl sinnvoll, neben das exe-File (launch4j machts ja möglich) einfach eine Ini-Datei zu legen, wo der Krempel drin steht, ist wohl am einfachsten, zumal es ja dafür auch Zeugs fast fertig im Netz gibt.

            Betsen Dank für Euer Köpfe rauchen....

            Winni

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!