Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Klassenprogrammierung: Klasse serialisieren
zurück: Dateien kopieren mit Fortschrittsanzeige weiter: Eigenes Ribbon-Control im Editiermodus disabled Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Isabelle :-)
Menschin


Verfasst am:
21. März 2014, 22:48
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis

Klassenprogrammierung: Klasse serialisieren - Klassenprogrammierung: Klasse serialisieren

Nach oben
       Version: Office 2k (2000)

Hallöchen,

Serialisierung bedeutet laut Wikipedia:

Zitat:
Die Serialisierung ist in der Informatik eine Abbildung von strukturierten Daten auf eine sequenzielle Darstellungsform.

Besser hätte ich es auch nicht sagen können. Übersetzt bedeutet es, wir können Klassen bzw. deren Eigenschaften über die Lebensdauer der Klasse hinaus erhalten. Sprich beim Öffnen einer Mappe mit einer entsprechenden Klasse stehen die zuletzt gesetzten Eigenschaften der Klasse sofort zur Verfügung. Das können Parameterklassen (wie in meinem Beispiel) aber auch die Eigenschaften eines Userforms oder einer Auflistungsklasse sein.

In vb.net geht das von Haus aus schon vorgesehen, indem in der Klasse das Attribut [Serializable] gesetzt wird, der Rest besteht aus ein paar Zeilen in denen abgegeben werden muss wie die Daten (verschlüsselt oder unverschlüsselt als serielle Datei oder als XML-Datenbank) gespeichert werden sollen.

Leider ist das in VBA nicht so einfach, da muss ich das Ganze mit einer eigenen Klasse erledigen. Es ist natürlich möglich die Daten zu verschlüsseln und als XML-Datei zu speichern, aber damit das Beispiel überschaubar bleibt habe ich darauf verzichtet.

In einer Parameterklasse können wir die Daten 1:1 in unsere Datendatei schreiben und aus ihr lesen. Bei Userforms und Auflistungsklassen würden wir die Daten im Initialize-Event der Klasse aus der Datendatei lesen und im Terminate-Event in die Datendatei schreiben.

Für einfache Variablen benutzen wir dazu eine .ini – Datei, für Arrays aus Standardvariablen sowie benutzerdefinierte Datentypen und daraus erzeugten Arrays verwenden wir .dat – Dateien. Die Datendateien werden in einem separatem Ordner "Daten" und einem Unterordner mit dem Namen der Mappe im Ordner der Mappe abgelegt.

Da benutzerdefinierte Variablen nicht in einem Variant aufgelöst werden kann, müssen für jeden Datentyp separate Prozeduren angelegt werden.

Im Anhang findest du ein Beispiel für eine Parameter-Klasse. Beispiele für ein Userform und eine Auflistungsklasse werde ich bei Gelegenheit hochladen.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%



Serialisierung.xlsm
 Beschreibung:

Download
 Dateiname:  Serialisierung.xlsm
 Dateigröße:  53.45 KB
 Heruntergeladen:  32 mal

Isabelle :-)
Menschin


Verfasst am:
31. März 2014, 13:20
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


AW: Klassenprogrammierung: Klasse serialisieren - AW: Klassenprogrammierung: Klasse serialisieren

Nach oben
       Version: Office 2003

Hallöchen,

und hier nun das Beispiel für ein Userform. Das ist natürlich nicht unbedingt sinnvoll, denn die Daten lassen sich genauso gut in einer Tabelle speichern. Es geht dabei nur zu zeigen was möglich ist.

So wäre es z.B. denkbar auf mehreren Rechnern eine Adressliste in einer Listbox anzuzeigen und dabei das letzte Speicherdatum der .dat – Datei zu überwachen. Jede Änderung der Liste von einem Rechner aus könnte dann mehr oder weniger just in time auf allen anderen Rechnern, die diese Liste geöffnet haben, angezeigt werden. Genau so wie in einer Datenbank.

Der ZIP-Ordner im Anhang enthält schon ein paar Daten damit das Userform beim 1. Aufruf nicht komplett leer ist.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%



Serialisierungs_Klasse.zip
 Beschreibung:

Download
 Dateiname:  Serialisierungs_Klasse.zip
 Dateigröße:  105.25 KB
 Heruntergeladen:  15 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel VBA (Makros): sheet.protect als Klasse oder Funktion? 2 Lionbrother 102 20. Dez 2013, 13:47
Lionbrother sheet.protect als Klasse oder Funktion?
Keine neuen Beiträge Excel VBA (Makros): Klasse Eigenschaften/abgeleitete Eigenschaften 8 Phelan XLPH 110 12. Okt 2013, 17:25
Gast Klasse Eigenschaften/abgeleitete Eigenschaften
Keine neuen Beiträge Excel VBA (Makros): Modul oder Klasse für einen "Weiter-Button" 2 freddy123 190 22. Aug 2012, 10:28
Gast Modul oder Klasse für einen "Weiter-Button"
Keine neuen Beiträge Excel VBA (Makros): SteuerelementeFeld aus Klasse? 5 dera 190 25. Mai 2012, 19:24
Isabelle :-) SteuerelementeFeld aus Klasse?
Keine neuen Beiträge Excel VBA (Makros): Als Public definierte Variable in einer Klasse verliert Wert 6 abc123michael 291 29. Feb 2012, 13:56
Gast Als Public definierte Variable in einer Klasse verliert Wert
Keine neuen Beiträge Excel VBA (Makros): Klasse nicht registriert - Progress Bar 0 Busta 702 17. Okt 2011, 20:50
Busta Klasse nicht registriert - Progress Bar
Keine neuen Beiträge Excel VBA (Makros): Array an Klasse übergeben - Fehler 2 Isabelle :-) 634 06. Sep 2011, 19:32
Isabelle :-) Array an Klasse übergeben - Fehler
Keine neuen Beiträge Excel Formeln: sverweis für zwischenwerte einer Klasse 3 Bamma 1232 21. Feb 2011, 19:45
Bamma sverweis für zwischenwerte einer Klasse
Keine neuen Beiträge Excel VBA (Makros): Eine Default-Property in einer Klasse definieren 6 RO_SCH 718 06. Jan 2011, 11:53
Nepumuk Eine Default-Property in einer Klasse definieren
Keine neuen Beiträge Excel VBA (Makros): Function nur in Klasse verfügbar 8 aep 394 14. Apr 2010, 18:28
humanresource Function nur in Klasse verfügbar
Keine neuen Beiträge Excel Formeln: Häufigkeiten mit Elementanz. pro Klasse 3 maxseidel 501 18. Nov 2009, 10:14
E4M Häufigkeiten mit Elementanz. pro Klasse
Keine neuen Beiträge Excel VBA (Makros): Userform mittels Klasse erzeugen 4 Nicht-Profi 1115 28. Okt 2009, 22:08
Nicht-Profi Userform mittels Klasse erzeugen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks