Name: caseSensitive

Type: property

Syntax: set the caseSensitive to {true | false}

Summary:
Specifies whether comparisons treat uppercase and lowercase letters as
different. 

Introduced: 1.0

OS: mac, windows, linux, ios, android

Platforms: desktop, server, mobile

Example:
set the caseSensitive to true

Value (bool):
The <caseSensitive> is true or false.
By default, the <caseSensitive> <property> is set to false.

Description:
Use the <caseSensitive> <property> to control the behavior of text
comparisons. 

The <caseSensitive> <property> <control|controls> the <behavior> of the
all <string> comparisons, including the comparison <operator|operators>
<=>, <&gt;>, <&lt;>, <&gt;=>, <&lt;=>, <is in>, <is among>, 
<is not among>,  and <contains>; the <command|commands> <filter>, 
<find>, and <replace>; and the <function|functions> <offset>, 
<itemOffset>, <wordOffset>, <lineOffset>, and <replaceText>.

If the <caseSensitive> <property> is set to true, all the <LiveCode>
terms listed above, as well as all other <string> comparisons, treat
uppercase and lowercase letters as different. For example, a search for
"Apple" does not find the <string> "apple" or "APPLE", and the
<expression> "APPLE" = "apple" <evaluate|evaluates> to false.

If the <caseSensitive> is false, uppercase letters are treated as equal
to their lowercase equivalents: a search for "Apple" finds strings such
as "apple" or "APPLE" without paying attention to the case of each
letter, and the expression "APPLE" = "apple" <evaluate|evaluates> to
true. 

The <caseSensitive> also affects <custom property> names and <array>
<key> names. If the <caseSensitive> is true, <custom property> names
that differ only in the case of their letters are treated as different
<custom property|custom properties>. If the <caseSensitive> is false,
<custom property> names that differ only in letter case cannot be
distinguished from each other. The same is true for the <keys> of
<array> <element|elements>.

Since the <caseSensitive> is a local property, its <value> is <reset> to
false when the current <handler> finishes <execute|executing>. It
retains its <value> only for the current <handler>, and setting it in
one <handler> does not affect its <value> in other <handler|handlers> it
<call|calls>. 

>*Important:* <message|Messages>, <object(glossary)> names, and
> <LiveCode> terms are never treated as <case-sensitive>, even if the
> <caseSensitive> is set to true.

References: replace (command), find (command), filter (command),
reset (command), wordOffset (function), offset (function),
value (function), lineOffset (function), replaceText (function),
keys (function), itemOffset (function), object (glossary),
element (glossary), call (glossary), property (glossary),
evaluate (glossary), behavior (glossary), operator (glossary),
case-sensitive (glossary), array (glossary), execute (glossary),
expression (glossary), command (glossary), function (glossary),
LiveCode (glossary), custom property (glossary), key (glossary),
message (glossary), handler (glossary), 
string (keyword), = (operator), contains (operator), &gt; (operator),
&gt;= (operator), is among (operator), is not among (operator), 
&lt; (operator), &lt;= (operator), is in (operator), 
wholeMatches (property)

Tags: database

