AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCollection und TCollectionItem

Ein Thema von Jens Schumann · begonnen am 5. Jun 2004 · letzter Beitrag vom 18. Okt 2004
 
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

Re: TCollection und TCollectionItem

  Alt 5. Jun 2004, 12:14
Liebe Codelib-Manager,
es ist fertig.
Die unit dpCollection.pas enthält die Klassen TJsCollection und TmxJsCollection
Mit diesen Klassen in der Kombination mit Nachfahren von TCollectionItem
lassen sich n-dimsionale "Array's" aufbauen. Je ein TCollectionItem Nachfahre bildet ein Element. Die
Werte die in dem "Array" gespeichert werden sind dann die published properties der TCollectionItem Nachfahren.
Bislang ist das noch nichts besonderes. Aber die Daten lassen mit einem einfachen "SaveToStream" speichern
und mit einem "LoadFromStream" wieder laden. D.h. ein "Arrayelement" kann ein TBitmap, eine TJsCollection (für die
nächste Dimension), Integers, Strings oder TStrings enthalten. Solange die Dinger als published properties
deklariert sind, werden sie automatisch gespeichert. Die beiden TCollection Nachfahren machen sich hier das
Delphi-Streamingsystem zu nutze. Das ist das gleiche Teil das dafür sorgt, dass die Eigenschaften, die über den
Objektinspektor eingestellt werden in der dfm-Datei landen.

TJsCollection implementiert die gundlegenden Methoden wie:
- LoadFromStream
- LoadFromFile
- SaveToStream
- SaveToFile
TJsCollection speichert immer im Binärformat

TmxJsCollection führt die Property Binary ein.
Wenn Binary auf False gesetzt wird, werden die Daten im Textformat gespeichert.
Dei Datei hat den Aufbau einer dfm-Datei (im Textformat).


Das Beispielprogramm (siehe TestApp.jpg oder TestApp.ppt) baut ein 2 dimensionales
Array (siehe CollectionItems.gif oder CollectionItems.ppt) auf.
Die Dateien befinden sich alle in der zip-Datei.


Unterschied zwischen D5 und D7

Wenn ein TCollectionItem eine TJsCollection oder TmxJsCollection property
hat (In diesen Beispiel wäre das die TD7CollectionItem Property Numbers in
der unit collectionitems_impl), so werden deren published properties nicht
von D5 gestreamt.
Es können die Dateien aber von den Versionen (D5/D7) gelesen werden.

Gruß
Maximov und Jens
Angehängte Dateien
Dateityp: zip collection_633.zip (401,4 KB, 487x aufgerufen)
I come from outer space to save the human race
  Mit Zitat antworten Zitat
 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz