Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides   Examples
New in version: 6.2   6.3   6.4   6.5   7.0   7.1   7.2   7.3   7.4   7.5    Statistic  

Dictionary.Create

Creates a new dictionary.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
Dictionary 5.0 Yes Yes Yes Yes Yes

MBS( "Dictionary.Create" { ; Key; Value } )

Parameters

Parameter Description Example value
Key Optional
Optional, a key.
Value Optional
Optional, a value.

Result

Returns dictionary reference number or error.

Description

Creates a new dictionary.
Dictionaries are hash maps, so lookup is very fast (often faster than search in your FileMaker database). You can use them for storing parameters or lookup tables.
Optionally you can pass keys and values as parameters to this function.

If you looked for assoziative arrays, you are right here.

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 )

Build a dictionary with given Keys and Values:

MBS("Dictionary.Create"; "FirstName"; $FirstName; "LastName"; $LastName; "City"; $City; "Phone"; $Phone; "Email"; $Email)

Test script to look for duplicate UUIDs:

Set Variable [ $dic ; Value: MBS( "Dictionary.Create") ]
Loop
    Set Variable [ $uuid ; Value: Get(UUID) ]
    If [ MBS("Dictionary.HasKey"; $dic; $uuid) ]
        Show Custom Dialog [ "Duplicate!" ; $uuid ]
        Exit Loop If [ 1 ]
    End If
    Set Variable [ $r ; Value: MBS( "Dictionary.SetValueForKey"; $dic; $uuid; $uuid ) ]
End Loop
Set Field [ test::test ; MBS( "Dictionary.Keys"; $dic ) ]
Set Variable [ $r ; Value: MBS( "Dictionary.Release"; $dic ) ]

See also

Example Databases


Dictionary.Count   -   Dictionary.Deserialize

Feedback: Report problem or ask question.




Links
MBS Xojo tutorial videos