classicdictionaryvalue(
classicdictionaryvalue(
DICTIONARY
,
KEY
)

The classicdictionaryvalue( function returns the value of an item in the dictionary, given its key (see Data Dictionaries). Unlike getdictionaryvalue(, this function does not treat keys as case sensitive.

Parameters

This function has two parameters:

dictionary – is the name of the field or variable that contains the dictionary (must contain binary data).

key – is the name of the key for the value you want to retrieve. The key is not case sensitive, so for example `key`, `Key` and `KEY` all refer to the same item.

Description

The classicdictionaryvalue( function takes a key name and returns the corresponding value from dictionary collection. For example, suppose you created a dictionary and stored it in variable named mailto.

    letfileglobal mailto = initializedictionary(
        "Address","3987 Olive",
        "City","Tustin",
        "State","CA",
        "Zip","92841")

Later, you could use the classicdictionaryvalue( function to retreive different values from the dictionary:

    classicdictionaryvalue(mailto,"Address") ☞ 3987 Olive
    classicdictionaryvalue(mailto,"City") ☞ Tustin
    classicdictionaryvalue(mailto,"State") ☞ CA
    classicdictionaryvalue(mailto,"Zip") ☞ 92841

Unlike the getdictionaryvalue( function, the classicdictionaryvalue( function ignores the case (upper vs. lower) of the key. So these three formulas all produce the same result:

    classicdictionaryvalue(mailto,"city") ☞ Tustin
    classicdictionaryvalue(mailto,"City") ☞ Tustin
    classicdictionaryvalue(mailto,"CITY") ☞ Tustin

This function is named “classic” because in previous versions of Panorama (6 and earlier), the getdictionaryvalue( function also treated keys as case insensitive. So if you have a Panorama 6 (or earlier) database that relies on case insensitive keys, you can modify your formulas to use the classicdictionaryvalue( function for compatibility.

Note that there are a couple of disadvantages to the classicdictionaryvalue( function. First, it is slightly slower than the getdictionaryvalue( function. The speed penalty will be more severe for larger dictionaries.

Secondly, the classicdictionaryvalue( function will not be able to access all dictionary items if a dictionary contains multiple items with keys that are the same except for upper lower case. For example, suppose the dictionary created in the example ablove was modified to add another item with the key `STATE`, like this:

    setdictionaryvalue mailto,"STATE","California"

Now there is both a State item and a STATE item, each with different values. With the getdictionaryvalue( function you can reliably access both of these values. But only one of these values can be accessed by the classicdictionaryvalue( function, the other cannot be reached. Even worse, it is not predictable which value can be accessed and which is unreachable. So if you use the classicdictionaryvalue( function, make sure that all of the keys are different, and none are the same except for upper/lower case. (Note: Panorama 6 had this same problem, but there was no way around it.)

See Also

- appenddictionaryvalue -- appends a value to an item in a dictionary (see Data Dictionaries).
- changedictionaryname -- changes the name (key) of an item in a dictionary (see Data Dictionaries).
- changedictionaryvalues( -- changes one or more values in a dictionary (see Data Dictionaries).
- clearglobaldictionaryvalues -- clears (removes) all the keys and values from the specified global dictionary.
- copypartialdictionary -- builds a new dictionary and initializes it with values from an existing dictionary (see Data Dictionaries).
- copypartialdictionary( -- partially copies a dictionary (see Data Dictionaries).
- Data Dictionaries -- Overview of Panorama's key/value data dictionaries.
- deletedictionaryvalue -- deletes a key/value pair from a dictionary (see Data Dictionaries).
- deletedictionaryvalue( -- deletes one or more key/value pairs from a dictionary (see Data Dictionaries).
- deleteglobaldictionaryvalues -- deletes one or more global dictionary values.
- dictionaryassignmentscode( -- returns code that can be used to take the values in a dictionary (see Data Dictionaries) and assign them to fields or variables based on the dictionary keys.
- dictionarydifference -- builds an array that lists keys of dictionary values that are different between two dictionaries (see Data Dictionaries).
- dictionaryfromarray( -- builds a new dictionary and initializes it from a two dimensional text array (see Data Dictionaries and Text Arrays).
- dictionaryfromvariables( -- builds a new dictionary and initializes it from a list of variables (carriage return delimited).
- dictionaryvalueexists -- returns true or false depending on whether or not a key/value pair exists in a dictionary (see Data Dictionaries).
- dictionaryvalueexists( -- returns true or false depending on whether or not a key/value pair exists in a dictionary (see Data Dictionaries).
- dumpdictionary -- returns a carriage return separated array of dictionary keys and values (see Data Dictionaries).
- dumpdictionary( -- returns a carriage return separated array of dictionary keys and values (see Data Dictionaries).
- dumpdictionaryquoted -- returns a carriage return separated array of dictionary keys and values (see Data Dictionaries).
- dumpdictionaryquoted( -- returns a carriage return separated array of dictionary keys and values (see Data Dictionaries). The text values are quoted.
- dumpdictionarysource( -- returns a carriage return separated array of dictionary keys and values (see Data Dictionaries). The keys and values are quoted so that they could be used to re-assemble the dictionary with the initializedictionary( function.
- getdictionarykey -- returns the key of an item in the dictionary, given its value. This is essentially the opposite of the getdictionaryvalue( function (see Data Dictionaries).
- getdictionarykey( -- returns the key of an item in the dictionary, given its value). This is essentially the opposite of the getdictionaryvalue( function (see Data Dictionaries).
- getdictionaryvalue -- returns the value of an item in the dictionary, given its key (see Data Dictionaries).
- getdictionaryvalue( -- returns the value of an item in the dictionary, given its key (see Data Dictionaries).
- getglobaldictionary( -- converts a global dictionary into a regular dictionary.
- getstructurevalue( -- extracts a value from a structure of nested Data Dictionaries and/or Data Arrays.
- Global Dictionaries -- alertnate high performance method to store multiple data items, much faster than regular data dictionaries.
- globaldictionarybuild -- builds a global dictionary by scanning a database.
- globaldictionarykeys( -- returns a cr()-separated array containing the keys in a global dictionary, or the names of all global dictionaries.
- globaldictionaryvalue( -- returns the value of an item in a global dictionary, given its key (see Global Dictionaries).
- info("timerinfo") -- returns a dictionary that contains all of the properties of the currently running timer.
- initializedictionary -- builds a new dictionary and initializes it with one or more key/value entries (see Data Dictionaries).
- initializedictionary( -- builds a new dictionary and initializes it with zero or more key/value entries (see Data Dictionaries).
- initializedictionaryvalue( -- builds a new dictionary and initializes it with one or more entries (see Data Dictionaries). This function is deprecated, we recommend using the initializedictionary( function instead.
- listdictionarykeys( -- returns a list of the keys in a dictionary collection.
- listdictionarynames -- returns a list of the names (keys) in a dictionary (see Data Dictionaries).
- mergedictionaries -- merges the contents of two or more dictionaries (see Data Dictionaries).
- mergedictionaries( -- merges the contents of two or more dictionaries (see Data Dictionaries).
- renamedictionarykey( -- changes the key (name) of one or more values in a dictionary (see Data Dictionaries).
- setdictionaryvalue -- changes a value in a dictionary (see Data Dictionaries).
- setglobaldictionaryvalues -- sets one or more key/value pairs in a global dictionary.
- setlocalsfromdictionary -- converts a dictionary into a collection of local variables. The names and values of the local variables will be derived from the dictionary contents.
- soundinfo( -- returns a dictionary that contains all of the properties of a sound.
- timerinfo( -- returns a dictionary that contains all of the properties of a timer.

History

Version | Status | Notes
10.2 | New | New in this version (but was added for compatibility with logic that relied on case insensitive keys in Panorama 6).