vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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

Projekte und Betatester (VB und VB.NET)
Verwalten von Programmeinstellungen - Ganz einfach 
Autor: keco
Datum: 01.09.09 21:59

Mein erstes Projekt, was ich hier bekannt machen möchte ist eine Bibliothek zum Verwalten von Programmeinstellungen im Designer der IDE. Dabei werden bis zu 19 Datentypen zum Speichern und Laden untersützt!

In der Bibliothek enthalten ist eine Komponente, die einfach auf eine Form gezogen werden kann. Mit dieser Komponente können nur die Einstellungen dieser Form verwaltet werden. Die Komponente muss also für jede Form, bei welcher Einstellungen vorhanden sein sollen, erstellt werden. Die einzelnen Komponenten werden allerdings global von einer Klasse verwaltet, so dass ein Speichern und Laden der Einstellungen wesentlich vereinfacht wird. Bei der Komponente selbst kann unter anderem der Speicherpfad der Einstellungsdatei festgelegt werden und natürlich auch die Einstellungen selbst. Möglich ist dabei auch Einstellungen direkt an eine bestimmte Eigenschaft eines Controls zu binden. Wie genau das funktioniert ist hier beschrieben:

Erstellen einer einfachen Einstellung:
- Komponente auswählen und die "Items"-Eigenschaft editieren
- Neue Einstellung hinzufügen und "Category" und "Name" festlegen (wichtig für die Identifizierung der Einstellung in der XML-Datei)
- "Value" festlegen und gegebenfalls einzelne Attribute mit Werten festlegen

Die Einstellung selbst kann nun während der Laufzeit über die Codezeile aufgerufen werden:
Settings1.Items("CategoryName", "SettingName")
Besonderheit:
Die Besonderheit bei dieser Art der Erstellung einer Eigenschaft liegt darin, dass prinzipiell jede Art von Datentyp gespeichert werden kann, sofern ein entsprechender Konverter dafür vorliegt, welcher allerdings selbst implementiert werden muss.

Erstellen einer gebundenen Einstellung:
- Komponente auswählen und die "Items"-Eigenschaft editieren
- Neue Einstellung hinzufügen und "Category" und "Name" festlegen (wichtig für die Identifizierung der Einstellung in der XML-Datei)
- Ein Control über die "BindingControl"-Eigenschaft an die Einstellung binden
- Den Name der Eigenschaft des gebundenen Controls über die "BindingProperty"-Eigenschaft festlegen
- Die "Value"-Eigenschaft wird automatisch übernommen, wenn "BindingControl" und "BindingProperty" erfolgreich festgelegt wurden.
- Attribute werden ebenfalls automatisch gebunden, wenn der Name des Attributes den Name einer Eigenschaft des Controls entspricht, ansonsten liegen diese als einfache Einstellung vor.

Die Einstellung selbst kann un während der Laufzeit über die gleiche Codezeile wie zuvor abgerufen werden.

Besonderheit:
Die Besonderheit bei dieser Art der Erstellung einer Eigenschaft liegt darin, dass beim Laden der Einstellungen das Control automatisch den Werten in der Einstellungsdatei angepasst werden. Es sind damit keine weitern Codezeilen mehr nötig!

Speicherbare Datentypen:
Prinzipiell kann jeder Datentyp gespeichert werden, sofern dieser in einen String konvertiert und wieder zurückgewandelt werden kann. Die Bibliothek selbst bietet einen Konverter für folgende Datentypen: Boolean, Byte, Char, Date, Decimal, Double, Int16, Int32, Int64, SByte, Single, String, UInt16, UInt32, UInt64, Color, Size, Point, AnchorStyles.

Zum Speichern der Einstellung einfach die .Save Methode einer Komponente aufrufen, dabei werden die Einstellungen von ALLEN Komponenten gespeichert. Das gleiche gilt für die .Load-Methode. Bei Bedarf kann ich auch gerne eine Demo erstellen.

Ich würde Euch bitten die Komponente ausgiebig zu testen und eventuelle Verbesserungsvorschläge mitzuteilen, natürlich auch Fehler. Hier aber mal noch der Link zum Downloaden der Komponente.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo 
Autor: keco
Datum: 15.09.09 00:35

Es gibt ein Update der Komponente (mit Demo)! Im Prinzip wurde das gesamte Projekt neu erstellt und vorige Fehler entfernt und neue Features hinzugefügt. Im kurzen ein Überblick über die Funktionen der Version 3:

- Verwalten von einfachen und datengebundenen Einstellungen
- Erstellung von unbegrenzter Anzahl an Einstellungen
- Integrierung von UITypeEditoren zur einfachen Integrierung im VS
- Möglichkeit zur verschlüsselten Speicherung von Inhalten
- Root-Knoten mit Erweiterten Einstellungen möglich
- Keine weitere Zeile Code nötig (bis auf das Aufrufen der .Save() und .Load() - Methoden)

Die größte Besonderheit dieser Version ist, dass ich auch Auflistungen speichern lassen! Darunter die Auflistungen der ComboBox, ListBox, CheckedListBox, ListView und dem TreeView! Insgesamt werden 26 Datentypen untersützt. Es werden weitere Datentypen folgen, speziell erst einmal die, die bei den gängigsten Steuerelementen vorkommen, z.B. TextAlign etc.

Aus Kompatibilitätsgründen hat sich der Downloadlink geändert, da die Dateierweiterung in zip geändert wurde. In diesem Archiv befindet sich nun auch eine Demo (in der allerdings kein TreeView demonstriert wird).

Vielleicht findet jemand noch Bugs im Control oder hat weitere Ideen und Anregungen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo 
Autor: Luca123
Datum: 10.10.09 19:13

Super gemacht
und einfach zu bedienen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo 
Autor: Christoph1972
Datum: 11.10.09 14:54

schade, funktioniert nur mit FFW 3.0. Die Idee ist schon mal super! Hätte ich sicher genutzt, aber leider sind wir noch nicht so "modern".

Gruß
Christoph

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo 
Autor: keco
Datum: 11.10.09 14:58

Ja, das stimmt. Da ich LINQ verwendet habe um den Code etwas zu erleichtern musste ich auf 3.0 gehen. Ich werde allerdings schauen, dass ich demnächst auch eine Version für FW2.0 schreibe, was ich dann hier bekannt geben würde. Danke.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach + Demo 
Autor: Christoph1972
Datum: 11.10.09 15:10

Ja, das stimmt. Da ich LINQ verwendet habe

Ja, daran habe ich gesehen, dass das FW 3.0 benötigt wird. Ich habe mir natürlich gleich mal das Disassembly angeschaut

Gruß
Christoph

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verwalten von Programmeinstellungen - Ganz einfach 
Autor: keco
Datum: 16.11.09 16:22

Ich habe nun eine neue Version von der DLL erstellt, welches mit dem .NET Framework 2.0 auskommt. Hier der Link zum Download (Demoprogramm + DLL). Eine kleine Übersicht, die dabei helfen sollte könnt ihr hier auf meiner Seite finden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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