Die Beispiele sind unvollständig. Die Klasse hat noch einiges mehr auf Lager. Finde es heraus oder frag nach.
Public Sub testIt() Dim arr() As Variant: arr = Array(1, 2, 3) Dim it As New Iterator: it.initialize arr Do While it.toNext Debug.Print it.key & ": " & it.current Loop End Sub
Public Sub testIt() Dim arr() As Variant: arr = Array(1, 2, 3) Dim it As New Iterator: it.initialize arr Dim key As Variant Dim val As Variant Do While it.toNext(key, val) Debug.Print key & ": " & val Loop End Sub
Public Sub testIt() Dim arr() As Variant: arr = Array(1, 2, 3) Dim it As New Iterator: it.initialize arr it.toEOF Do While it.toPrev Debug.Print it.KEY & ": " & it.current Loop End Sub
Public Sub testIt() Dim arr(3 To 4) As Variant Dim it As New Iterator Dim key As Variant Dim val As Variant arr(3) = 33 arr(4) = 44 it.initialize arr Do While it.toNext(key, val) Debug.Print key & ": " & val Loop End Sub
Public Sub testIt() Dim arr(3 To 4) As Variant Dim it As New Iterator Dim v1, v2, v3 arr(3) = Array(31, 32, 33) arr(4) = Array(41, 42, 44) it.initialize arr Do While it.listNext(v1, v2, v3) Debug.Print v1 & "-" & v2 & "-" & v3 Loop End Sub
31-32-33 41-42-44
Public Sub testIt() Dim rx As New regExp Dim mc As Variant Dim it As Iterator Dim x, y rx.Global = True rx.pattern = "([A-H])([1-8])" Set mc = rx.execute("Springer von A1 auf B3") Set it = New Iterator: it.initialize mc Do While it.toNext Debug.Print it.current.value 'Den gesamten gefunden String ausgeben it.list x, y 'Die 2 Submatches auf x und y verteilen Debug.Print x & ":" & y 'x & y ausegeben Loop End Sub
A1 A:1 B3 B:3
Public Sub testIt() 'Initialiseren des Iterators über initializeRs Dim it As New Iterator: it.initializeRs "SELECT [id], [number_one], [number_two] FROM [_test]" 'Jede ID ausgeben Do While it.toNext Debug.Print it!id Loop it.reset 'Postion zurücksetzen 'Die Felder des Recordsets direkt in die Variablen übertragen Dim id, n1, n2 Do While it.listNext(id, n1, n2) Debug.Print id, n1, n2 Loop End Sub
1 2 3 4 1 11 21 2 12 22 3 13 23 4 14 24
Public Sub testIt() Dim v As Variant 'Initialiseren des Iterators über initializeRs Dim it As New Iterator: it.initializeRs "SELECT [id], [number_one], [number_two] FROM [_test]" 'Erste Zeile als [Fields] auslesen und neuen Iterator daruas erstellen it.toFirst Dim itFields As Iterator: Set itFields = it.subIterator Debug.Print "== Ausgabe: Property current" Do While itFields.toNext print_r itFields.current Loop Debug.Print "== Ausgabe: Property value" itFields.reset 'position zurücksetzen Do While itFields.toNext print_r itFields.value Loop Debug.Print "== Ausgabe: Referenziertes Property current, Iterator mit dem Parameter DaoValue" itFields.reset 'position zurücksetzen itFields.paramDaoValue = True 'Paraeter DaoValue setzen um das Verhalten von current zu ändern Do While itFields.toNext(, v) 'Der zweite Parameter von toNext() entspricht dem current print_r v Loop End Sub
== Ausgabe Property current <Field2> ( [OrdinalPosition] => <Integer> 0 [name] => <String> 'id' [value] => <Long> 1 [type] => <Integer> 4 ) <Field2> ( [OrdinalPosition] => <Integer> 1 [name] => <String> 'number_one' [value] => <Long> 11 [type] => <Integer> 4 ) <Field2> ( [OrdinalPosition] => <Integer> 2 [name] => <String> 'number_two' [value] => <Long> 21 [type] => <Integer> 4 ) == Ausgabe Property value <Long> 1 <Long> 11 <Long> 21 == Ausgabe Property current, Iterator mit dem Parameter DaoValue <Long> 1 <Long> 11 <Long> 21