vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Textdatei / Bestimmte Zeile (Daten) auslesen 
Autor: ModeratorDaveS (Moderator)
Datum: 27.11.04 14:03

Du hast nicht gesagt was für Daten du haben willst, wie sie geändert oder verwendet werden. AppSettings ist für eher statische Werte gedacht, wo man das vielleicht mal beim Install setzt. Das ist natürlich eine enfache Xml Datei, die du auch im Programm neu schreiben könntest, allerdings gibt's keine eingebaute Funktion dafür. Um Settings wie in einer .ini zu speichern benutze ich oft XmlSerializer, und eine kleine Klasse für die Daten. Das hat den Vorteil, dass man die Klasse einfach mit neuen Feldern erweitern muss, aber der Code um die Werte zu lesen und schreiben bleibt immer gleich. Da geht so.

Klasse für die Werte, die die Anwendung braucht:
    Public Class AppData
        Public url As String = "[no url]"
        Public user As String = "[no user]"
        Public password As String = "[no password]"
    End Class
So wird's gelesen und geschrieben:
    Private configData As AppData
    Private _newConfig As Boolean
    Private file As String = "AppConfig.xml"
 
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        ' Read the config data
        Dim nad As New AppData
        configData = AppDataManager.LoadClientConfig(nad, file)
        _newConfig = configData Is nad
 
        ' Set app values from config data
        TextBox1.Text = configData.url
        TextBox2.Text = configData.user
        TextBox3.Text = configData.password
    End Sub
 
    Protected Overrides Sub OnClosing(ByVal e As _
      System.ComponentModel.CancelEventArgs)
        ' Set new config data values
        configData.url = TextBox1.Text
        configData.user = TextBox2.Text
        configData.password = TextBox3.Text
 
        ' Write config data
        AppDataManager.SaveClientConfig(configData, file)
    End Sub
Und hier ist die Klasse, die die ganze Arbeit erledigt (kannst du in jedem Programm benutzen)
Imports System.Xml
Imports System.Xml.Serialization
 
Public Class AppDataManager
    ' Load/save App settings to local file
    Public Shared Function LoadClientConfig(ByVal initData As Object, ByVal _
      file As String) As Object
        Dim fs As FileStream
        Dim sr As StreamReader
 
        Try
            fs = New FileStream(file, FileMode.OpenOrCreate, FileAccess.Read)
            If fs.Length = 0 Then
                Return initData
            Else
                sr = New StreamReader(fs, System.Text.Encoding.UTF8)
                Dim xmlser As New XmlSerializer(initData.GetType())
                Return xmlser.Deserialize(sr)
            End If
        Catch ex As System.Exception
            MsgBox("Error in reading settings: " + ex.Message, _
              MsgBoxStyle.Exclamation, "Main")
            Return initData
        Finally
            If Not sr Is Nothing Then sr.Close()
            If Not fs Is Nothing Then fs.Close()
        End Try
 
    End Function
 
    Public Shared Function SaveClientConfig(ByVal data As Object, ByVal file As _
      String) As Boolean
 
        If data Is Nothing Then Exit Function
 
        Dim fs As FileStream
        Dim sw As StreamWriter
 
        Try
            fs = New FileStream(file, FileMode.Create, FileAccess.Write)
            sw = New StreamWriter(fs, System.Text.Encoding.UTF8)
 
            Dim xmlser As New XmlSerializer(data.GetType())
            xmlser.Serialize(sw, data)
 
        Catch ex As System.Exception
            MsgBox("Could not save settings: " + ex.Message, _
              MsgBoxStyle.Exclamation, "Main")
            Return False
        Finally
            If Not sw Is Nothing Then sw.Close()
            If Not fs Is Nothing Then fs.Close()
        End Try
 
        Return True
 
    End Function
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Textdatei / Bestimmte Zeile (Daten) auslesen1.187Basti200326.11.04 18:59
Re: Textdatei / Bestimmte Zeile (Daten) auslesen1.472Water26.11.04 19:55
Re: Textdatei / Bestimmte Zeile (Daten) auslesen882ModeratorDaveS26.11.04 20:27
PS904ModeratorDaveS26.11.04 20:32
Re: PS901Basti200326.11.04 21:12
Re: Textdatei / Bestimmte Zeile (Daten) auslesen811Basti200326.11.04 21:19
Re: Textdatei / Bestimmte Zeile (Daten) auslesen948ModeratorDaveS26.11.04 21:27
Re: Textdatei / Bestimmte Zeile (Daten) auslesen814Basti200326.11.04 22:13
Re: Textdatei / Bestimmte Zeile (Daten) auslesen794Water27.11.04 09:18
Re: Textdatei / Bestimmte Zeile (Daten) auslesen780Basti200327.11.04 10:13
Re: Textdatei / Bestimmte Zeile (Daten) auslesen852ModeratorDaveS27.11.04 14:03
Re: Textdatei / Bestimmte Zeile (Daten) auslesen865Basti200327.11.04 14:41
Re: Textdatei / Bestimmte Zeile (Daten) auslesen859ModeratorDaveS27.11.04 14:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel