kostenloser Webspace werbefrei: lima-city


VB Strings speichern

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    softtrink

    Kostenloser Webspace von softtrink

    softtrink hat kostenlosen Webspace.

    Hallo zusammen,
    in meinem neusten Projekt soll der Dateipfad zu einer selbstgewählten Datei gespeichert werden. Mir ist die Methode bekannt einen String in einer Textdatei auf der Festplatte abzulegen. Jedoch möchte ich das Programm unabhängig von einem bestimmten Ordner machen. Gibt es eine Möglichkeit Strings in den Ressourcen zu speichern? Oder einer andere Variante?

    VG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Mit Windows und VB würde sich das von Microsoft selbst für Windows-Programme als zu bevorzugen vorgeschlagene Verwenden der Registrierungsdatenbank (Registry) anbieten. Ich bin mir sicher, dass es für VB da vorgefertigte Komponenten gibt.
    Da du dich nicht genauer über die VB- sowie Windows-Version auslässt, könnte das beispielsweise so aussehen:
    http://msdn.microsoft.com/de-de/library/bb979300.aspx
  4. Autor dieses Themas

    softtrink

    Kostenloser Webspace von softtrink

    softtrink hat kostenlosen Webspace.

    Ich hab mich bis jetzt noch nicht wirklich mit der Registry auseinander gesetzt. Gibt es da irgendwas zu beachten? z.B.: Risiken,...
    Also das Programm is mit VB 2010 geschrieben und sollte am Ende vorwiegend auf Win7 laufen!

    Beitrag zuletzt geändert: 31.1.2013 15:18:46 von softtrink
  5. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Mit Systemen ab Vista eigentlich nicht mehr, da du ohne Administratorenrechte für das Programm ohnehin nur in gewisse Registry-Zweige schreiben kannst. So gesehen ist es sinnvoll, die Werte in den Zweig HKEY_USERS zu schreiben, da dieser die Werte für jeden User separat enthält, und so jeder User, der sich am System anmelden kann, andere Werte beinhalten kann.
    Risiken gibt's immer: wenn du Werte in eine Datei schreibst, und diese Datei eine Systemdatei überschreibt, dann hast du ein Problem.
    Wenn du unbedarft Werte in der Registry überschreibst, die dich nichts angehen, kannst du genauso ein Problem haben ;-)
    Als Programmierer bist schon du selbst dafür zuständig, was dein Programm macht.
    Weiteres zur Verwendung der Registry in Zusammenhang mit VB solltest du mit Google ganz leicht rausfinden.
  6. Autor dieses Themas

    softtrink

    Kostenloser Webspace von softtrink

    softtrink hat kostenlosen Webspace.

    Und das mit den Ressourcen geht wohl nicht?
  7. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    softtrink schrieb:
    Und das mit den Ressourcen geht wohl nicht?

    Die Frage ist viel mehr, ob es Sinn macht ...
    In die Resourcen der ausführbaren Datei kannst du ohne weiteres nicht schreiben, da die Datei ja gerade ausgeführt wird, und die Datei sich selbst ändern soll. Die Resourcen einer anderen Datei (beispielsweise einer DLL) zu ändern ist wohl entsprechend sinnfrei, da du dann bei deiner Einstiegsidee mit einer Textdatei bist, wozu in eine andere Datei reinfrickeln, und womöglich diese so zu verändern, dass diese dann nicht merh ihren Dienst tut. Zudem dürfte die DLL auch nicht geladen sein, da du ansonsten wieder beim Problem bist, dass eine in Verwendung befindliche Datei verändert werden soll.
  8. Hallo softtrink,

    wenn Du Deinen Benutzern das Backup erleichtern willst, dann speicherst Du alle Einstellungen am besten in einer Datei im Application-Data-Verzeichnis des Benutzers.
    Den Pfad bekommst Du über:
    Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
    Siehe dazu hier und hier.
    Darin legst Du dann einen Ordner für Dein Programm an und speicherst darin die Dateien.
    Der Vorteil ist, dass der Benutzer nur den Ordner sichern muss um alle relevanten Daten zu haben und er die Einstellungen so auch einfach auf andere Systeme umziehen kann.
    Von daher bevorzuge ich diese Lösung normalerweise gegenüber der Registrierdatenbank.
  9. Ich würde das auch mit My.Setings lösen, vor allem weil es einfacher ist.

    Beispiel:

    Dim Dateipfad as String = "x"
    My.Settings.abc = Dateipfad

    Dann musst du es vor dem Schließen der Form abspeichern:

    My.Settings.Save

    Und natürlich kannst du es dann auch abrufen:

    Textbox1.Text = My.Settings.abc
  10. Autor dieses Themas

    softtrink

    Kostenloser Webspace von softtrink

    softtrink hat kostenlosen Webspace.

    und für das abc einfach einsetzten was ich möchte?
  11. Widersprichst Du dir mit
    softtrink schrieb:
    in meinem neusten Projekt soll der Dateipfad zu einer selbstgewählten Datei gespeichert werden.

    und
    Jedoch möchte ich das Programm unabhängig von einem bestimmten Ordner machen.

    nicht eigentlich selbst? :wink:

    Wenn Du Daten ablegen willst, die das Programm im Zweifelsfalle auch wiederfinden soll, ist Unabhängigkeit schwer erreichbar. Einstellungen, die das Programm generell für seine Funktion benötigt, gehören in die Registry. Daten, die für den Anwender des Programmes relevant sind, gehören in Applikation-Data-Ordner des Nutzers. Warum hier eigene Wege gehen, die die gewohnte Systematik brechen und eventuell vorhandene Backupstrategien hinfällig werden lassen?

    Beitrag zuletzt geändert: 16.2.2013 16:05:39 von fatfreddy
  12. inew-teamspeak3

    inew-teamspeak3 hat kostenlosen Webspace.

    Ja es giebt eine möglich keit.
    Ich beschäftige mich dehmnächst damit.
    Ich habe schon raus bekommen wie man hintergrund farben speiern kann.
    Dann muss es ein klax sein, pfade zu speichern :)
    Versuch doch einfach mal dein problem bei google ein zu geben!
  13. b*****z

    Was du machen könntest waere die Einstellungen in einer zentral erreichbaren Datei (vergleichbar mit der Registry) abzulegen, von wo aus du von jedem Ordner aus dem dein Programm gestartet wird, zugreifen kannst.
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!