Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
Dictionary.SetValueForKey
Stores value for given key.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
Dictionary | 5.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example |
---|---|---|
DictionaryRef | The reference number to the dictionary. | $dic |
Key | The key to use. Keys are case sensitive. Also keys must be text and should be single line. | "FirstName" |
Value | The new value. Supported data types include empty, text, number, boolean, container, time, timestamp and date. | "Hello World" |
Result
Returns OK or error.
Description
Stores value for given key.Data type is preserved, so you can even store containers in the dictionary.
Keys should be text and are handled case sensitive.
Examples
Build a dictionary in a calculation:
Let ( [
/*
Create new Dictionary
*/
param = MBS( "Dictionary.Create" );
/*
Fill in parameters
*/
r1 = MBS( "Dictionary.SetValueForKey"; param; "text"; Pass Parameters with Dictionary::TextField );
r2 = MBS( "Dictionary.SetValueForKey"; param; "number"; Pass Parameters with Dictionary::NumberField);
r3 = MBS( "Dictionary.SetValueForKey"; param; "date"; Pass Parameters with Dictionary::DateField);
r4 = MBS( "Dictionary.SetValueForKey"; param; "time"; Pass Parameters with Dictionary::TimeField);
r5 = MBS( "Dictionary.SetValueForKey"; param; "timestamp"; Pass Parameters with Dictionary::TimeStampField);
r6 = MBS( "Dictionary.SetValueForKey"; param; "container"; Pass Parameters with Dictionary::ContainerField)
/*
return dictionary
*/
] ; param )
Serialize and unserialize with date and time:
# Create Dictionary
Set Variable [$dict; Value:MBS ( "Dictionary.Create" )]
# put date and time inside:
Set Variable [$r; Value:MBS ( "Dictionary.SetValueForKey"; $dict; "theTime"; Get ( CurrentTime ))]
Set Variable [$r; Value:MBS ( "Dictionary.SetValueForKey"; $dict; "theDate"; Get ( CurrentDate ))]
# Serialize this
Set Variable [$dictEncoded; Value:MBS ( "Dictionary.Serialize"; $dict )]
#Free dictionary
Set Variable [$r; Value:MBS ( "Dictionary.Release"; $dict )]
# Unpack it:
Set Variable [$newDict; Value:MBS ( "Dictionary.Deserialize"; $dictEncoded )]
# and get values
Set Variable [$TheTime; Value: MBS ( "Dictionary.ValueForKey"; $newDict; "theTime" )]
Set Variable [$TheDate; Value: MBS ( "Dictionary.ValueForKey"; $newDict; "theDate" )]
Show Custom Dialog [$TheTime & " " & $TheDate]
Set Variable [$r; Value:MBS ( "Dictionary.Release"; $newDict )]
Create dictionary, add a function and
# create environment
Set Variable [ $CF ; Value: MBS("Dictionary.CreateNamed"; "test" ) ]
#
# Register one function. Replacing older one with same name
Set Variable [ $FunctionName ; Value: "Greet" ]
Set Variable [ $Body ; Value: "/// Name¶¶\"Welcome \" & Name & \"!\"" ]
Set Variable [ $r ; Value: MBS( "Dictionary.SetValueForkey"; "test"; $FunctionName; $Body) ]
#
# now run it
Set Variable [ $r ; Value: MBS("FM.CF"; "test"; "Greet"; "Peter") ]
Show Custom Dialog [ "Result" ; $r ]
#
# cleanup
Set Variable [ $r ; Value: MBS("Dictionary.Release"; "test") ]
See also
- Dictionary.Create
- Dictionary.CreateNamed
- Dictionary.Deserialize
- Dictionary.KeysWithPrefix
- Dictionary.ToJSON
- Dictionary.ToMatrix
- Dictionary.ToXML
- Dictionary.ValueForKey
- Dictionary.ValueTypeForKey
- FM.CF
Example Databases
Blog Entries
- Data structures in MBS Plugin
- Custom Functions stored in a database
- Passing parameters via dictionary functions
This function checks for a license.
Created 12nd December 2014, last changed 18th June 2021