52 lines
1.2 KiB
OpenEdge ABL
52 lines
1.2 KiB
OpenEdge ABL
![]() |
VERSION 1.0 CLASS
|
||
|
BEGIN
|
||
|
MultiUse = -1 'True
|
||
|
END
|
||
|
Attribute VB_Name = "DB_Components"
|
||
|
Attribute VB_GlobalNameSpace = False
|
||
|
Attribute VB_Creatable = False
|
||
|
Attribute VB_PredeclaredId = False
|
||
|
Attribute VB_Exposed = False
|
||
|
Option Explicit
|
||
|
|
||
|
Private data_ As Excel.Worksheet
|
||
|
|
||
|
Public Function Init(target As Excel.Worksheet)
|
||
|
Set data_ = target
|
||
|
End Function
|
||
|
|
||
|
Public Function IBegin() As IteratorComponent
|
||
|
Set IBegin = New IteratorComponent
|
||
|
Call IBegin.Init(data_)
|
||
|
End Function
|
||
|
|
||
|
Public Function ILast() As IteratorComponent
|
||
|
Set ILast = New IteratorComponent
|
||
|
Call ILast.Init(data_)
|
||
|
Call ILast.GoLast
|
||
|
End Function
|
||
|
|
||
|
Public Function INew() As IteratorComponent
|
||
|
Set INew = New IteratorComponent
|
||
|
Call INew.Init(data_)
|
||
|
Call INew.GoLast
|
||
|
Call INew.Increment
|
||
|
End Function
|
||
|
|
||
|
Public Function Contains(sProduct$, sComponent$) As Boolean
|
||
|
Contains = Not Access(sProduct, sComponent) Is Nothing
|
||
|
End Function
|
||
|
|
||
|
Public Function Access(sProduct$, sComponent$) As IteratorComponent
|
||
|
Dim iComp As New IteratorComponent: Call iComp.Init(data_)
|
||
|
Do While Not iComp.IsDone
|
||
|
If iComp.Product = sProduct Then
|
||
|
If iComp.ItemName = sComponent Then
|
||
|
Set Access = iComp
|
||
|
Exit Function
|
||
|
End If
|
||
|
End If
|
||
|
Call iComp.Increment
|
||
|
Loop
|
||
|
End Function
|