User Tools

Site Tools


vba:cast:cdict

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:cast:cdict [05.11.2014 09:55:41]
yaslaw
vba:cast:cdict [29.04.2015 11:17:26] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=2.1.1 +    version=3.1.3 
-    vdate=03.10.2014+    vdate=07.01.2015
     fname=cast_cdict.bas     fname=cast_cdict.bas
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 11: Line 11:
  
 ====== [VBA] cDict() ====== ====== [VBA] cDict() ======
-==Version %%version%% - %%vdate%%==+//Einfaches erstellen eines Dictionarays aus Arrays, Collections,​ String, Wertesammlungen.//​
  
 +==Version %%version%% - %%vdate%%==
 Diese Funktion erstellt auf verschiedene Arten ein Dictionary. Diese Funktion erstellt auf verschiedene Arten ein Dictionary.
 \\ Die Funktion alleinstehend macht mässig Sinn. ich brauche sie aber immer mal wieder in anderen Funktionen. zB [[vba:​functions:​strreplace]] \\ Die Funktion alleinstehend macht mässig Sinn. ich brauche sie aber immer mal wieder in anderen Funktionen. zB [[vba:​functions:​strreplace]]
  
 {{%%fname%%|Download %%fname%% (V-%%version%%)}} {{%%fname%%|Download %%fname%% (V-%%version%%)}}
 +
 +>Um aus einem JSON-String ein Dictionary zu erstellen habe ich die Libraray [[vba:​cast:​json]] erstellt.
 +Darum wird dasnicht in der Funktion cDict() abgehandelt
  
 ===== Definitionen ===== ===== Definitionen =====
 +Es gibt verschiedene Varianten um cDict() anzuwenden. Hier ist mal eine Liste verschiedener Anwendungsarten. Beispiele dazu sin weiter unten aufgeführt
 <​code>​Dictionary = cDict(key1, value1 [,key2, value2...[,​key#,​ value#]]) <​code>​Dictionary = cDict(key1, value1 [,key2, value2...[,​key#,​ value#]])
 +
 Dictionary = cDict(array(key1 [,​key2...[,​key#​]]),​ array(value1 [,​value2...[,​value#​]]) Dictionary = cDict(array(key1 [,​key2...[,​key#​]]),​ array(value1 [,​value2...[,​value#​]])
 +
 Dictionary = cDict(array(value1 [,​value2...[,​value#​]]) Dictionary = cDict(array(value1 [,​value2...[,​value#​]])
 +
 Dictionary = cDict(dictionary1 [,​dictionary2...[,​dictionary#​]]) Dictionary = cDict(dictionary1 [,​dictionary2...[,​dictionary#​]])
-Dictionary = cDict(string) + 
-</​code>​+Dictionary = cDict(string)</​code>​ 
 <code vb>​Public Function cDict(ParamArray iItems() As Variant) As dictionary</​code>​ <code vb>​Public Function cDict(ParamArray iItems() As Variant) As dictionary</​code>​
  
Line 87: Line 96:
     [5] => <​String>​ '​E'​     [5] => <​String>​ '​E'​
 )</​code>​ )</​code>​
-==== 2 Arrays: Key-Array und Vale-Array ====+==== 2 Arrays: Key-Array und Value-Array ====
 <​code>​Dictionary = cDict(array(key1 [,​key2...[,​key#​]]),​ array(value1 [,​value2...[,​value#​]])</​code>​ <​code>​Dictionary = cDict(array(key1 [,​key2...[,​key#​]]),​ array(value1 [,​value2...[,​value#​]])</​code>​
 Der Funktion werden 2 Arrays übergeben. Der erste beinhaltet alle Keys, der Zweite die Values. Die Anzahl Einträge hängt nur vom Key-Array ab Der Funktion werden 2 Arrays übergeben. Der erste beinhaltet alle Keys, der Zweite die Values. Die Anzahl Einträge hängt nur vom Key-Array ab
Line 118: Line 127:
 <​code>​Dictionary = cDict(string)</​code>​ <​code>​Dictionary = cDict(string)</​code>​
 %%Ein Dictionary kann auch als String beschrieben werden. So ähnlich einem Set-Statement in einem SQL. %%Ein Dictionary kann auch als String beschrieben werden. So ähnlich einem Set-Statement in einem SQL.
-Dieser beinhalter jeweils ein Key (key in [], ''​ oder ""​),​ eine Zuweisung(=>,​ = oder :) und einem Value (''​ oder ""​ als Delemiter für Strings, ## für Datum und keine Delemiter für Zahlen). Es können mehrere Zuweisungen mit einem Komma getrent übergeben werden%%+Dieser beinhalter jeweils ein Key (key in [], ''​ oder ""​),​ eine Zuweisung(=>,​ = oder :) und einem Value (''​ oder ""​ als Delemiter für Strings, ## für Datum und keine Delemiter für Zahlen). Es können mehrere Zuweisungen mit einem Komma getrent übergeben werden.%%\\ 
 +Ist ein Delemiter Bestandteil des Textes, kann er mit einem \ maskiert werden. Zum Beispiel 'Paddy O\'​Brien'​.
 <code vb>'​2 Verschidene Zuordnungen:​ Zahl, Datum und Text. <code vb>'​2 Verschidene Zuordnungen:​ Zahl, Datum und Text.
 'Man sieht auch die 3 verschiedenen KEy-Value Zuordnungsstrings '​=>',​ '​=',​ ':'​ 'Man sieht auch die 3 verschiedenen KEy-Value Zuordnungsstrings '​=>',​ '​=',​ ':'​
-cDict("​A=> ​3, '​B'​ : #8-9-2014#, 'C' ​= ""​Wert ​'C'""​")+cdict("'A'=>123456,'​B':​123.45,'​C'​=#11-1-2014#,'​3.4':'abc'"​)
 <​Dictionary> ​ ( <​Dictionary> ​ (
-    [A] => <Decimal3 +    [A] => <Long123456 
-    [B] => <​Date> ​09.08.2014 +    [B] => <​Double>​ 123.45 
-    [C] => <​String>​ 'Wert '​C'​'+    [C] => <​Date> ​11.01.2014 
 +    [3.4] => <​String>​ 'abc'
 ) )
 +
  
 'Ein Beispiel um Delemiter zu maskieren 'Ein Beispiel um Delemiter zu maskieren
vba/cast/cdict.1415177741.txt.gz · Last modified: 05.11.2014 09:55:41 by yaslaw