Gå til innhold

Textbox "save" problem..


Anbefalte innlegg

Videoannonse
Annonse
og hva må jeg gjøre på denne knappen for at folk kan lagre det de skriver i textbox'en?

7252495[/snapback]

I en ekstern fil da, eller kun slik at teksten blir automatisk lagret og siden åpnet til neste gang programmet blir startet?

 

Dersom du tenker på førstnevnte, kan du bruke My.Settings.DinVariabel. Trykk først på My Project innunder Solution Explorer, velg Settings og skriv inn navnet på variabelen du vil lage (eksempelvis IPNumber) i kolonnen Name. Deretter kan du bruke My.Settings.IPNumber som en helt vanlig variabel. Dets innhold vil også lagres automatisk når programmet avsluttes. Koden en må skrive i tekstboksen blir da følgende:

    Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSave.Click

        ' Husk å endre kontrollreferansene slik at de korresponderer med dine kontroller.

        My.Settings.IPNumber = txtIPNumber.Text

    End Sub

For å laste inn denne variabelen i tekstboksen, kan du eksempelvis legge følgende i Form_Load:

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ' Last inn det lagrede innhold i tekstboksen

        txtIPNumber.Text = My.Settings.IPNumber

    End Sub

Dersom du imidlertid ønsker å lagre teksten i en egen fil, kan du eksempelvis gjøre følgende:

    Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSave.Click

 

        ' Åpner filen for skriving

        Dim File As New IO.FileStream("C:\Text.txt", IO.FileMode.Create)

        Dim Writer As New IO.StreamWriter(File, System.Text.Encoding.UTF8)

 

        ' Skriver innholdet til tekstfilen

        Writer.WriteLine(txtIPNumber.Text)

 

        ' Lukker tekstfil

        Writer.Close()

 

    End Sub

 

På samme måte kan man åpne en tekstfil:

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

 

        ' Åpner filen

        Dim File As New IO.FileStream("C:\Text.txt", IO.FileMode.Open)

        Dim Reader As New IO.StreamReader(File, System.Text.Encoding.UTF8)

 

        ' Laster inn alt innhold i filen og legger det i tekstboksen

        txtIPNumber.Text = Reader.ReadToEnd

 

        ' Lukker tekstfil

        Reader.Close()

 

    End Sub

 

Edit: Fikset en bugg i koden.

Endret av aadnk
Lenke til kommentar
det var en ting som ikke funka hos meg..

7252808[/snapback]

Siterer meg selv:

Trykk først på My Project innunder Solution Explorer, velg Settings og skriv inn navnet på variabelen du vil lage (eksempelvis IPNumber) i kolonnen Name.

For øvrig, kunne du bruke PNG istedenfor BMP? Det gir nøyaktig samme kvalitet for LANGT mindre filstørrelse, og dessuten slipper man da å måtte laste ned bildet for å se det (det blir lagt til innlegget med et thumbnail).

Lenke til kommentar

Tusen takk nå fikk jeg det til :thumbup:

men nå skjedde det noe annet feil lengere opp i fila.. :(

 

--------------------------

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 

End Sub

---------------------------

 

 

Form1_Load ble feil :(

 

kode greia funker ikke på pc'n min så skrev det sånn jeg :blush:

Lenke til kommentar
  • 3 uker senere...

Jeg lurer på noe ala det samme.

Jeg prøvde den koden for lagring som står lengere oppe i tråden, og dataene ble lagret, men på 1 linje.

Textboksen min inneholder linjer som er på hver sin linje og jeg vil helst ha de lagret på samme måte:

 

linje1

linje2

linje3

 

mens med den overnevte kode ble det slik

 

linje1 linje2 linje3

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...