2012-05-23 16 views
11

Zastanawiam się, jaki jest najłatwiejszy sposób zapisywania i ładowania danych za pomocą różnych formularzy w vb. Chcę tylko zapisać 3 textbox.text, który użytkownik zapisuje i może załadować na inny formularz.Prosty sposób na zapisywanie i ładowanie danych Visual Basic

+0

Czy trzeba zapisać na dysku, aby był zachowywany, nawet gdy aplikacja jest zamknięta, czy też musi być tylko zapisana w pamięci? –

+0

Musiałby zostać zapisany na dysku. – Jonathan

Odpowiedz

3

Najprostszą opcją byłoby zapisanie ich w prostym pliku tekstowym z ogranicznikami. Na przykład, byłoby to zapisanie wartości w pliku rury rozdzielany:

File.WriteAllText("C:\Data.txt", String.Join("|", new String() {TextBox1.Text, TextBox2.Text, TextBox3.Text})) 

a to przeczytać w:

Dim values() as String = File.ReadAllText("C:\Data.txt").Split("|"c) 
TextBox1.Text = values(0) 
TextBox2.Text = values(1) 
TextBox3.Text = values(2) 

Jednak to nie jest mądry, aby zapisać do pliku w katalogu głównym . Najbezpieczniej byłoby przechowywać je w pliku w odizolowanym magazynie. Ponadto byłoby jeszcze lepiej przechowywać go w XML. Można to łatwo zrobić poprzez serializację.

18

Jeśli jest to ustawienie użytkownika, można użyć wbudowanego obiektu My.Settings do zapisania i wczytania.

Z powyższego linku:

W My.Settings obiektu zapewnia dostęp do ustawień aplikacji i pozwala na dynamiczne przechowywania i pobierania ustawień własności i inne informacje dotyczące aplikacji.

można utworzyć ustawienie w ustawieniach część projektu, m.in.:

którą można otworzyć w ten sposób.

dim MyTemp as String = My.Settings.MySetting 

i zapisać go jak ten

My.Settings.MySetting = "StringValue" 
My.Settings.Save() 

To będzie utrzymywał się w pliku konfiguracyjnym tak:

<userSettings> 
    <WindowsApplication11.My.MySettings> 
     <setting name="MySetting" serializeAs="String"> 
      <value>TempValue</value> 
     </setting> 
    </WindowsApplication11.My.MySettings> 
</userSettings> 
+0

Idealne rozwiązanie dzięki mate :) –