My.Settings Alternative

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    My.Settings Alternative

    Hallo,
    Ich brauche eine möglichkeit einstellungen Anwendungsinnerhalb zu speichern, dafür wäre sehr Praktisch My.Setting -> Anwendung, allerdings ist diese *nur* readonly. Ich brauche allerdings read&write.
    Es soll aber keine Datei sein die sich irgendwo befindet und man so einlesen kann es sollte schon ein String im Programm sein, der Programm innerhalb editiert werden kann. Ich habe schon einiges
    versucht, z.B. das readonly wegmachen und set bei My.Settings angeben, nur generiert er die automatisch wieder um (ist ja klar).
    Also zum Mitschreiben,
    Ich suche eine Möglichkeit Strings innerhalb des Programms read&write zu machen, so dass man auf einem anderen System z.B. diese wieder auslesen könnte.
    Ich suche nicht:
    FileSplit (Da diese Methode als Virus gekennzeichnet wird)
    Eine (z.B.) *.xml *.ini *.txt Speicher Datei

    Danke für eure Hilfe !
    Settings kannst Du lesen und schreiben. Im Programm kannst Du Startwerte eingeben. Du kannst den Settings beliebig Werte zuweisen und diese dann speichern und bei Programmstart wieder laden:

    VB.NET-Quellcode

    1. My.Settings.Reload()
    2. My.Settings.Save()

    Allerdings stehen die Settings auch in einer xml-Datei, in einem kryptischen User-Pfad.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    In eine Assembly können nur sehr, sehr schwer Einstellungen gespeichert werden und ich bezweifle, ob das überhaupt möglich ist. (Wer weiß was Reflection alles drauf hat, aber wenn dann nur mit Resccourcen :) )
    Aber, dass du in die eigene Assembly (die grade läuft) Sachen speicherst wird nicht gehen.
    Wenn die Einstellungen mal auf jedem Computer da sein soll, kennst du sicher das *INTERNET* ;)

    Ich tippe mal, dass du deine Anwendung schützen möchtest. Ich glaube dazu hab ich mal ein TUT gesehen ;)

    Validation schrieb:

    Ich suche eine Möglichkeit Strings innerhalb des Programms read&write zu machen, so dass man auf einem anderen System z.B. diese wieder auslesen könnte.

    Ist nur möglich, wenn du die Ressourcen in deinem Programm änderst. Ein passender Thread dazu ist gerade da am laufen:
    [VB.NET] exe-Dateiicon zur Laufzeit ändern
    Von meinem iPhone gesendet
    Ich brauche eine möglichkeit einstellungen Anwendungsinnerhalb zu speichern

    Hä? Die Settings werden doch auch Extern gespeichert als XML undzwar unter...
    C:\Users\Nutzername\AppData\Local\Programmname

    Da kannst du auch direkt via System.IO eine .ini anlegen und so hast du auch den Vorteil das bei Updates oder verschieben des Ordners das die Einstellungen nicht weg sind und wenn du dich bisschen auskennst mit System.IO solltest du es auch hinbekommen via splitten Specialized.Collections anzulegen. Ausserdem ist wenn ich mich nicht irre (korrigiert mich falls ich tue) System.IO auch schneller als dieser My.Settings unfug.
    (Da diese Methode als Virus gekennzeichnet wird)


    Dann hast du ein verfickt schlechtes AV-Programm bestimmt son Freewareschrott wie Avira da ist das Problem das AV-Programm und nicht VB! Avira zb. hat mir mal den USB geschrottet weil es ohne einstimmung die .inf gelöscht hat obwohl es kein Virus war aber naja wenn du meinst. Besorg dir lieber ein gutes AV-Programm!

    Jump3r schrieb:

    Ich brauche eine möglichkeit einstellungen Anwendungsinnerhalb zu speichern
    Da kannst du auch direkt via System.IO eine .ini


    Du kannst zu Hause auch alle Glühbirnen raus drehen, und statt dessen Kerzen nutzen. Die haben den Vorteil, dass man diese brennend transportieren kann. Glühbirnen, so ein neu modischer Unfug.



    @TE:
    Mit My.Settings kannst Du alles mögliche sehr einfach speichern und lesen. Sollten es Collections oder gar ganze Objekte sein, dann den ConfigurationsManager nutzen.
    Und wenn dir das nicht passt, dann kannst Du deine Objekte auch serialisieren.

    Validation schrieb:

    Ich suche nicht:
    FileSplit (Da diese Methode als Virus gekennzeichnet wird)
    Eine (z.B.) *.xml *.ini *.txt Speicher Datei

    Was soll der Mist?
    Wenn Du ein Problem hast, sage einfach, was Du willst bzw. was Du nicht weist oder nicht kannst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!