VB Strings speichern
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
benutzer
datei
datum
einstellung
http
machen
neusten projekt
ordner
pfad
problem
programm
ressource
setting
string
system
textdatei
url
verwendung
windows
zweig
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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 -
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. -
Und das mit den Ressourcen geht wohl nicht?
-
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.
-
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. -
Hallo,
Ich würde das mit My.Settings lösen. (http://msdn.microsoft.com/de-de/library/vstudio/saa62613.aspx)
Lg
BePh19 -
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 -
und für das abc einfach einsetzten was ich möchte?
-
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?
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 -
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! -
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.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage