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-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Eigene serialisierbare Klasse für Settings 
Autor: Manfred X
Datum: 30.12.18 09:36

Ergänzender Hinweis:

Die Soap-Serialisierung beherrscht auch Datentypen
wie Font oder Color, die bei Settingsvariablen oft vorkommen.
Es ist deshalb ggf. zweckmäßig, für die Einstellungen eine
entsprechende Klasse zu programmieren.

Ein Windows.Forms-Beispiel:
Public Class frmSettingsDemo
 
    'Klasse für die Serialisierung der Einstellungen
    Public Class SettingsSerialization
 
        'Der erforderliche Formatter (Projektverweis notwendig!)
        Dim ft As New _
         System.Runtime.Serialization.Formatters.Soap.SoapFormatter
 
 
        'Serialisierbare Datenklasse
        <System.Serializable>
        Public Class SettingsProperties
 
            'Festlegung der Eigenschaften incl. Datentyp und Defaultwert
            Public Property Text_Font As Font = New Font("Arial", 8)
            Public Property Text_Forecolor As Drawing.Color = Color.Black
            Public Property Text_Backcolor As Drawing.Color = Color.White
 
        End Class
 
        'Instanz für Aufbewahrung der Einstellungen  
        Public Settings As New SettingsProperties
 
        'Abfrage-Properties für die Datenbindiung
        ReadOnly Property Text_Font As Font
            Get
                Return Settings.Text_Font
            End Get
        End Property
 
        ReadOnly Property Text_Forecolor As Color
            Get
                Return Settings.Text_Forecolor
            End Get
        End Property
 
        ReadOnly Property Text_Backcolor As Color
            Get
                Return Settings.Text_Backcolor
            End Get
        End Property
 
        'Serialisierung / Speichern der Einstellungen in einer Datei
        Public Sub Serialize(ByVal FileName As String)
            'Instanz der SettingsProperties im Filestream speichern
            Using fs As New IO.FileStream(FileName, IO.FileMode.OpenOrCreate, _
              IO.FileAccess.Write)
                ft.Serialize(fs, Settings)
            End Using
        End Sub
 
        'Lesen der gespeicherten Einstellungen aus einer Datei
        Public Sub Deserialize(ByVal filename As String)
            Using fs As New IO.FileStream(filename, IO.FileMode.Open, _
              IO.FileAccess.Read)
                'Instanz der Settingsproperties ais Filetream lesen
                Settings = DirectCast(ft.Deserialize(fs), SettingsProperties)
            End Using
        End Sub
    End Class
 
 
 
    'Instanz der Klasse für Aufbewahrung und Serialisierung der eingestellten 
    ' Werte
    Dim mySettings As New SettingsSerialization
 
    'einzurichtendes Control
    Dim tbo As New TextBox With {.Parent = Me, .Width = 300}
 
 
    'Erstellen und Speichern der Einstellungen
    Private Sub CreateSettings()
 
        With mySettings
            With .Settings
                .Text_Backcolor = Color.Red
                .Text_Forecolor = Color.White
                .Text_Font = New Font("Arial", 20, FontStyle.Italic)
            End With
 
            'beliebige Datei als Parameter angeben
            .Serialize("G:\Daten\frmSettings.xml")
        End With
    End Sub
 
 
    'Lesen und Anbinden der Einstellungen
    Private Sub GetSettings()
 
        mySettings.Deserialize("G:\Daten\frmSettings.xml")
 
        With tbo.DataBindings
            .Add("Forecolor", mySettings, "Text_Forecolor")
            .Add("Backcolor", mySettings, "Text_Backcolor")
            .Add("Font", mySettings, "Text_Font")
        End With
 
    End Sub
 
 
 
    Private Sub frmSettingsDemo_Load(sender As Object, _
        e As EventArgs) Handles MyBase.Load
 
        CreateSettings() 'nur beim ersten Aufruf der Form erforderlich
 
        GetSettings()
    End Sub
End Class


Beitrag wurde zuletzt am 30.12.18 um 09:54:27 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alternative zu my.settings1.199manuelhasi28.12.18 22:45
Re: Alternative zu my.settings856Cheffboss29.12.18 10:18
Re: Alternative zu my.settings908manuelhasi29.12.18 11:57
Re: Alternative zu my.settings902Manfred X30.12.18 06:47
Eigene serialisierbare Klasse für Settings849Manfred X30.12.18 09:36

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-2024 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