home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / LaVolpe_Co20381712172006.psc / classTestClass.cls < prev    next >
Text File  |  2006-12-06  |  2KB  |  65 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "classTestClass"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. ' A simple class used for testing the collection class's SaveCollection/LoadCollection methods
  16.  
  17.  
  18. Private c_Name As String
  19. Private c_Index As Long
  20.  
  21.  
  22. Public Property Get Name() As String
  23.     Name = c_Name
  24. End Property
  25. Public Property Let Name(Value As String)
  26.     c_Name = Value
  27. End Property
  28.  
  29. Public Property Get Index() As Long
  30.     Index = c_Index
  31. End Property
  32. Public Property Let Index(Value As Long)
  33.     c_Index = Value
  34. End Property
  35.  
  36.  
  37. Friend Function SaveClass(classBytes() As Byte) As Boolean
  38.     ' simple method of serializing a class into a byte array
  39.     ' VB5 users cannot use this method; however, one could simply use an INI-type structure instead
  40.     Dim pp As New PropertyBag
  41.     
  42.     pp.WriteProperty "Name", c_Name
  43.     pp.WriteProperty "Index", c_Index
  44.     
  45.     classBytes = pp.Contents
  46.  
  47. End Function
  48.  
  49. Friend Function LoadClass(classBytes() As Byte) As Boolean
  50.     ' simple method of un-serializing a class from a byte array
  51.     
  52.     Dim pp As New PropertyBag
  53.     On Error Resume Next
  54.     
  55.     pp.Contents = classBytes
  56.     If Err Then
  57.         Err.Clear
  58.         Exit Function
  59.     Else
  60.         c_Name = pp.ReadProperty("Name", vbNullString)
  61.         c_Index = pp.ReadProperty("Index", 0)
  62.     End If
  63.     
  64. End Function
  65.