Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Spara värden som xml

Postades av 2008-12-09 09:58:52 - Joel Alexandersson, i forum vb.net, Tråden har 16 Kommentarer och lästs av 1187 personer

Kan någon ge mig några bra exempel på hur jag jag sparar ner mina värden till en xml fil på ett enkelt sätt? Har letat lite överallt men inte hittat något bra.

Jag kan förklara lite hur jag har tänkt mig.
Jag har 5 olika värden på en sida. vi kan säga att de heter "txtett", "txttvå", "txttre", "txtfyra" och "txtfem" för enkelhetens skull. det här är textboxar.
jag har en knapp som heter "spara inställningar" som ska fungera på så sätt att den sparar ner de här värdena i en xml fil. Jag vill kunna välja plats och namn när xml:en ska läggas när jag trycker på knappen.

Det ska också finnas en knapp där jag kan hämta de inställningar jag vill ha till de 5 textboxarna. "hämta inställningar" Också där ska jag kunna välja den xml fil jag vill använda mig av.

borde väl vara hyfsat enkelt eller? Har dock aldrig använt mig av xml så jag har ingen aning. :)


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 10:16:51 - Johan Djupmarker

Ett sätt är att serialisera en klass. Har lite exempelkod i C# som jag hoppas du kan tolka.

Klassen:
public class MinKlass
{
public string Värde1;
public string Värde2;
}


Spara:
MinKlass k = new MinKlass();
k.Värde1 = "hej";
k.Värde2 = "hopp";

System.Xml.Serialization.XmlSerializer s = new System.Xml.Serialization.XmlSerializer(typeof(MinKlass));
System.IO.StreamWriter sw = new System.IO.StreamWriter("Inställningar.xml");
s.Serialize(sw, k);
sw.Close();


Ladda tillbaka:
System.Xml.Serialization.XmlSerializer s = new System.Xml.Serialization.XmlSerializer(typeof(MinKlass));
System.IO.StreamReader sw = new System.IO.StreamReader("Inställningar.xml");
MinKlass k = s.Deserialize(sw) as MinKlass;
sw.Close();


/Johan


Svara

Sv:Spara värden som xml

Postades av 2008-12-09 11:25:30 - Joel Alexandersson

jag lyckas spara en xml fil med din kod så här:

    Private Sub bSpara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSpara.Click
        Dim k As New Parametrar()
        k.MaxLim = lblMaxLim.Text
        k.MinLim = lblMinLim.Text
        k.RefVardeKalib = lblFramdragKalib.Text
        k.RefVardeFramdrag = lblRefPos.Text

        Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
        Dim sw As New System.IO.StreamWriter("Inställningar_Medmaskin.xml")
        s.Serialize(sw, k)
        sw.Close()

    End Sub



däremot att hämta in inställningarna fungerar inte. jag lyckas nog itne riktigt med din kod kanske. är det här rätt? :

   Private Sub bHamta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bHamta.Click
        Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
        Dim sw As New System.IO.StreamReader("Inställningar_Medmaskin.xml")
        Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
        sw.Close()
    End Sub


Public Class Parametrar
    Public MaxLim As String
    Public MinLim As String
    Public RefVardeKalib As String
    Public RefVardeFramdrag As String
End Class


har du någon idé på hur man gör med en "openfiledialog" eller "savefiledialog" i din kod?


Svara

Sv:Spara värden som xml

Postades av 2008-12-09 11:51:38 - Joel Alexandersson

så här har jag gjort. Lyckas dock inte spara filen.

    Private Sub bSpara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSpara.Click

        Dim myStream As Stream
        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "xml files (*.xml)|*.xml|xml files (*.xml)|*.xml"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then

                Dim k As New Parametrar()
                k.MaxLim = lblMaxLim.Text
                k.MinLim = lblMinLim.Text
                k.RefVardeKalib = lblFramdragKalib.Text
                k.RefVardeFramdrag = lblRefPos.Text

                Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
                Dim sw As New System.IO.StreamWriter("Inställningar_Medmaskin.xml")
                s.Serialize(sw, k)
                sw.Close()


                myStream.Close()
            End If
        End If
    End Sub


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 12:11:29 - Johan Djupmarker

Kan inte på rak hand se vad som skulle vara fel, på vilket sätt fungerar det inte?

/Johan


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 12:11:31 - Johan Djupmarker

dubbelpost...


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 12:14:19 - Johan Djupmarker

Borde vara något åt detta håller:

    Private Sub bSpara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSpara.Click

        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "xml files (*.xml)|*.xml|xml files (*.xml)|*.xml"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
                Dim k As New Parametrar()
                k.MaxLim = lblMaxLim.Text
                k.MinLim = lblMinLim.Text
                k.RefVardeKalib = lblFramdragKalib.Text
                k.RefVardeFramdrag = lblRefPos.Text

                Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
                Dim sw As New System.IO.StreamWriter(saveFileDialog1.FileName)
                s.Serialize(sw, k)
                sw.Close()
        End If
    End Sub


/Johan


Svara

Sv:Spara värden som xml

Postades av 2008-12-09 12:45:22 - Joel Alexandersson

Ja det fungerar! men inte hämtningen. Så här har jag gjort:

    Private Sub bHamta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bHamta.Click
        Dim openFileDialog1 As New OpenFileDialog()

        openFileDialog1.Filter = "xml files (*.xml)|*.xml|xml files (*.xml)|*.xml"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True

        If openFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
            Dim sw As New System.IO.StreamReader(openFileDialog1.FileName)
            Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
            sw.Close()
        End If
    End Sub


får inte in värdena helt enkelt. inget felmeddelande heller.


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 14:37:06 - Johan Djupmarker

Märkligt, det borde bli något felmeddelande om det är fel. Får ta och testa detta ikväll när jag har lite bättre tid då... För informationen finns i filen antar jag?

/Johan


Svara

Sv:Spara värden som xml

Postades av 2008-12-09 14:40:40 - Joel Alexandersson

ja absolut! allt jag lägger in i xml:en finns ju kvar där.


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 20:08:13 - Johan Djupmarker

Det måste vara något annat fel, din kod fungerar för mig. Klistrar in hela koden jag testade:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim k As New Parametrar()
        k.a = Me.TextBox1.Text
        k.b = Me.TextBox2.Text

        Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
        Dim sw As New System.IO.StreamWriter("Inst.xml")
        s.Serialize(sw, k)
        sw.Close()
    End Sub

    Public Class Parametrar
        Public a As String
        Public b As String
    End Class

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
        Dim sw As New System.IO.StreamReader("Inst.xml")
        Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
        sw.Close()
        MessageBox.Show(k.a & " " & k.b)
    End Sub


/Johan


Svara

Sv: Spara värden som xml

Postades av 2008-12-09 21:35:49 - Jan Bulér

Joel, det är inte så att du bara glömer att använda värdet du fått i k, gör du något med k-variabeln i din sub förutom att du sätter dess värde i 4:e raden från slutet.


    Private Sub bHamta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bHamta.Click
        Dim openFileDialog1 As New OpenFileDialog()

        openFileDialog1.Filter = "xml files (*.xml)|*.xml|xml files (*.xml)|*.xml"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True

        If openFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
            Dim sw As New System.IO.StreamReader(openFileDialog1.FileName)
            Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
            sw.Close()
        End If
    End Sub


I Johans exempelkod så kollar han ju egenskaperna i k i anropet av MessageBox.Show

       Dim s As New System.Xml.Serialization.XmlSerializer(GetType(Parametrar))
        Dim sw As New System.IO.StreamReader("Inst.xml")
        Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
        sw.Close()
        MessageBox.Show(k.a & " " & k.b)



Du borde väl ha ungefär något sådant här i din kod.

                Dim sw As New System.IO.StreamReader("Inst.xml")
                Dim k As Parametrar = TryCast(s.Deserialize(sw), Parametrar)
                sw.Close()

                lblMaxLim.Text = k.MaxLim
                lblMinLim.Text = k.MinLim
                lblFramdragKalib.Text = k.RefVardeKalib
                lblRefPos.Text = k.RefVardeFramdrag



Svara

Sv:Spara värden som xml

Postades av 2008-12-10 07:51:23 - Joel Alexandersson

Ni har helt rätt. Jag gjorde inget med värdena. Jag tror jag lagt det fel på något sätt. Nu fungerar det! tack så mycket!


Svara

Sv:Spara värden som xml

Postades av 2008-12-10 10:26:36 - Joel Alexandersson

jag hittade en sak.

jag sparar ett värde så här: k.Spik1Lage1 = bSpik1Lage1.ForeColor.Name

om jag vill hämta den så kan jag ju inte skriva: bSpik1Lage1.ForeColor.Name = k.Spik1Lage1

Hur gör jag då?


Svara

Sv: Spara värden som xml

Postades av 2008-12-10 11:17:09 - Johan Djupmarker

Hade faktiskt precis denna fundering själv häromveckan :) Såhär (i princip) löste jag det:

k.Spik1Lage1 = ColorTranslator.ToHtml(bSpik1Lage1.ForeColor)

bSpik1Lage1.ForeColor = ColorTranslator.FromHtml(k.Spik1Lage1)

/Johan


Svara

Sv:Spara värden som xml

Postades av 2008-12-10 11:30:29 - Joel Alexandersson

Tack så mycket! nu fungerar allt! :D


Svara

Sv: Spara värden som xml

Postades av 2008-12-10 11:38:16 - Jan Bulér

Såg att Johan han svara före mig men vill ändå tala om att Color har en funktion för att fixa detta.

Du kan spara värdet så här

        k.a = Me.TextBox1.BackColor.Name
        k.b = Me.TextBox1.ForeColor.Name


och hämta tillbaka det så här
        Me.TextBox1.BackColor = Color.FromName(k.a)
        Me.TextBox1.ForeColor = Color.FromName(k.b)



[Edit]
Titta även på metoderna .ToArbg och .FromArbg
        k.b = Me.TextBox1.ForeColor.ToArgb().ToString()

        Me.TextBox1.ForeColor = Color.FromArgb(Integer.Parse(k.a))




Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 668
27 958
271 741
707
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies