This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:cast:cdict [12.11.2014 10:17:45] yaslaw [[VBA] cDict()] |
vba:cast:cdict [29.04.2015 11:17:26] (current) yaslaw |
||
---|---|---|---|
Line 1: | Line 1: | ||
<const> | <const> | ||
- | version=3.0.0 | + | version=3.1.3 |
- | vdate=11.11.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]] | ||
Line 18: | Line 19: | ||
{{%%fname%%|Download %%fname%% (V-%%version%%)}} | {{%%fname%%|Download %%fname%% (V-%%version%%)}} | ||
- | Um aus einem JSON-String ein Diuctionary zu erstellen habe ich die Libraray [[vba:cast:json]] erstellt. | + | >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 120: | 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 '=>', '=', ':' | ||
- | d cDict("A=> 3, 'B' : #8-9-2014#, 'C' = ""Wert 'C'""") | + | d cdict("'A'=>123456,'B':123.45,'C'=#11-1-2014#,'3.4':'abc'") |
<Dictionary> ( | <Dictionary> ( | ||
- | [A] => <Decimal> 3 | + | [A] => <Long> 123456 |
- | [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 |