User Tools

Site Tools


vba:classes:liststream

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:classes:liststream [31.01.2023 16:01:16]
yaslaw [Iterator Methoden]
vba:classes:liststream [02.08.2023 11:40:26] (current)
yaslaw [Funktions-Aliase]
Line 86: Line 86:
     [1] => <​Date>​ 22.03.2020     [1] => <​Date>​ 22.03.2020
     [2] => <​Date>​ 23.03.2020     [2] => <​Date>​ 23.03.2020
 +)</​code>​
 +
 +Achtung! ListStream kann auch statisch verwendet werden. Muss dann aber über initialize() gefüttert werden
 +<code vb>​ListStream.initialize("​[a,​b,​c]"​)
 +d ListStream.list
 +<​Dictionary> ​ (
 +    [0] => <​String>​ '​a'​
 +    [1] => <​String>​ '​b'​
 +    [2] => <​String>​ '​c'​
 +)</​code><​code vb>​Public Sub test1()
 +    ListStream.initialize ("​[a,​b,​c]"​)
 +End Sub
 +
 +Public Sub test2()
 +    d ListStream.list
 +End Sub
 +'​Direktfenster:​
 +test1
 +test2
 +<​Dictionary> ​ (
 +    [0] => <​String>​ '​a'​
 +    [1] => <​String>​ '​b'​
 +    [2] => <​String>​ '​c'​
 )</​code>​ )</​code>​
  
Line 126: Line 149:
   * {Methode}**LS**:​ Bei Methoden die normalerweise einen Wert zurückgeben,​ gibt es hier den LS zurück   * {Methode}**LS**:​ Bei Methoden die normalerweise einen Wert zurückgeben,​ gibt es hier den LS zurück
   * {Methode}**N**:​ Dieselbe Methode, gibt aber kein ListSream zurück sondern den Node. zB: ''​node = obj.popN()''​   * {Methode}**N**:​ Dieselbe Methode, gibt aber kein ListSream zurück sondern den Node. zB: ''​node = obj.popN()''​
 +  * {Methode}**E**:​ Dieselbe Methode, gibt aber kein ListSream zurück sondern die ListStreamEntity.
 Es gibt auch kombinationan davon. zB. **k**Remove**V**() Es gibt auch kombinationan davon. zB. **k**Remove**V**()
   ​   ​
Line 132: Line 156:
 Als Node wird ein einzelner Eintrag bezeichnet inkl. des Keys und der Position in der Liste. Damit es keine weitere Klasse braucht, ist das in dem Fall ein Array(1 to 3). Als Node wird ein einzelner Eintrag bezeichnet inkl. des Keys und der Position in der Liste. Damit es keine weitere Klasse braucht, ist das in dem Fall ein Array(1 to 3).
  
-Die einzelnen ​ELemente ​könne über den Array-Index abgerufen werden. Die Array-Indexe der einzelnene Teile sind im Enum enuWorkWith hinterlegt. Das ergibt eine Array(key, value, index)+Die einzelnen ​Elemente ​könne über den Array-Index abgerufen werden. Die Array-Indexe der einzelnene Teile sind im Enum enuWorkWith hinterlegt. Das ergibt eine Array(key, value, index)
 <code vb>d listStream("​{a:​1,​b:​2,​c:​3}"​).getNode(1) <code vb>d listStream("​{a:​1,​b:​2,​c:​3}"​).getNode(1)
 <​Variant()> ​ ( <​Variant()> ​ (
Line 2417: Line 2441:
     Debug.Print "​newLs",​ ls2.pos ​   ' 1</​code>​     Debug.Print "​newLs",​ ls2.pos ​   ' 1</​code>​
 ==== Statische Hilfsmethoden ==== ==== Statische Hilfsmethoden ====
-Das sind zusätzliche Funktionen, die nicht direkt auf die Liste bezogen sind.+Das sind zusätzliche Funktionen, die nicht direkt auf die Liste bezogen sind. Sie werden intern genutzt, können aber auch anderwertig praktisch sein 
 + 
 +=== isList() === 
 +Eine Prüfung ob ListStream die Variable als Liste und somit als Quelle akzeptiert. 
 +^ Parameter ^ Typ ^ Standard ^ Beschreibung ^ 
 +| list | Variant | | Variable die geprüft werden soll | 
 +| return | Boolean | | Formatierter Wert oder eine Liste mit den Formatierten Werten | 
 + 
 +<code vb>?​ListStream.isList(array(1,​2,​3)) 
 +True 
 + 
 +'Json wird als Liste erkannt 
 +?​ListStream.isList("​[1,​2,​3]"​) 
 +True 
 + 
 +?​ListStream.isList(null) 
 +False 
 + 
 +?​ListStream.isList("​123"​) 
 +False</​code>​
  
 === var2CodeStr() === === var2CodeStr() ===
-Gibt den Value in VBA-Code Form zurück. Kann für Evals etc. benutzt werden+Gibt den Value in VBA-Code Form zurück. Kann für Evals etc. benutzt werden
 +Akzeptiert auch alle Listen wie sie mit der Methode isList() als True zurückgegeben wird
 ^ Parameter ^ Typ ^ Standard ^ Beschreibung ^ ^ Parameter ^ Typ ^ Standard ^ Beschreibung ^
 | item | Variant | | Wert oder Array von Werten der zu Code-String umgewandelt werden soll | | item | Variant | | Wert oder Array von Werten der zu Code-String umgewandelt werden soll |
Line 2440: Line 2484:
  
 ? ListSTream.var2CodeStr(null,​vbString,​sqlNullToEmpty,​ "​N/​A"​) ? ListSTream.var2CodeStr(null,​vbString,​sqlNullToEmpty,​ "​N/​A"​)
-'​N/​A'​</​code> ​   ​+'​N/​A'​
  
 +Set dict = ListStream("​[1,​b]"​).add(DateTime.timeDT).add(null).list
 +? ListStream.var2CodeStr(dict,​ vbString)
 +'​1',​ '​b',​ '​01.02.2023 11:​54:​55',​ NULL
 +</​code> ​   ​
 +
 +=== castValue() ===
 +<code vb>d ListStream.castValue(date,​ vbString)
 +<​String>​ '​01.02.2023'</​code>​
 +
 +=== emptyArray() ===
 +<code vbd>d ListStream.createEmptyArray(vbDate)
 +<​Date()> ​ ()
 +
 +d ListStream.createEmptyArray(vbString,​ 2, 5)
 +<​String()> ​ (
 +    [#5] => <​String>​ ''​
 +    [#6] => <​String>​ ''​
 +)
 +</​code>​
  
 ---- ----
  
vba/classes/liststream.1675177276.txt.gz · Last modified: 31.01.2023 16:01:16 by yaslaw