home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Programmer'…arterly (Limited Edition) / Visual_Basic_Programmers_Journal_VB-CD_Quarterly_Limited_Edition_1995.iso / code / ch17code / title.cls < prev    next >
Text File  |  1995-08-13  |  2KB  |  88 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4. END
  5. Attribute VB_Name = "Title"
  6. Attribute VB_Creatable = False
  7. Attribute VB_Exposed = True
  8. ' Title class -- TITLE.CLS
  9. '   Represents a single CD Title.
  10. '   Contains collection of Track objects
  11. '   (individual songs on the CD).
  12. '
  13. '   Properties:
  14. '
  15. '   Methods:
  16. '
  17. Option Explicit
  18.  
  19. Private colTracks As New Collection
  20.  
  21. Private mParent As Object
  22.  
  23. ' Name property
  24. ' (Read/write)
  25. ' Sets and retrieves Name info from the data file.
  26. Public Name As String
  27.  
  28. ' Create method.
  29. Public Function Create() As Object
  30.     Dim Index As Integer
  31.     Dim iTrackCount As Integer
  32.     iTrackCount = frmControlPanel.Tracks
  33.     Me.Name = "<Untitled>"
  34.     If iTrackCount Then
  35.         ReDim NewTracks(1 To iTrackCount) As Track
  36.         For Index = 1 To iTrackCount
  37.             ControlPanel.Track = Index
  38.             Set NewTracks(Index) = New Track
  39.             NewTracks(Index).StartPosition = ControlPanel.TrackPosition
  40.             NewTracks(Index).Length = ControlPanel.TrackLength
  41.             NewTracks(Index).Name = "Track" & Index
  42.             NewTracks(Index).Parent Me, FLAG_INTERNAL
  43.             colTracks.Add NewTracks(Index), NewTracks(Index).Name
  44.         Next Index
  45.     End If
  46.     Set Create = Me
  47. End Function
  48.  
  49. ' Delete method
  50. Public Sub Delete()
  51.     ' Remove title from datafile
  52. End Sub
  53.  
  54. ' Tracks method (accessor function for
  55. ' colTracks collection).
  56. Public Function Tracks() As Object
  57.     Set Tracks = colTracks
  58. End Function
  59.  
  60. ' CurrentTrack property
  61. Public Property Get CurrentTrack() As Object
  62.     Set CurrentTrack = colTracks(ControlPanel.CurrentTrack)
  63. End Property
  64.  
  65. Public Property Get Application() As Object
  66.     Set Application = Application
  67. End Property
  68.  
  69. Public Function Parent(Optional objSetting, Optional iFlag)
  70.     If IsMissing(objSetting) And IsMissing(iFlag) Then
  71.         Set Parent = mParent
  72.     ElseIf Not IsMissing(objSetting) And Not IsMissing(iFlag) Then
  73.         If iFlag = FLAG_INTERNAL Then
  74.             Set mParent = objSetting
  75.         Else
  76.             Err.Raise 5, Application.Name
  77.         End If
  78.     Else
  79.         Err.Raise 5, Application.Name
  80.     End If
  81. End Function
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.