home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD 45 / SuperCD45.iso / talleres / vbasic / Token.cls < prev   
Text File  |  2000-01-30  |  5KB  |  128 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 = "Token"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
  15. Attribute VB_Ext_KEY = "Member0" ,"NodeList"
  16. Attribute VB_Ext_KEY = "Member1" ,"Node"
  17. Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
  18. Option Explicit
  19. 'local variable(s) to hold property value(s)
  20. Private mvarfileName As String 'local copy
  21. Private mvarnextBNode As BNodeList 'local copy
  22. Private mvarattributes As Integer 'local copy
  23. Private mvarprevBNode As BNode 'local copy
  24. Private mvardirLevel As Integer 'local copy
  25. Private mvarEOF As Boolean 'local copy
  26. Private mvarGeneration As Integer ' generation number
  27. Private filenum As Integer ' file number to use for input
  28. 'initialize the tokenizer
  29. Public Sub Start(fn As String)
  30.  
  31. filenum = FreeFile
  32. Open fn For Input As #filenum
  33. GetNext
  34.  
  35. End Sub
  36. ' gets the next BNode token from the input stream
  37. Public Function GetNext() As BNode
  38. Dim prevDirName As String, dirFlag As Boolean, n As BNode
  39.  
  40. If Not EOF(filenum) Then
  41.     Input #filenum, mvarGeneration, mvardirLevel, mvarattributes, mvarfileName, dirFlag
  42.     Set n = New BNode
  43.     n.attributes = mvarattributes
  44.     n.fileName = mvarfileName
  45.     Set n.nextBNode = Nothing
  46.     Set n.prevBNode = Nothing
  47. Else
  48.     mvarEOF = True
  49. End If
  50.  
  51. Set GetNext = n
  52. End Function
  53. Public Property Let tEOF(ByVal vData As Boolean)
  54. 'used when assigning a value to the property, on the left side of an assignment.
  55. 'Syntax: X.EOF = 5
  56.     mvarEOF = vData
  57. End Property
  58. Public Property Get tEOF() As Boolean
  59. 'used when retrieving value of a property, on the right side of an assignment.
  60. 'Syntax: Debug.Print X.EOF
  61.     tEOF = mvarEOF
  62. End Property
  63. Public Property Let dirLevel(ByVal vData As Integer)
  64. 'used when assigning a value to the property, on the left side of an assignment.
  65. 'Syntax: X.dirLevel = 5
  66.     mvardirLevel = vData
  67. End Property
  68. Public Property Get dirLevel() As Integer
  69. 'used when retrieving value of a property, on the right side of an assignment.
  70. 'Syntax: Debug.Print X.dirLevel
  71.     dirLevel = mvardirLevel
  72. End Property
  73. Public Property Let generation(ByVal vData As Integer)
  74. 'used when assigning a value to the property, on the left side of an assignment.
  75. 'Syntax: X.dirLevel = 5
  76.     mvarGeneration = vData
  77. End Property
  78. Public Property Get generation() As Integer
  79. 'used when retrieving value of a property, on the right side of an assignment.
  80. 'Syntax: Debug.Print X.dirLevel
  81.     generation = mvarGeneration
  82. End Property
  83. Public Property Set prevBNode(ByVal vData As BNode)
  84. 'used when assigning an Object to the property, on the left side of a Set statement.
  85. 'Syntax: Set x.prevBNode = Form1
  86.     Set mvarprevBNode = vData
  87. End Property
  88. Public Property Get prevBNode() As BNode
  89. 'used when retrieving value of a property, on the right side of an assignment.
  90. 'Syntax: Debug.Print X.prevBNode
  91.     Set prevBNode = mvarprevBNode
  92. End Property
  93. Public Property Let attributes(ByVal vData As Integer)
  94. 'used when assigning a value to the property, on the left side of an assignment.
  95. 'Syntax: X.attributes = 5
  96.     mvarattributes = vData
  97. End Property
  98. Public Property Get attributes() As Integer
  99. 'used when retrieving value of a property, on the right side of an assignment.
  100. 'Syntax: Debug.Print X.attributes
  101.     attributes = mvarattributes
  102. End Property
  103. Public Property Set nextBNode(ByVal vData As BNodeList)
  104. 'used when assigning an Object to the property, on the left side of a Set statement.
  105. 'Syntax: Set x.nextBNode = Form1
  106.     Set mvarnextBNode = vData
  107. End Property
  108. Public Property Get nextBNode() As BNodeList
  109. 'used when retrieving value of a property, on the right side of an assignment.
  110. 'Syntax: Debug.Print X.nextBNode
  111.     Set nextBNode = mvarnextBNode
  112. End Property
  113. Public Property Let fileName(ByVal vData As String)
  114. 'used when assigning a value to the property, on the left side of an assignment.
  115. 'Syntax: X.fileName = 5
  116.     mvarfileName = vData
  117. End Property
  118. Public Property Get fileName() As String
  119. 'used when retrieving value of a property, on the right side of an assignment.
  120. 'Syntax: Debug.Print X.fileName
  121.     fileName = mvarfileName
  122. End Property
  123. Private Sub Class_Terminate()
  124.  
  125. Close #filenum
  126.  
  127. End Sub
  128.