Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.ahk.ref is written in an unsupported language. File is not indexed.
0001 <Keys and buttons>^j</Keys and buttons><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; hotkey label</Comment><br/> 0002 <Symbol>::</Symbol><Normal Text>ftw</Normal Text><Symbol>::</Symbol><Normal Text>Free the whales </Normal Text><Comment>; hotstring label abbreviation</Comment><br/> 0003 <Symbol>::</Symbol><Normal Text>btw</Normal Text><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; hotstring label action</Comment><br/> 0004 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You typed btw.</Normal Text><br/> 0005 <Commands>Run</Commands><Symbol>,</Symbol><Normal Text> notepad.exe </Normal Text><Comment>; Run Notepad when you press CTRL+N.</Comment><br/> 0006 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> Wow</Normal Text><Keys and buttons>!</Keys and buttons><br/> 0007 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> There are</Normal Text><br/> 0008 <Commands>Run</Commands><Symbol>,</Symbol><Normal Text> notepad.exe</Normal Text><br/> 0009 <Commands>WinActivate</Commands><Symbol>,</Symbol><Normal Text> Untitled - Notepad</Normal Text><br/> 0010 <Commands>WinWaitActive</Commands><Symbol>,</Symbol><Normal Text> Untitled - Notepad</Normal Text><br/> 0011 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> 7 lines</Normal Text><Symbol>{</Symbol><Normal Text>!</Normal Text><Symbol>}{</Symbol><Keys and buttons>Enter</Keys and buttons><Symbol>}</Symbol><br/> 0012 <Commands>SendInput</Commands><Symbol>,</Symbol><Normal Text> inside the CTRL</Normal Text><Symbol>{</Symbol><Normal Text>+</Normal Text><Symbol>}</Symbol><Normal Text>J hotkey.</Normal Text><br/> 0013 <Flow of control>return</Flow of control><br/> 0014 <Normal Text></Normal Text><br/> 0015 <Keys and buttons>Numpad0 & Numpad1</Keys and buttons><Symbol>::</Symbol><br/> 0016 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You pressed Numpad1 while holding down Numpad0.</Normal Text><br/> 0017 <Commands>Run</Commands><Symbol>,</Symbol><Normal Text> notepad.exe</Normal Text><br/> 0018 <Flow of control>return</Flow of control><br/> 0019 <Normal Text></Normal Text><br/> 0020 <Comment>; Untitled - Notepad</Comment><br/> 0021 <Directives>#IfWinActive</Directives><Normal Text> Untitled - Notepad</Normal Text><br/> 0022 <Keys and buttons>!q</Keys and buttons><Symbol>::</Symbol><br/> 0023 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You pressed ALT</Normal Text><Keys and buttons>+Q</Keys and buttons><Normal Text> in Notepad.</Normal Text><br/> 0024 <Flow of control>return</Flow of control><br/> 0025 <Normal Text></Normal Text><br/> 0026 <Comment>; Any window that isn't Untitled - Notepad</Comment><br/> 0027 <Directives>#IfWinActive</Directives><br/> 0028 <Keys and buttons>!q</Keys and buttons><Symbol>::</Symbol><br/> 0029 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You pressed ALT</Normal Text><Keys and buttons>+Q</Keys and buttons><Normal Text> in any window.</Normal Text><br/> 0030 <Flow of control>return</Flow of control><br/> 0031 <Normal Text></Normal Text><br/> 0032 <Comment>; Retrieve the ID/HWND of the active window</Comment><br/> 0033 <Keywords>id</Keywords><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>WinExist</Functions><Symbol>(</Symbol><String>"A"</String><Symbol>)</Symbol><br/> 0034 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Keywords>id</Keywords><br/> 0035 <Normal Text></Normal Text><br/> 0036 <Comment>; Press Win+↑ to maximize the active window</Comment><br/> 0037 <Keys and buttons>#Up</Keys and buttons><Symbol>::</Symbol><Commands>WinMaximize</Commands><Symbol>,</Symbol><Normal Text> A</Normal Text><br/> 0038 <Normal Text></Normal Text><br/> 0039 <Keys and buttons>#i</Keys and buttons><Symbol>::</Symbol><br/> 0040 <Commands>Run</Commands><Symbol>,</Symbol><Normal Text> https://www.google.com/</Normal Text><br/> 0041 <Flow of control>return</Flow of control><br/> 0042 <Normal Text></Normal Text><br/> 0043 <Keys and buttons>^p</Keys and buttons><Symbol>::</Symbol><br/> 0044 <Commands>Run</Commands><Symbol>,</Symbol><Normal Text> notepad.exe</Normal Text><br/> 0045 <Flow of control>return</Flow of control><br/> 0046 <Normal Text></Normal Text><br/> 0047 <Keys and buttons>~j</Keys and buttons><Symbol>::</Symbol><br/> 0048 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> ack</Normal Text><br/> 0049 <Flow of control>return</Flow of control><br/> 0050 <Normal Text></Normal Text><br/> 0051 <Symbol>:*:</Symbol><Normal Text>acheiv</Normal Text><Symbol>::</Symbol><Normal Text>achiev</Normal Text><br/> 0052 <Symbol>::</Symbol><Normal Text>achievment</Normal Text><Symbol>::</Symbol><Normal Text>achievement</Normal Text><br/> 0053 <Symbol>::</Symbol><Normal Text>acquaintence</Normal Text><Symbol>::</Symbol><Normal Text>acquaintance</Normal Text><br/> 0054 <Symbol>:*:</Symbol><Normal Text>adquir</Normal Text><Symbol>::</Symbol><Normal Text>acquir</Normal Text><br/> 0055 <Symbol>::</Symbol><Normal Text>aquisition</Normal Text><Symbol>::</Symbol><Normal Text>acquisition</Normal Text><br/> 0056 <Symbol>:*:</Symbol><Normal Text>agravat</Normal Text><Symbol>::</Symbol><Normal Text>aggravat</Normal Text><br/> 0057 <Symbol>:*:</Symbol><Normal Text>allign</Normal Text><Symbol>::</Symbol><Normal Text>align</Normal Text><br/> 0058 <Symbol>::</Symbol><Normal Text>ameria</Normal Text><Symbol>::</Symbol><Normal Text>America</Normal Text><br/> 0059 <Symbol>:*:</Symbol><Normal Text>ftw</Normal Text><Symbol>::</Symbol><Normal Text>Free the whales </Normal Text><Comment>; Hotstring modifiers</Comment><br/> 0060 <Normal Text>this_is_a_label: </Normal Text><Comment>; label</Comment><br/> 0061 <Normal Text></Normal Text><br/> 0062 <Directives>#IfWinActive</Directives><Normal Text> Untitled - Notepad</Normal Text><br/> 0063 <Keys and buttons>#Space</Keys and buttons><Symbol>::</Symbol><br/> 0064 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You pressed WIN</Normal Text><Keys and buttons>+SPACE</Keys and buttons><Normal Text> in Notepad.</Normal Text><br/> 0065 <Flow of control>return</Flow of control><br/> 0066 <Normal Text></Normal Text><br/> 0067 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl down</Keys and buttons><Symbol>}</Symbol><Normal Text>c</Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl up</Keys and buttons><Symbol>}</Symbol><br/> 0068 <Commands>SendInput</Commands><Symbol>,</Symbol><Normal Text> [b]</Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl down</Keys and buttons><Symbol>}</Symbol><Normal Text>v</Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl up</Keys and buttons><Symbol>}</Symbol><Normal Text>[/b]</Normal Text><br/> 0069 <Flow of control>return</Flow of control><Normal Text> </Normal Text><Comment>; This ends the hotkey. The code below this point will not get triggered.</Comment><br/> 0070 <Normal Text></Normal Text><br/> 0071 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> This text has been typed</Normal Text><Symbol>{</Symbol><Normal Text>!</Normal Text><Symbol>}</Symbol><br/> 0072 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>a</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; WRONG</Comment><br/> 0073 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>a</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>b</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>c</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; WRONG</Comment><br/> 0074 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>abc</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; WRONG</Comment><br/> 0075 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> abc </Normal Text><Comment>; CORRECT</Comment><br/> 0076 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Keys and buttons>^s</Keys and buttons><Normal Text> </Normal Text><Comment>; Both of these send CTRL+S</Comment><br/> 0077 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl down</Keys and buttons><Symbol>}</Symbol><Normal Text>s</Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl up</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; Both of these send CTRL+S</Comment><br/> 0078 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl down</Keys and buttons><Symbol>}</Symbol><Normal Text>c</Normal Text><Symbol>{</Symbol><Keys and buttons>Ctrl up</Keys and buttons><Symbol>}</Symbol><br/> 0079 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>b down</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>b up</Keys and buttons><Symbol>}</Symbol><br/> 0080 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Tab down</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>Tab up</Keys and buttons><Symbol>}</Symbol><br/> 0081 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Up down</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; Press down the up-arrow key.</Comment><br/> 0082 <Flow of control>Sleep</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>1000</Decimal><Normal Text> </Normal Text><Comment>; Keep it down for one second.</Comment><br/> 0083 <Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Up up</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; Release the up-arrow key.</Comment><br/> 0084 <Normal Text></Normal Text><br/> 0085 <Commands>Send</Commands><Symbol>,</Symbol><br/> 0086 <Symbol>(</Symbol><br/> 0087 <Normal Text>Line 1</Normal Text><br/> 0088 <Normal Text>Line 2</Normal Text><br/> 0089 <Normal Text>Apples are a fruit.</Normal Text><br/> 0090 <Symbol>)</Symbol><br/> 0091 <Normal Text></Normal Text><br/> 0092 <Commands>Send</Commands><Normal Text> </Normal Text><Variables>%A_Hour%</Variables><br/> 0093 <Functions>SubStr</Functions><Symbol>(</Symbol><Decimal>37</Decimal><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Decimal>12</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>)</Symbol><br/> 0094 <Functions>SubStr</Functions><Symbol>(</Symbol><Variables>A_Hour</Variables><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text> </Normal Text><Decimal>12</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>)</Symbol><br/> 0095 <Functions>SubStr</Functions><Symbol>(</Symbol><Variables>A_AhkPath</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Functions>InStr</Functions><Symbol>(</Symbol><Variables>A_AhkPath</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><String>"AutoHotkey"</String><Symbol>))</Symbol><br/> 0096 <Functions>SubStr</Functions><Symbol>(</Symbol><String>"I'm scripting, awesome!"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>16</Decimal><Symbol>)</Symbol><br/> 0097 <Normal Text></Normal Text><br/> 0098 <Commands>SetTitleMatchMode</Commands><Normal Text> RegEx</Normal Text><br/> 0099 <Commands>WinActivate</Commands><Normal Text> ahk_exe i</Normal Text><Symbol>)</Symbol><String Char>\\</String Char><Regex>notepad</Regex><String Char>\.</String Char><Regex>exe</Regex><Symbol>$</Symbol><Normal Text> </Normal Text><Comment>; Match the name part of the full path.</Comment><br/> 0100 <Commands>WinActivate</Commands><Normal Text> ahk_exe im</Normal Text><Symbol>)(*</Symbol><Regex>BSR_ANYCRLF</Regex><Symbol>)</Symbol><Regex>abc</Regex><String Char>\R</String Char><Regex>xyz</Regex><br/> 0101 <Commands>WinActivate</Commands><Normal Text> ahk_exe im</Normal Text><Symbol>)(*</Symbol><Regex>BSR_ANY</Regex><Symbol>[^</Symbol><Regex>]</Regex><Symbol>]</Symbol><Regex>CRLF</Regex><Symbol>)</Symbol><Regex>abc</Regex><String Char>\R</String Char><Regex>xyz</Regex><br/> 0102 <Normal Text></Normal Text><br/> 0103 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>MyVar</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Symbol>)</Symbol><br/> 0104 <Symbol>{</Symbol><br/> 0105 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> MyVar equals </Normal Text><Variables>%MyVar%</Variables><Keys and buttons>!!</Keys and buttons><br/> 0106 <Normal Text> </Normal Text><Flow of control>ExitApp</Flow of control><br/> 0107 <Symbol>}</Symbol><br/> 0108 <Normal Text></Normal Text><br/> 0109 <Normal Text>MyVar </Normal Text><Symbol>=</Symbol><Normal Text> Text</Normal Text><br/> 0110 <Normal Text>MyVar </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>%MyVar2%</Variables><br/> 0111 <Normal Text>MyVar </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>%MyVar2%</Variables><Normal Text> some text </Normal Text><Variables>%MyVar3%</Variables><Normal Text>.</Normal Text><br/> 0112 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>SubStr</Functions><Symbol>(</Symbol><String>"I'm scripting, awesome!"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>16</Decimal><Symbol>)</Symbol><br/> 0113 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Text"</String><br/> 0114 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>MyVar2</Variables><br/> 0115 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>6</Decimal><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>8</Decimal><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Normal Text> </Normal Text><Symbol>-</Symbol><Normal Text> </Normal Text><Functions>Sqrt</Functions><Symbol>(</Symbol><Decimal>9</Decimal><Symbol>)</Symbol><br/> 0116 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"The value of 5 + "</String><Normal Text> </Normal Text><Variables>MyVar2</Variables><Normal Text> </Normal Text><String>" is: "</String><Normal Text> </Normal Text><Decimal>5</Decimal><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Variables>MyVar2</Variables><br/> 0117 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><Variables>Var2</Variables><Symbol>)</Symbol><br/> 0118 <Normal Text> Var1 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>Var2</Variables><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>100</Decimal><br/> 0119 <Normal Text></Normal Text><br/> 0120 <Comment>; Some examples showing when to use percents and when not:</Comment><br/> 0121 <Normal Text>Var </Normal Text><Symbol>=</Symbol><Normal Text> Text </Normal Text><Comment>; Assign some text to a variable (legacy).</Comment><br/> 0122 <Keywords>Number</Keywords><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>6</Decimal><Normal Text> </Normal Text><Comment>; Assign a number to a variable (expression).</Comment><br/> 0123 <Normal Text>Var2 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>%Var%</Variables><Normal Text> </Normal Text><Comment>; Assign a variable to another (legacy).</Comment><br/> 0124 <Normal Text>Var3 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>Var</Variables><Normal Text> </Normal Text><Comment>; Assign a variable to another (expression).</Comment><br/> 0125 <Normal Text>Var4 </Normal Text><Symbol>.=</Symbol><Normal Text> Var </Normal Text><Comment>; Append a variable to the end of another (expression).</Comment><br/> 0126 <Normal Text>Var5 </Normal Text><Symbol>+=</Symbol><Normal Text> </Normal Text><Variables>Var</Variables><Normal Text> </Normal Text><Comment>; Add the value of a variable to another (expression).</Comment><br/> 0127 <Normal Text>Var5 </Normal Text><Symbol>-=</Symbol><Normal Text> </Normal Text><Variables>Var</Variables><Normal Text> </Normal Text><Comment>; Subtract the value of a variable from another (expression).</Comment><br/> 0128 <Normal Text>Var6 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>SubStr</Functions><Symbol>(</Symbol><Variables>Var</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Variable inside a function. This is always an expression.</Comment><br/> 0129 <Normal Text>Var7 </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>%Var%</Variables><Normal Text> Text </Normal Text><Comment>; Assigns a variable to another with some extra text (legacy).</Comment><br/> 0130 <Normal Text>Var8 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>Var</Variables><Normal Text> </Normal Text><String>" Text"</String><Normal Text> </Normal Text><Comment>; Assigns a variable to another with some extra text (expression).</Comment><br/> 0131 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%Var%</Variables><Normal Text> </Normal Text><Comment>; Variable inside a command.</Comment><br/> 0132 <Commands>StringSplit</Commands><Symbol>,</Symbol><Normal Text> Var</Normal Text><Symbol>,</Symbol><Normal Text> Var</Normal Text><Symbol>,</Symbol><Normal Text> x </Normal Text><Comment>; Variable inside a command that uses InputVar and OutputVar.</Comment><br/> 0133 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>Number</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>6</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Whenever an IF has parentheses, it'll be an expression. So no percent signs.</Comment><br/> 0134 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>Var</Variables><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><Keywords>Number</Keywords><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Whenever an IF has parentheses, it'll be an expression. So no percent signs.</Comment><br/> 0135 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Keywords>Number</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>6</Decimal><Normal Text> </Normal Text><Comment>; Without parentheses, the IF is legacy. However, only variables on the 'right side' need percent signs.</Comment><br/> 0136 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol><</Symbol><Normal Text> </Normal Text><Variables>%Var2%</Variables><Normal Text> </Normal Text><Comment>; Without parentheses, the IF is legacy. However, only variables on the 'right side' need percent signs.</Comment><br/> 0137 <Normal Text></Normal Text><br/> 0138 <Normal Text>MyObject </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>[</Symbol><String>"one"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"two"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"three"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>17</Decimal><Symbol>]</Symbol><br/> 0139 <Normal Text>Banana </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><String>"Color"</String><Symbol>:</Symbol><Normal Text> </Normal Text><String>"Yellow"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Taste"</String><Symbol>:</Symbol><Normal Text> </Normal Text><String>"Delicious"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Price"</String><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>}</Symbol><br/> 0140 <Normal Text>MyObject </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>Array</Functions><Symbol>(</Symbol><String>"one"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"two"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"three"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>17</Decimal><Symbol>)</Symbol><br/> 0141 <Normal Text>Banana </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>Object</Functions><Symbol>(</Symbol><String>"Color"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Yellow"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Taste"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Delicious"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"Price"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>3</Decimal><Symbol>)</Symbol><br/> 0142 <Normal Text>Banana</Normal Text><Symbol>[</Symbol><String>"Pickled"</String><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>True</Variables><Normal Text> </Normal Text><Comment>; This banana has been pickled. Eww.</Comment><br/> 0143 <Normal Text>Banana</Normal Text><Symbol>.</Symbol><Normal Text>Consistency </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Mushy"</String><br/> 0144 <Normal Text>Value </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>Banana</Variables><Symbol>[</Symbol><String>"Color"</String><Symbol>]</Symbol><br/> 0145 <Normal Text>Value </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>Banana</Variables><Symbol>.</Symbol><Keywords>Color</Keywords><br/> 0146 <Normal Text>MyObject</Normal Text><Symbol>[</Symbol><String>"NewerKey"</String><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Float>3.1415</Float><br/> 0147 <Normal Text>MyObject</Normal Text><Symbol>.</Symbol><Normal Text>NewKey </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Shiny"</String><br/> 0148 <Normal Text>MyObject</Normal Text><Symbol>.</Symbol><Normal Text>Push</Normal Text><Symbol>(</Symbol><Variables>Value1</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Value2</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Value3</Variables><Symbol>...)</Symbol><br/> 0149 <Normal Text>Banana</Normal Text><Symbol>.</Symbol><Normal Text>Consistency </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><br/> 0150 <Normal Text>RemovedValue </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>MyObject</Variables><Symbol>.</Symbol><Keys and buttons>Delete</Keys and buttons><Symbol>(</Symbol><Variables>AnyKey</Variables><Symbol>)</Symbol><br/> 0151 <Normal Text>NumberOfRemovedKeys </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>MyObject</Variables><Symbol>.</Symbol><Keys and buttons>Delete</Keys and buttons><Symbol>(</Symbol><Variables>FirstKey</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>LastKey</Variables><Symbol>)</Symbol><br/> 0152 <Normal Text>arr </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>[{}]</Symbol><Normal Text> </Normal Text><Comment>; Creates an array containing an object.</Comment><br/> 0153 <Normal Text>arr</Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{}</Symbol><Normal Text> </Normal Text><Comment>; Creates a second object, implicitly freeing the first object.</Comment><br/> 0154 <Normal Text>arr</Normal Text><Symbol>.</Symbol><Normal Text>RemoveAt</Normal Text><Symbol>(</Symbol><Decimal>1</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Removes and frees the second object.</Comment><br/> 0155 <Normal Text>x </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{},</Symbol><Normal Text> y </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{}</Symbol><Normal Text> </Normal Text><Comment>; Create two objects.</Comment><br/> 0156 <Normal Text>x</Normal Text><Symbol>.</Symbol><Normal Text>child </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>y</Variables><Symbol>,</Symbol><Normal Text> y</Normal Text><Symbol>.</Symbol><Normal Text>parent </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>x</Variables><Normal Text> </Normal Text><Comment>; Create a circular reference.</Comment><br/> 0157 <Normal Text>y</Normal Text><Symbol>.</Symbol><Normal Text>parent </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><br/> 0158 <Normal Text>x </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><Symbol>,</Symbol><Normal Text> y </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><br/> 0159 <Normal Text>table</Normal Text><Symbol>.</Symbol><Normal Text>base</Normal Text><Symbol>.</Symbol><Normal Text>__Get</Normal Text><Symbol>(</Symbol><Variables>table</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>x</Variables><Symbol>)[</Symbol><Variables>y</Variables><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>content</Variables><Normal Text> </Normal Text><Comment>; A</Comment><br/> 0160 <Normal Text>table</Normal Text><Symbol>.</Symbol><Normal Text>base</Normal Text><Symbol>.</Symbol><Normal Text>__Set</Normal Text><Symbol>(</Symbol><Variables>table</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>x</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>y</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>content</Variables><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; B</Comment><br/> 0161 <Normal Text>RemovedValue </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>MyObject</Variables><Symbol>.</Symbol><Variables>RemoveAt</Variables><Symbol>(</Symbol><Variables>Index</Variables><Symbol>)</Symbol><br/> 0162 <Normal Text>NumberOfRemovedKeys </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>MyObject</Variables><Symbol>.</Symbol><Variables>RemoveAt</Variables><Symbol>(</Symbol><Variables>Index</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Length</Variables><Symbol>)</Symbol><br/> 0163 <Normal Text>val </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>obj</Variables><Symbol>.</Symbol><Keywords>Property</Keywords><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>42</Decimal><br/> 0164 <Normal Text>m1 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>new</Keywords><Normal Text> </Normal Text><Variables>GMem</Variables><Symbol>(</Symbol><Decimal>0</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>20</Decimal><Symbol>)</Symbol><br/> 0165 <Normal Text>m2 </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keywords>base</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Variables>GMem</Variables><Symbol>}.</Symbol><Keywords>__New</Keywords><Symbol>(</Symbol><Decimal>0</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>30</Decimal><Symbol>)</Symbol><br/> 0166 <Normal Text>x </Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Variables>CallIfTrue</Variables><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Variables>CallIfFalse</Variables><Symbol>()</Symbol><br/> 0167 <Normal Text>ProductIsAvailable </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Red"</String><Symbol>)</Symbol><br/> 0168 <Normal Text> </Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Variables>false</Variables><Normal Text> </Normal Text><Comment>; We don't have any red products, so don't bother calling the function.</Comment><br/> 0169 <Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Variables>ProductIsAvailableInColor</Variables><Symbol>(</Symbol><Variables>Product</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>)</Symbol><br/> 0170 <Normal Text>MyObject</Normal Text><Symbol>.</Symbol><Normal Text>Pop</Normal Text><Symbol>()</Symbol><br/> 0171 <Variables>%Var%</Variables><Symbol>()</Symbol><br/> 0172 <Normal Text></Normal Text><br/> 0173 <Flow of control>Sleep</Flow of control><Normal Text> </Normal Text><Variables>MillisecondsToWait</Variables><br/> 0174 <Flow of control>Sleep</Flow of control><Normal Text> </Normal Text><Variables>%MillisecondsToWait%</Variables><br/> 0175 <Flow of control>Sleep</Flow of control><Normal Text> </Normal Text><Variables>%</Variables><Normal Text> </Normal Text><Variables>MillisecondsToWait</Variables><br/> 0176 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Decimal>1</Decimal><Symbol>+</Symbol><Decimal>1</Decimal><Normal Text> </Normal Text><Comment>; Shows "2"</Comment><br/> 0177 <Commands>MsgBox</Commands><Normal Text> 1</Normal Text><Keys and buttons>+</Keys and buttons><Normal Text>1 </Normal Text><Comment>; Shows "1+1"</Comment><br/> 0178 <Normal Text></Normal Text><br/> 0179 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"This is text."</String><br/> 0180 <Commands>MsgBox</Commands><Normal Text> This is text.</Normal Text><br/> 0181 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Normal Text> </Normal Text><Variables>A_AhkVersion</Variables><br/> 0182 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Variables>%A_AhkVersion%</Variables><br/> 0183 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Variables>%A_AhkVersion%</Variables><br/> 0184 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"Hello %A_UserName%."</String><Normal Text> </Normal Text><Comment>; Shows "%A_UserName%"</Comment><br/> 0185 <Commands>MsgBox</Commands><Normal Text> Hello </Normal Text><Variables>%A_UserName%</Variables><Normal Text>. </Normal Text><Comment>; Shows your username.</Comment><br/> 0186 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"Hello "</String><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Variables>A_UserName</Variables><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><String>"."</String><Normal Text> </Normal Text><Comment>; Shows your username.</Comment><br/> 0187 <Normal Text>MyVar </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"This is text."</String><br/> 0188 <Normal Text>MyVar </Normal Text><Symbol>=</Symbol><Normal Text> This is text.</Normal Text><br/> 0189 <Normal Text></Normal Text><br/> 0190 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>Var2</Variables><Symbol>)</Symbol><br/> 0191 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>%Var2%</Variables><br/> 0192 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol>>=</Symbol><Normal Text> </Normal Text><Keywords>Low</Keywords><Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> </Normal Text><Variables>Var1</Variables><Normal Text> </Normal Text><Symbol><=</Symbol><Normal Text> </Normal Text><Keywords>High</Keywords><Symbol>)</Symbol><br/> 0193 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>Var1</Variables><Normal Text> </Normal Text><Keywords>between</Keywords><Normal Text> </Normal Text><Variables>%Low%</Variables><Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> </Normal Text><Variables>%High%</Variables><br/> 0194 <Normal Text></Normal Text><br/> 0195 <Functions>Format</Functions><Symbol>(</Symbol><String>"{:L}{:U}{:T}"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Commands>input</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Commands>input</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Commands>input</Commands><Symbol>)</Symbol><br/> 0196 <Normal Text></Normal Text><br/> 0197 <Keys and buttons>*#up</Keys and buttons><Symbol>::</Symbol><Commands>MouseMove</Commands><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> -10</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> R </Normal Text><Comment>; Win+UpArrow hotkey => Move cursor upward</Comment><br/> 0198 <Keys and buttons>*#Down</Keys and buttons><Symbol>::</Symbol><Commands>MouseMove</Commands><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> 10</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> R </Normal Text><Comment>; Win+DownArrow => Move cursor downward</Comment><br/> 0199 <Keys and buttons>*#Left</Keys and buttons><Symbol>::</Symbol><Commands>MouseMove</Commands><Symbol>,</Symbol><Normal Text> -10</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> R </Normal Text><Comment>; Win+LeftArrow => Move cursor to the left</Comment><br/> 0200 <Keys and buttons>*#Right</Keys and buttons><Symbol>::</Symbol><Commands>MouseMove</Commands><Symbol>,</Symbol><Normal Text> 10</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> 0</Normal Text><Symbol>,</Symbol><Normal Text> R </Normal Text><Comment>; Win+RightArrow => Move cursor to the right</Comment><br/> 0201 <Normal Text></Normal Text><br/> 0202 <Keys and buttons>*<#RCtrl</Keys and buttons><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; LeftWin + RightControl => Left-click (hold down Control/Shift to Control-Click or Shift-Click).</Comment><br/> 0203 <Commands>SendEvent</Commands><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Blind</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>LButton down</Keys and buttons><Symbol>}</Symbol><br/> 0204 <Commands>KeyWait</Commands><Normal Text> RCtrl </Normal Text><Comment>; Prevents keyboard auto-repeat from repeating the mouse click.</Comment><br/> 0205 <Commands>SendEvent</Commands><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Blind</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>LButton up</Keys and buttons><Symbol>}</Symbol><br/> 0206 <Flow of control>return</Flow of control><br/> 0207 <Normal Text></Normal Text><br/> 0208 <Keys and buttons>*<#AppsKey</Keys and buttons><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; LeftWin + AppsKey => Right-click</Comment><br/> 0209 <Commands>SendEvent</Commands><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Blind</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>RButton down</Keys and buttons><Symbol>}</Symbol><br/> 0210 <Commands>KeyWait</Commands><Normal Text> AppsKey </Normal Text><Comment>; Prevents keyboard auto-repeat from repeating the mouse click.</Comment><br/> 0211 <Commands>SendEvent</Commands><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Blind</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>RButton up</Keys and buttons><Symbol>}</Symbol><br/> 0212 <Flow of control>return</Flow of control><br/> 0213 <Normal Text></Normal Text><br/> 0214 <Directives>#Persistent</Directives><Normal Text> </Normal Text><Comment>; Keep this script running until the user explicitly exits it.</Comment><br/> 0215 <Flow of control>SetTimer</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>WatchPOV</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><br/> 0216 <Flow of control>return</Flow of control><br/> 0217 <Normal Text></Normal Text><br/> 0218 <Normal Text>WatchPOV:</Normal Text><br/> 0219 <Normal Text>POV </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Commands>GetKeyState</Commands><Symbol>(</Symbol><String>"JoyPOV"</String><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Get position of the POV control.</Comment><br/> 0220 <Normal Text>KeyToHoldDownPrev </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>KeyToHoldDown</Variables><Normal Text> </Normal Text><Comment>; Prev now holds the key that was down before (if any).</Comment><br/> 0221 <Normal Text></Normal Text><br/> 0222 <Comment>; Some joysticks might have a smooth/continous POV rather than one in fixed increments.</Comment><br/> 0223 <Comment>; To support them all, use a range:</Comment><br/> 0224 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>POV</Variables><Normal Text> </Normal Text><Symbol><</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; No angle to report</Comment><br/> 0225 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><br/> 0226 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>POV</Variables><Normal Text> </Normal Text><Symbol>></Symbol><Normal Text> </Normal Text><Decimal>31500</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; 315 to 360 degrees: Forward</Comment><br/> 0227 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Up"</String><br/> 0228 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>POV</Variables><Normal Text> </Normal Text><Keywords>between</Keywords><Normal Text> </Normal Text><Decimal>0</Decimal><Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> </Normal Text><Decimal>4500</Decimal><Normal Text> </Normal Text><Comment>; 0 to 45 degrees: Forward</Comment><br/> 0229 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Up"</String><br/> 0230 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>POV</Variables><Normal Text> </Normal Text><Keywords>between</Keywords><Normal Text> </Normal Text><Decimal>4501</Decimal><Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> </Normal Text><Decimal>13500</Decimal><Normal Text> </Normal Text><Comment>; 45 to 135 degrees: Right</Comment><br/> 0231 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Right"</String><br/> 0232 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>POV</Variables><Normal Text> </Normal Text><Keywords>between</Keywords><Normal Text> </Normal Text><Decimal>13501</Decimal><Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> </Normal Text><Decimal>22500</Decimal><Normal Text> </Normal Text><Comment>; 135 to 225 degrees: Down</Comment><br/> 0233 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Down"</String><br/> 0234 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Comment>; 225 to 315 degrees: Left</Comment><br/> 0235 <Normal Text> KeyToHoldDown </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Left"</String><br/> 0236 <Normal Text></Normal Text><br/> 0237 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>KeyToHoldDown</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Variables>KeyToHoldDownPrev</Variables><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; The correct key is already down (or no key is needed).</Comment><br/> 0238 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Comment>; Do nothing.</Comment><br/> 0239 <Normal Text></Normal Text><br/> 0240 <Comment>; Otherwise, release the previous key and press down the new key:</Comment><br/> 0241 <Commands>SetKeyDelay</Commands><Normal Text> -1 </Normal Text><Comment>; Avoid delays between keystrokes.</Comment><br/> 0242 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>KeyToHoldDownPrev</Variables><Normal Text> </Normal Text><Comment>; There is a previous key to release.</Comment><br/> 0243 <Normal Text> </Normal Text><Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>%KeyToHoldDownPrev% up</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; Release it.</Comment><br/> 0244 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>KeyToHoldDown</Variables><Normal Text> </Normal Text><Comment>; There is a key to press down.</Comment><br/> 0245 <Normal Text> </Normal Text><Commands>Send</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>%KeyToHoldDown% down</Keys and buttons><Symbol>}</Symbol><Normal Text> </Normal Text><Comment>; Press it down.</Comment><br/> 0246 <Flow of control>return</Flow of control><br/> 0247 <Normal Text></Normal Text><br/> 0248 <Keys and buttons><^>!m</Keys and buttons><Symbol>::</Symbol><Commands>MsgBox</Commands><Normal Text> You pressed AltGr</Normal Text><Keys and buttons>+m</Keys and buttons><Normal Text>.</Normal Text><br/> 0249 <Keys and buttons><^<!m</Keys and buttons><Symbol>::</Symbol><Commands>MsgBox</Commands><Normal Text> You pressed LeftControl</Normal Text><Keys and buttons>+LeftAlt+m</Keys and buttons><Normal Text>.</Normal Text><br/> 0250 <Normal Text></Normal Text><br/> 0251 <Keys and buttons>AppsKey</Keys and buttons><Symbol>::</Symbol><Commands>ToolTip</Commands><Normal Text> Press </Normal Text><Keys and buttons><</Keys and buttons><Normal Text> or </Normal Text><Keys and buttons>></Keys and buttons><Normal Text> to cycle through windows.</Normal Text><br/> 0252 <Keys and buttons>AppsKey Up</Keys and buttons><Symbol>::</Symbol><Commands>ToolTip</Commands><br/> 0253 <Keys and buttons>~AppsKey & <</Keys and buttons><Symbol>::</Symbol><Commands>Send</Commands><Normal Text> </Normal Text><Keys and buttons>!+</Keys and buttons><Symbol>{</Symbol><Keys and buttons>Esc</Keys and buttons><Symbol>}</Symbol><br/> 0254 <Keys and buttons>~AppsKey & ></Keys and buttons><Symbol>::</Symbol><Commands>Send</Commands><Normal Text> </Normal Text><Keys and buttons>!</Keys and buttons><Symbol>{</Symbol><Keys and buttons>Esc</Keys and buttons><Symbol>}</Symbol><br/> 0255 <Normal Text></Normal Text><br/> 0256 <Comment>; Press AppsKey and Alt in any order, then slash (/).</Comment><br/> 0257 <Directives>#if</Directives><Normal Text> </Normal Text><Commands>GetKeyState</Commands><Symbol>(</Symbol><String>"AppsKey"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"P"</String><Symbol>)</Symbol><br/> 0258 <Keys and buttons>Alt & /</Keys and buttons><Symbol>::</Symbol><Commands>MsgBox</Commands><Normal Text> Hotkey activated.</Normal Text><br/> 0259 <Normal Text></Normal Text><br/> 0260 <Comment>; If the keys are swapped, Alt must be pressed first (use one at a time):</Comment><br/> 0261 <Directives>#if</Directives><Normal Text> </Normal Text><Commands>GetKeyState</Commands><Symbol>(</Symbol><String>"Alt"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"P"</String><Symbol>)</Symbol><br/> 0262 <Keys and buttons>AppsKey & /</Keys and buttons><Symbol>::</Symbol><Commands>MsgBox</Commands><Normal Text> Hotkey activated.</Normal Text><br/> 0263 <Normal Text></Normal Text><br/> 0264 <Comment>; [ & ] & \::</Comment><br/> 0265 <Directives>#if</Directives><Normal Text> </Normal Text><Commands>GetKeyState</Commands><Symbol>(</Symbol><String>"["</String><Symbol>)</Symbol><Normal Text> && </Normal Text><Commands>GetKeyState</Commands><Symbol>(</Symbol><String>"]"</String><Symbol>)</Symbol><br/> 0266 <Normal Text>\::</Normal Text><Commands>MsgBox</Commands><br/> 0267 <Normal Text></Normal Text><br/> 0268 <Comment>; Ctrl+Shift+O to open containing folder in Explorer.</Comment><br/> 0269 <Comment>; Ctrl+Shift+E to open folder with current file selected.</Comment><br/> 0270 <Comment>; Supports SciTE and Notepad++.</Comment><br/> 0271 <Keys and buttons>^+o</Keys and buttons><Symbol>::</Symbol><br/> 0272 <Keys and buttons>^+e</Keys and buttons><Symbol>::</Symbol><br/> 0273 <Normal Text> editor_open_folder</Normal Text><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0274 <Normal Text> </Normal Text><Commands>WinGetTitle</Commands><Symbol>,</Symbol><Normal Text> path</Normal Text><Symbol>,</Symbol><Normal Text> A</Normal Text><br/> 0275 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Functions>RegExMatch</Functions><Symbol>(</Symbol><Variables>path</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><String>"\*?\K(.*)\\[^\\]+(?= [-*] )"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>path</Variables><Symbol>)</Symbol><br/> 0276 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Functions>FileExist</Functions><Symbol>(</Symbol><Variables>path</Variables><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>&&</Symbol><Normal Text> </Normal Text><Variables>A_ThisHotkey</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"^+e"</String><Symbol>)</Symbol><br/> 0277 <Normal Text> </Normal Text><Commands>Run</Commands><Normal Text> explorer.exe /select</Normal Text><String Char>`,</String Char><Normal Text>"</Normal Text><Variables>%path%</Variables><Normal Text>"</Normal Text><br/> 0278 <Normal Text> </Normal Text><Flow of control>else</Flow of control><br/> 0279 <Normal Text> </Normal Text><Commands>Run</Commands><Normal Text> explorer.exe "</Normal Text><Variables>%path1%</Variables><Normal Text>"</Normal Text><br/> 0280 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0281 <Normal Text></Normal Text><br/> 0282 <Keys and buttons>#h</Keys and buttons><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; Win+H hotkey</Comment><br/> 0283 <Comment>; Get the text currently selected. The clipboard is used instead of</Comment><br/> 0284 <Comment>; "ControlGet Selected" because it works in a greater variety of editors</Comment><br/> 0285 <Comment>; (namely word processors). Save the current clipboard contents to be</Comment><br/> 0286 <Comment>; restored later. Although this handles only plain text, it seems better</Comment><br/> 0287 <Comment>; than nothing:</Comment><br/> 0288 <Commands>AutoTrim</Commands><Normal Text> Off </Normal Text><Comment>; Retain any leading and trailing whitespace on the clipboard.</Comment><br/> 0289 <Normal Text>ClipboardOld </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>ClipboardAll</Variables><br/> 0290 <Variables>Clipboard</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>""</String><Normal Text> </Normal Text><Comment>; Must start off blank for detection to work.</Comment><br/> 0291 <Commands>Send</Commands><Normal Text> </Normal Text><Keys and buttons>^c</Keys and buttons><br/> 0292 <Commands>ClipWait</Commands><Normal Text> 1</Normal Text><br/> 0293 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>ErrorLevel</Variables><Normal Text> </Normal Text><Comment>; ClipWait timed out.</Comment><br/> 0294 <Normal Text> </Normal Text><Flow of control>return</Flow of control><br/> 0295 <Comment>; Replace CRLF and/or LF with `n for use in a "send-raw" hotstring:</Comment><br/> 0296 <Comment>; The same is done for any other characters that might otherwise</Comment><br/> 0297 <Comment>; be a problem in raw mode:</Comment><br/> 0298 <Commands>StringReplace</Commands><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> Clipboard</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>``</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>````</String Char><Symbol>,</Symbol><Normal Text> All </Normal Text><Comment>; Do this replacement first to avoid interfering with the others below.</Comment><br/> 0299 <Commands>StringReplace</Commands><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>`r`n</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>``</String Char><Normal Text>r</Normal Text><Symbol>,</Symbol><Normal Text> All </Normal Text><Comment>; Using `r works better than `n in MS Word, etc.</Comment><br/> 0300 <Commands>StringReplace</Commands><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>`n</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>``</String Char><Normal Text>r</Normal Text><Symbol>,</Symbol><Normal Text> All</Normal Text><br/> 0301 <Commands>StringReplace</Commands><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%A_Tab%</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>``</String Char><Normal Text>t</Normal Text><Symbol>,</Symbol><Normal Text> All</Normal Text><br/> 0302 <Commands>StringReplace</Commands><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> Hotstring</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>`;</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>```;</String Char><Symbol>,</Symbol><Normal Text> All</Normal Text><br/> 0303 <Variables>Clipboard</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>ClipboardOld</Variables><Normal Text> </Normal Text><Comment>; Restore previous contents of clipboard.</Comment><br/> 0304 <Comment>; This will move the InputBox's caret to a more friendly position:</Comment><br/> 0305 <Flow of control>SetTimer</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>MoveCaret</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10</Decimal><br/> 0306 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>ErrorLevel</Variables><Normal Text> </Normal Text><Comment>; The user pressed Cancel.</Comment><br/> 0307 <Normal Text> </Normal Text><Flow of control>return</Flow of control><br/> 0308 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Functions>InStr</Functions><Symbol>(</Symbol><Functions>Hotstring</Functions><Symbol>,</Symbol><Normal Text> </Normal Text><String>":R</String><String Char>`::</String Char><String>:"</String><Symbol>)</Symbol><br/> 0309 <Symbol>{</Symbol><br/> 0310 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Normal Text> You didn't provide an abbreviation. The hotstring has not been added.</Normal Text><br/> 0311 <Normal Text> </Normal Text><Flow of control>return</Flow of control><br/> 0312 <Symbol>}</Symbol><br/> 0313 <Comment>; Otherwise, add the hotstring and reload the script:</Comment><br/> 0314 <Commands>FileAppend</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><String Char>`n</String Char><Variables>%Hotstring%</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%A_ScriptFullPath%</Variables><Normal Text> </Normal Text><Comment>; Put a `n at the beginning in case file lacks a blank line at its end.</Comment><br/> 0315 <Commands>Reload</Commands><br/> 0316 <Flow of control>Sleep</Flow of control><Normal Text> </Normal Text><Decimal>200</Decimal><br/> 0317 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> 4</Normal Text><Symbol>,,</Symbol><Normal Text> The hotstring just added appears to be improperly formatted.</Normal Text><br/> 0318 <Flow of control>IfMsgBox</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>Yes</Keywords><Symbol>,</Symbol><Normal Text> </Normal Text><Commands>Edit</Commands><br/> 0319 <Flow of control>return</Flow of control><br/> 0320 <Normal Text></Normal Text><br/> 0321 <Normal Text>MoveCaret:</Normal Text><br/> 0322 <Flow of control>IfWinNotActive</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>New</Keywords><Normal Text> </Normal Text><Functions>Hotstring</Functions><br/> 0323 <Normal Text> </Normal Text><Flow of control>return</Flow of control><br/> 0324 <Comment>; Otherwise, move the InputBox's insertion point to where the user will type the abbreviation.</Comment><br/> 0325 <Commands>Send</Commands><Normal Text> </Normal Text><Symbol>{</Symbol><Keys and buttons>Home</Keys and buttons><Symbol>}{</Symbol><Keys and buttons>Right 3</Keys and buttons><Symbol>}</Symbol><br/> 0326 <Flow of control>SetTimer</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>MoveCaret</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>Off</Keywords><br/> 0327 <Flow of control>return</Flow of control><br/> 0328 <Normal Text></Normal Text><br/> 0329 <Comment>; This example also demonstrates one way to implement case conformity in a script.</Comment><br/> 0330 <Symbol>:</Symbol><Normal Text>C</Normal Text><Symbol>:</Symbol><Normal Text>BTW</Normal Text><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; Typed in all-caps.</Comment><br/> 0331 <Symbol>:</Symbol><Normal Text>C</Normal Text><Symbol>:</Symbol><Normal Text>Btw</Normal Text><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; Typed with only the first letter upper-case.</Comment><br/> 0332 <Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text>btw</Normal Text><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; Typed in any other combination.</Comment><br/> 0333 <Normal Text> case_conform_btw</Normal Text><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0334 <Normal Text> hs </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>A_ThisHotkey</Variables><Normal Text> </Normal Text><Comment>; For convenience and in case we're interrupted.</Comment><br/> 0335 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>hs</Variables><Normal Text> </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><String>":C:BTW"</String><Symbol>)</Symbol><br/> 0336 <Normal Text> </Normal Text><Commands>Send</Commands><Normal Text> BY THE WAY</Normal Text><br/> 0337 <Normal Text> </Normal Text><Flow of control>else</Flow of control><Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>hs</Variables><Normal Text> </Normal Text><Symbol>==</Symbol><Normal Text> </Normal Text><String>":C:Btw"</String><Symbol>)</Symbol><br/> 0338 <Normal Text> </Normal Text><Commands>Send</Commands><Normal Text> By the way</Normal Text><br/> 0339 <Normal Text> </Normal Text><Flow of control>else</Flow of control><br/> 0340 <Normal Text> </Normal Text><Commands>Send</Commands><Normal Text> by the way</Normal Text><br/> 0341 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0342 <Normal Text></Normal Text><br/> 0343 <Directives>#IfWinActive</Directives><Normal Text> </Normal Text><Keywords>ahk_class</Keywords><Normal Text> Notepad</Normal Text><br/> 0344 <Symbol>::</Symbol><Normal Text>btw</Normal Text><Symbol>::</Symbol><Normal Text>This replacement text will appear only in Notepad.</Normal Text><br/> 0345 <Directives>#IfWinActive</Directives><br/> 0346 <Symbol>::</Symbol><Normal Text>btw</Normal Text><Symbol>::</Symbol><Normal Text>This replacement text appears in windows other than Notepad.</Normal Text><br/> 0347 <Normal Text></Normal Text><br/> 0348 <Directives>#Hotstring</Directives><Normal Text> EndChars -()[]{}:</Normal Text><Comment>;'"/\,.?!`n `t</Comment><br/> 0349 <Normal Text></Normal Text><br/> 0350 <Functions>Hotstring</Functions><Symbol>(</Symbol><String>"EndChars"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"-()[]{}:;"</String><Symbol>)</Symbol><br/> 0351 <Normal Text></Normal Text><br/> 0352 <Symbol>::</Symbol><Normal Text>btw</Normal Text><Symbol>::</Symbol><br/> 0353 <Commands>MsgBox</Commands><Normal Text> You typed "</Normal Text><String Char>``</String Char><Normal Text>btw</Normal Text><String Char>``</String Char><Normal Text>".</Normal Text><br/> 0354 <Flow of control>return</Flow of control><br/> 0355 <Normal Text></Normal Text><br/> 0356 <Symbol>:*:</Symbol><Normal Text>]d</Normal Text><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; This hotstring replaces "]d" with the current date and time via the commands below.</Comment><br/> 0357 <Normal Text></Normal Text><br/> 0358 <Normal Text>MyFunction</Normal Text><Symbol>(</Symbol><Variables>FirstParameter</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Second</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Flow of control>ByRef</Flow of control><Normal Text> </Normal Text><Variables>Third</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Fourth</Variables><Symbol>:=</Symbol><String>""</String><Symbol>)</Symbol><br/> 0359 <Symbol>{</Symbol><br/> 0360 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><String>"a value"</String><br/> 0361 <Symbol>}</Symbol><br/> 0362 <Normal Text></Normal Text><br/> 0363 <Flow of control>Loop</Flow of control><Normal Text> </Normal Text><Decimal>3</Decimal><br/> 0364 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Variables>MyArray%A_Index%</Variables><br/> 0365 <Normal Text></Normal Text><br/> 0366 <Commands>SysGet</Commands><Symbol>,</Symbol><Normal Text> WA</Normal Text><Symbol>,</Symbol><Normal Text> MonitorWorkArea</Normal Text><br/> 0367 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> Left: </Normal Text><Variables>%WALeft%</Variables><Normal Text> -- Top: </Normal Text><Variables>%WATop%</Variables><Normal Text> -- Right: </Normal Text><Variables>%WARight%</Variables><Normal Text> -- Bottom: </Normal Text><Variables>%WABottom%</Variables><Normal Text>.</Normal Text><br/> 0368 <Normal Text></Normal Text><br/> 0369 <Normal Text>n </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>123</Decimal><Normal Text> </Normal Text><Decimal>00123</Decimal><Normal Text> </Normal Text><Symbol>-</Symbol><Float>1.</Float><Normal Text> </Normal Text><Hex>0x7B</Hex><Normal Text> </Normal Text><Hex>0x007B</Hex><Normal Text> </Normal Text><Symbol>-</Symbol><Hex>0x1</Hex><Normal Text> </Normal Text><Float>3.14159</Float><br/> 0370 <Normal Text></Normal Text><br/> 0371 <Commands>FileAppend</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Comment>; Comment.</Comment><br/> 0372 <Comment>; Comment.</Comment><br/> 0373 <Normal Text>( </Normal Text><Functions>LTrim</Functions><Normal Text> </Normal Text><Keywords>Join</Keywords><Normal Text> </Normal Text><Comment>; Comment.</Comment><br/> 0374 <Normal Text> </Normal Text><Comment>; This is not a comment; it is literal. Include the word Comments in the line above to make it a comment.</Comment><br/> 0375 <Normal Text>), C:\File.txt </Normal Text><Comment>; Comment.</Comment><br/> 0376 <Normal Text></Normal Text><br/> 0377 <Normal Text>param </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>%A_Index%</Variables><Normal Text> </Normal Text><Comment>; Fetch the contents of the variable whose name is contained in A_Index.</Comment><br/> 0378 <Normal Text></Normal Text><br/> 0379 <Keywords>Add</Keywords><Symbol>(</Symbol><Variables>X</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Y</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Z</Variables><Symbol>:=</Symbol><Decimal>0</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0380 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Variables>X</Variables><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Variables>Y</Variables><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Variables>Z</Variables><br/> 0381 <Symbol>}</Symbol><br/> 0382 <Normal Text></Normal Text><br/> 0383 <Keywords>Join</Keywords><Symbol>(</Symbol><Variables>sep</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>params</Variables><Symbol>*)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0384 <Normal Text> </Normal Text><Flow of control>for</Flow of control><Normal Text> </Normal Text><Variables>index</Variables><Symbol>,</Symbol><Variables>param</Variables><Normal Text> </Normal Text><Keywords>in</Keywords><Normal Text> </Normal Text><Variables>params</Variables><br/> 0385 <Normal Text> str </Normal Text><Symbol>.=</Symbol><Normal Text> param . sep</Normal Text><br/> 0386 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Functions>SubStr</Functions><Symbol>(</Symbol><Variables>str</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Symbol>-</Symbol><Functions>StrLen</Functions><Symbol>(</Symbol><Variables>sep</Variables><Symbol>))</Symbol><br/> 0387 <Symbol>}</Symbol><br/> 0388 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Keywords>Join</Keywords><Symbol>(</Symbol><String>"</String><String Char>`n</String Char><String>"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"one"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"two"</String><Symbol>,</Symbol><Normal Text> </Normal Text><String>"three"</String><Symbol>)</Symbol><br/> 0389 <Normal Text></Normal Text><br/> 0390 <Normal Text>LogToFile</Normal Text><Symbol>(</Symbol><Variables>TextToLog</Variables><Symbol>)</Symbol><br/> 0391 <Symbol>{</Symbol><br/> 0392 <Normal Text> </Normal Text><Flow of control>global</Flow of control><Normal Text> </Normal Text><Variables>LogFileName</Variables><Normal Text> </Normal Text><Comment>; This global variable was previously given a value somewhere outside this function.</Comment><br/> 0393 <Normal Text> </Normal Text><Commands>FileAppend</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%TextToLog%</Variables><String Char>`n</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%LogFileName%</Variables><br/> 0394 <Symbol>}</Symbol><br/> 0395 <Normal Text></Normal Text><br/> 0396 <Normal Text>SetDefaults</Normal Text><Symbol>()</Symbol><br/> 0397 <Symbol>{</Symbol><br/> 0398 <Normal Text> </Normal Text><Flow of control>global</Flow of control><br/> 0399 <Normal Text> MyGlobal </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>33</Decimal><br/> 0400 <Normal Text> </Normal Text><Flow of control>local</Flow of control><Normal Text> </Normal Text><Variables>x</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>y</Variables><Symbol>:=</Symbol><Decimal>0</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>z</Variables><br/> 0401 <Symbol>}</Symbol><br/> 0402 <Normal Text></Normal Text><br/> 0403 <Normal Text>LogToFile</Normal Text><Symbol>(</Symbol><Variables>TextToLog</Variables><Symbol>)</Symbol><br/> 0404 <Symbol>{</Symbol><br/> 0405 <Normal Text> </Normal Text><Flow of control>static</Flow of control><Normal Text> </Normal Text><Variables>LoggedLines</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><br/> 0406 <Normal Text> LoggedLines </Normal Text><Symbol>+=</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><br/> 0407 <Normal Text> </Normal Text><Flow of control>global</Flow of control><Normal Text> </Normal Text><Variables>LogFileName</Variables><br/> 0408 <Normal Text> </Normal Text><Commands>FileAppend</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%LoggedLines%</Variables><Normal Text>: </Normal Text><Variables>%TextToLog%</Variables><String Char>`n</String Char><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%LogFileName%</Variables><br/> 0409 <Symbol>}</Symbol><br/> 0410 <Normal Text></Normal Text><br/> 0411 <Normal Text>GetFromStaticArray</Normal Text><Symbol>(</Symbol><Variables>WhichItemNumber</Variables><Symbol>)</Symbol><br/> 0412 <Symbol>{</Symbol><br/> 0413 <Normal Text> </Normal Text><Flow of control>static</Flow of control><br/> 0414 <Normal Text> </Normal Text><Flow of control>static</Flow of control><Normal Text> </Normal Text><Variables>FirstCallToUs</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>true</Variables><br/> 0415 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>FirstCallToUs</Variables><br/> 0416 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0417 <Normal Text> FirstCallToUs </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>false</Variables><br/> 0418 <Normal Text> </Normal Text><Flow of control>Loop</Flow of control><Normal Text> </Normal Text><Decimal>10</Decimal><br/> 0419 <Normal Text> StaticArray</Normal Text><Variables>%A_Index%</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"Value #"</String><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Variables>A_Index</Variables><br/> 0420 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0421 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Variables>StaticArray%WhichItemNumber%</Variables><br/> 0422 <Symbol>}</Symbol><br/> 0423 <Normal Text></Normal Text><br/> 0424 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>ColorName</Variables><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><Normal Text> </Normal Text><Keywords>AND</Keywords><Normal Text> </Normal Text><Keywords>not</Keywords><Normal Text> </Normal Text><Variables>FindColor</Variables><Symbol>(</Symbol><Variables>ColorName</Variables><Symbol>))</Symbol><br/> 0425 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Normal Text> </Normal Text><Variables>%ColorName%</Variables><Normal Text> could not be found.</Normal Text><br/> 0426 <Normal Text></Normal Text><br/> 0427 <Keywords>class</Keywords><Normal Text> baseObject </Normal Text><Symbol>{</Symbol><br/> 0428 <Normal Text> </Normal Text><Flow of control>static</Flow of control><Normal Text> </Normal Text><Variables>foo</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"bar"</String><br/> 0429 <Normal Text>}</Normal Text><br/> 0430 <Normal Text>baseObject </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Variables>foo</Variables><Symbol>:</Symbol><Normal Text> </Normal Text><String>"bar"</String><Symbol>}</Symbol><br/> 0431 <Normal Text></Normal Text><br/> 0432 <Normal Text>thing </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{}</Symbol><br/> 0433 <Normal Text>thing</Normal Text><Symbol>.</Symbol><Normal Text>foo </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"bar"</String><br/> 0434 <Normal Text>thing</Normal Text><Symbol>.</Symbol><Normal Text>test </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"thing_test"</String><Symbol>)</Symbol><br/> 0435 <Normal Text>thing</Normal Text><Symbol>.</Symbol><Normal Text>test</Normal Text><Symbol>()</Symbol><br/> 0436 <Normal Text></Normal Text><br/> 0437 <Normal Text>thing_test</Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0438 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Keywords>this</Keywords><Symbol>.</Symbol><Variables>foo</Variables><br/> 0439 <Symbol>}</Symbol><br/> 0440 <Normal Text></Normal Text><br/> 0441 <Keywords>class</Keywords><Normal Text> Color</Normal Text><br/> 0442 <Symbol>{</Symbol><br/> 0443 <Normal Text> </Normal Text><Keywords>__New</Keywords><Symbol>(</Symbol><Variables>aRGB</Variables><Symbol>)</Symbol><br/> 0444 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0445 <Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>.</Symbol><Normal Text>RGB </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>aRGB</Variables><br/> 0446 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0447 <Normal Text></Normal Text><br/> 0448 <Normal Text> </Normal Text><Keywords>__Delete</Keywords><Symbol>()</Symbol><br/> 0449 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0450 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"Delete Color."</String><br/> 0451 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0452 <Normal Text></Normal Text><br/> 0453 <Normal Text> </Normal Text><Flow of control>static</Flow of control><Normal Text> </Normal Text><Keys and buttons>Shift</Keys and buttons><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Variables>R</Variables><Symbol>:</Symbol><Decimal>16</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>G</Variables><Symbol>:</Symbol><Decimal>8</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>B</Variables><Symbol>:</Symbol><Decimal>0</Decimal><Symbol>}</Symbol><br/> 0454 <Normal Text></Normal Text><br/> 0455 <Normal Text> </Normal Text><Keywords>__Get</Keywords><Symbol>(</Symbol><Variables>aName</Variables><Symbol>)</Symbol><br/> 0456 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0457 <Normal Text> </Normal Text><Comment>; </Comment><Alert Level 3>NOTE</Alert Level 3><Comment>: Using this.Shift here would cause an infinite loop!</Comment><br/> 0458 <Normal Text> shift </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>.</Symbol><Keys and buttons>Shift</Keys and buttons><Symbol>[</Symbol><Variables>aName</Variables><Symbol>]</Symbol><Normal Text> </Normal Text><Comment>; Get the number of bits to shift.</Comment><br/> 0459 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keys and buttons>shift</Keys and buttons><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Is it a known property?</Comment><br/> 0460 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>.</Symbol><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>>></Symbol><Normal Text> </Normal Text><Keys and buttons>shift</Keys and buttons><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Hex>0xff</Hex><br/> 0461 <Normal Text> </Normal Text><Comment>; </Comment><Alert Level 3>NOTE</Alert Level 3><Comment>: Using 'return' here would break this.RGB.</Comment><br/> 0462 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0463 <Normal Text></Normal Text><br/> 0464 <Normal Text> </Normal Text><Keywords>__Set</Keywords><Symbol>(</Symbol><Variables>aName</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>aValue</Variables><Symbol>)</Symbol><br/> 0465 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0466 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>((</Symbol><Keys and buttons>shift</Keys and buttons><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>.</Symbol><Keys and buttons>Shift</Keys and buttons><Symbol>[</Symbol><Variables>aName</Variables><Symbol>])</Symbol><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><Symbol>)</Symbol><br/> 0467 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0468 <Normal Text> aValue </Normal Text><Symbol>&=</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><Normal Text> </Normal Text><Comment>; Truncate it to the proper range.</Comment><br/> 0469 <Normal Text></Normal Text><br/> 0470 <Normal Text> </Normal Text><Comment>; Calculate and store the new RGB value.</Comment><br/> 0471 <Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>.</Symbol><Normal Text>RGB </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>aValue</Variables><Normal Text> </Normal Text><Symbol><<</Symbol><Normal Text> </Normal Text><Keys and buttons>shift</Keys and buttons><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>|</Symbol><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>.</Symbol><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Symbol>~(</Symbol><Hex>0xff</Hex><Normal Text> </Normal Text><Symbol><<</Symbol><Normal Text> </Normal Text><Keys and buttons>shift</Keys and buttons><Symbol>))</Symbol><br/> 0472 <Normal Text></Normal Text><br/> 0473 <Normal Text> </Normal Text><Comment>; 'Return' must be used to indicate a new key-value pair should not be created.</Comment><br/> 0474 <Normal Text> </Normal Text><Comment>; This also defines what will be stored in the 'x' in 'x := clr[name] := val':</Comment><br/> 0475 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Variables>aValue</Variables><br/> 0476 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0477 <Normal Text> </Normal Text><Comment>; </Comment><Alert Level 3>NOTE</Alert Level 3><Comment>: Using 'return' here would break this.stored_RGB and this.RGB.</Comment><br/> 0478 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0479 <Normal Text></Normal Text><br/> 0480 <Normal Text> </Normal Text><Comment>; Meta-functions can be mixed with properties:</Comment><br/> 0481 <Normal Text> </Normal Text><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0482 <Normal Text> </Normal Text><Keywords>get</Keywords><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0483 <Normal Text> </Normal Text><Comment>; Return it in hex format:</Comment><br/> 0484 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Functions>format</Functions><Symbol>(</Symbol><String>"0x{:06x}"</String><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>.</Symbol><Variables>stored_RGB</Variables><Symbol>)</Symbol><br/> 0485 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0486 <Normal Text> </Normal Text><Keywords>set</Keywords><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0487 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>.</Symbol><Variables>stored_RGB</Variables><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>value</Variables><br/> 0488 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0489 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0490 <Normal Text></Normal Text><br/> 0491 <Normal Text> </Normal Text><Keywords>class</Keywords><Normal Text> __Get extends Properties</Normal Text><br/> 0492 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0493 <Normal Text> R</Normal Text><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0494 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>.</Symbol><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>>></Symbol><Normal Text> </Normal Text><Decimal>16</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><br/> 0495 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0496 <Normal Text> G</Normal Text><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0497 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>.</Symbol><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>>></Symbol><Normal Text> </Normal Text><Decimal>8</Decimal><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><br/> 0498 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0499 <Normal Text> B</Normal Text><Symbol>()</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0500 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>.</Symbol><Keywords>RGB</Keywords><Normal Text> </Normal Text><Symbol>&</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><br/> 0501 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0502 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0503 <Normal Text></Normal Text><br/> 0504 <Normal Text> </Normal Text><Keywords>Property</Keywords><Symbol>[]</Symbol><Normal Text> </Normal Text><Comment>; Brackets are optional</Comment><br/> 0505 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0506 <Normal Text> </Normal Text><Keywords>get</Keywords><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0507 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>...</Symbol><br/> 0508 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0509 <Normal Text> </Normal Text><Keywords>set</Keywords><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0510 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>...</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Variables>value</Variables><br/> 0511 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0512 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0513 <Symbol>}</Symbol><br/> 0514 <Normal Text></Normal Text><br/> 0515 <Keywords>class</Keywords><Normal Text> Properties extends FunctionObject</Normal Text><br/> 0516 <Symbol>{</Symbol><br/> 0517 <Normal Text> Call</Normal Text><Symbol>(</Symbol><Variables>aTarget</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>aName</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>aParams</Variables><Symbol>*)</Symbol><br/> 0518 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0519 <Normal Text> </Normal Text><Comment>; If this Properties object contains a definition for this half-property, call it.</Comment><br/> 0520 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Functions>ObjHasKey</Functions><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>aName</Variables><Symbol>)</Symbol><br/> 0521 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Keywords>this</Keywords><Symbol>[</Symbol><Variables>aName</Variables><Symbol>].</Symbol><Variables>Call</Variables><Symbol>(</Symbol><Variables>aTarget</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>aParams</Variables><Symbol>*)</Symbol><br/> 0522 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0523 <Symbol>}</Symbol><br/> 0524 <Normal Text></Normal Text><br/> 0525 <Normal Text>MyGet</Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Key</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Key2</Variables><Symbol>)</Symbol><br/> 0526 <Normal Text>MySet</Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Key</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Key2</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Value</Variables><Symbol>)</Symbol><br/> 0527 <Normal Text>MyCall</Normal Text><Symbol>(</Symbol><Keywords>this</Keywords><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Name</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>Params</Variables><Symbol>)</Symbol><br/> 0528 <Normal Text></Normal Text><br/> 0529 <Normal Text>ClassName </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Normal Text> </Normal Text><Keywords>__Get</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"MyGet"</String><Symbol>),</Symbol><Normal Text> </Normal Text><Keywords>__Set</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"MySet"</String><Symbol>),</Symbol><Normal Text> </Normal Text><Keywords>__Call</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"MyCall"</String><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0530 <Normal Text></Normal Text><br/> 0531 <Normal Text>red </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>new</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>(</Symbol><Hex>0xff0000</Hex><Symbol>),</Symbol><Normal Text> red</Normal Text><Symbol>.</Symbol><Normal Text>R </Normal Text><Symbol>-=</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><br/> 0532 <Normal Text>cyan </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>new</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>(</Symbol><Decimal>0</Decimal><Symbol>),</Symbol><Normal Text> cyan</Normal Text><Symbol>.</Symbol><Normal Text>G </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><Symbol>,</Symbol><Normal Text> cyan</Normal Text><Symbol>.</Symbol><Normal Text>B </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>255</Decimal><br/> 0533 <Normal Text></Normal Text><br/> 0534 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"red: "</String><Normal Text> </Normal Text><Variables>red</Variables><Symbol>.</Symbol><Variables>R</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>red</Variables><Symbol>.</Symbol><Variables>G</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>red</Variables><Symbol>.</Symbol><Variables>B</Variables><Normal Text> </Normal Text><String>" = "</String><Normal Text> </Normal Text><Variables>red</Variables><Symbol>.</Symbol><Keywords>RGB</Keywords><br/> 0535 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><String>"cyan: "</String><Normal Text> </Normal Text><Variables>cyan</Variables><Symbol>.</Symbol><Variables>R</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>cyan</Variables><Symbol>.</Symbol><Variables>G</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>cyan</Variables><Symbol>.</Symbol><Variables>B</Variables><Normal Text> </Normal Text><String>" = "</String><Normal Text> </Normal Text><Variables>cyan</Variables><Symbol>.</Symbol><Keywords>RGB</Keywords><br/> 0536 <Normal Text></Normal Text><br/> 0537 <Comment>; This example requires the FunctionObject class in order to work.</Comment><br/> 0538 <Normal Text>blue </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>new</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Symbol>(</Symbol><Hex>0x0000ff</Hex><Symbol>)</Symbol><br/> 0539 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Variables>blue</Variables><Symbol>.</Symbol><Variables>R</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>blue</Variables><Symbol>.</Symbol><Variables>G</Variables><Normal Text> </Normal Text><String>","</String><Normal Text> </Normal Text><Variables>blue</Variables><Symbol>.</Symbol><Variables>B</Variables><br/> 0540 <Normal Text></Normal Text><br/> 0541 <Normal Text>x </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Keywords>base</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><Variables>addr</Variables><Symbol>:</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"x_Addr"</String><Symbol>),</Symbol><Normal Text> </Normal Text><Keywords>__Set</Keywords><Symbol>:</Symbol><Normal Text> </Normal Text><Functions>Func</Functions><Symbol>(</Symbol><String>"x_Setter"</String><Symbol>)}}</Symbol><br/> 0542 <Normal Text></Normal Text><br/> 0543 <Comment>; Assign value, implicitly calling x_Setter to create sub-objects.</Comment><br/> 0544 <Normal Text>x</Normal Text><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Decimal>2</Decimal><Symbol>,</Symbol><Decimal>3</Decimal><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>"..."</String><br/> 0545 <Normal Text></Normal Text><br/> 0546 <Comment>; Retrieve value and call example method.</Comment><br/> 0547 <Commands>MsgBox</Commands><Normal Text> </Normal Text><Symbol>% </Symbol><Variables>x</Variables><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Decimal>2</Decimal><Symbol>,</Symbol><Decimal>3</Decimal><Symbol>]</Symbol><Normal Text> </Normal Text><String>"</String><String Char>`n</String Char><String>"</String><Normal Text> </Normal Text><Variables>x</Variables><Symbol>.</Symbol><Variables>addr</Variables><Symbol>()</Symbol><Normal Text> </Normal Text><String>"</String><String Char>`n</String Char><String>"</String><Normal Text> </Normal Text><Variables>x</Variables><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>].</Symbol><Variables>addr</Variables><Symbol>()</Symbol><Normal Text> </Normal Text><String>"</String><String Char>`n</String Char><String>"</String><Normal Text> </Normal Text><Variables>x</Variables><Symbol>[</Symbol><Decimal>1</Decimal><Symbol>,</Symbol><Decimal>2</Decimal><Symbol>].</Symbol><Variables>addr</Variables><Symbol>()</Symbol><br/> 0548 <Normal Text></Normal Text><br/> 0549 <Normal Text>x_Setter</Normal Text><Symbol>(</Symbol><Variables>x</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>p1</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>p2</Variables><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>p3</Variables><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0550 <Normal Text> x</Normal Text><Symbol>[</Symbol><Variables>p1</Variables><Symbol>]</Symbol><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Keywords>new</Keywords><Normal Text> </Normal Text><Variables>x</Variables><Symbol>.</Symbol><Keywords>base</Keywords><br/> 0551 <Symbol>}</Symbol><br/> 0552 <Normal Text></Normal Text><br/> 0553 <Normal Text>x_Addr</Normal Text><Symbol>(</Symbol><Variables>x</Variables><Symbol>)</Symbol><Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0554 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Symbol>&</Symbol><Variables>x</Variables><br/> 0555 <Symbol>}</Symbol><br/> 0556 <Normal Text></Normal Text><br/> 0557 <Commands>InputBox</Commands><Symbol>,</Symbol><Normal Text> OutputVar</Normal Text><Symbol>,</Symbol><Normal Text> Question 1</Normal Text><Symbol>,</Symbol><Normal Text> What is your first name?</Normal Text><br/> 0558 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>OutputVar</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Bill"</String><Symbol>)</Symbol><br/> 0559 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> That's an awesome name</Normal Text><String Char>`,</String Char><Normal Text> </Normal Text><Variables>%OutputVar%</Variables><Normal Text>.</Normal Text><br/> 0560 <Normal Text></Normal Text><br/> 0561 <Commands>InputBox</Commands><Symbol>,</Symbol><Normal Text> OutputVar2</Normal Text><Symbol>,</Symbol><Normal Text> Question 2</Normal Text><Symbol>,</Symbol><Normal Text> Do you like AutoHotkey?</Normal Text><br/> 0562 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>OutputVar2</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"yes"</String><Symbol>)</Symbol><br/> 0563 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> Thank you for answering </Normal Text><Variables>%OutputVar2%</Variables><String Char>`,</String Char><Normal Text> </Normal Text><Variables>%OutputVar%</Variables><Keys and buttons>!</Keys and buttons><Normal Text> We will become great friends.</Normal Text><br/> 0564 <Flow of control>else</Flow of control><br/> 0565 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%OutputVar%</Variables><String Char>`,</String Char><Normal Text> That makes me sad.</Normal Text><br/> 0566 <Normal Text></Normal Text><br/> 0567 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> 4</Normal Text><Symbol>,,</Symbol><Normal Text> Would you like to continue?</Normal Text><br/> 0568 <Flow of control>IfMsgBox</Flow of control><Symbol>,</Symbol><Normal Text> </Normal Text><Keywords>No</Keywords><br/> 0569 <Normal Text> </Normal Text><Flow of control>return</Flow of control><Normal Text> </Normal Text><Comment>; If No, stop the code from going further.</Comment><br/> 0570 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You pressed YES. </Normal Text><Comment>; Otherwise, the user picked yes.</Comment><br/> 0571 <Normal Text></Normal Text><br/> 0572 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>car</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"old"</String><Symbol>)</Symbol><br/> 0573 <Symbol>{</Symbol><br/> 0574 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> The car is really old.</Normal Text><br/> 0575 <Normal Text> </Normal Text><Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>wheels</Variables><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"flat"</String><Symbol>)</Symbol><br/> 0576 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0577 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> This car is not safe to drive.</Normal Text><br/> 0578 <Normal Text> </Normal Text><Flow of control>return</Flow of control><br/> 0579 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0580 <Normal Text> </Normal Text><Flow of control>else</Flow of control><br/> 0581 <Normal Text> </Normal Text><Symbol>{</Symbol><br/> 0582 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> Be careful</Normal Text><Keys and buttons>!</Keys and buttons><Normal Text> This old car will be dangerous to drive.</Normal Text><br/> 0583 <Normal Text> </Normal Text><Symbol>}</Symbol><br/> 0584 <Symbol>}</Symbol><br/> 0585 <Flow of control>else</Flow of control><br/> 0586 <Symbol>{</Symbol><br/> 0587 <Normal Text> </Normal Text><Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> My</Normal Text><String Char>`,</String Char><Normal Text> what a shiny new vehicle you have there.</Normal Text><br/> 0588 <Symbol>}</Symbol><br/> 0589 <Normal Text></Normal Text><br/> 0590 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Red"</String><Normal Text> </Normal Text><Keywords>or</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Green"</String><Normal Text> </Normal Text><Keywords>or</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Blue"</String><Normal Text> </Normal Text><Comment>; Comment.</Comment><br/> 0591 <Normal Text> </Normal Text><Keywords>or</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Black"</String><Normal Text> </Normal Text><Keywords>or</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"Gray"</String><Normal Text> </Normal Text><Keywords>or</Keywords><Normal Text> </Normal Text><Keywords>Color</Keywords><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"White"</String><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Comment.</Comment><br/> 0592 <Normal Text> </Normal Text><Keywords>and</Keywords><Normal Text> ProductIsAvailableInColor(Product</Normal Text><Symbol>,</Symbol><Normal Text> Color</Normal Text><Symbol>)</Symbol><Normal Text> </Normal Text><Comment>; Comment.</Comment><br/> 0593 <Normal Text></Normal Text><br/> 0594 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Symbol>(</Symbol><Variables>codepage</Variables><Normal Text> </Normal Text><Symbol>!=</Symbol><Normal Text> </Normal Text><String>""</String><Symbol>)</Symbol><br/> 0595 <Normal Text> codepage </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><String>" /CP"</String><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Variables>codepage</Variables><br/> 0596 <Normal Text>cmd</Normal Text><Symbol>=</Symbol><Normal Text>"</Normal Text><Variables>%A_AhkPath%</Variables><Normal Text>"</Normal Text><Variables>%codepage%</Variables><Normal Text> "</Normal Text><String Char>`%</String Char><Normal Text>1" </Normal Text><String Char>`%</String Char><Keys and buttons>*</Keys and buttons><br/> 0597 <Normal Text>key</Normal Text><Symbol>=</Symbol><Normal Text>AutoHotkeyScript\Shell\Open\Command</Normal Text><br/> 0598 <Flow of control>if</Flow of control><Normal Text> </Normal Text><Variables>A_IsAdmin</Variables><Normal Text> </Normal Text><Comment>; Set for all users.</Comment><br/> 0599 <Normal Text> </Normal Text><Commands>RegWrite</Commands><Symbol>,</Symbol><Normal Text> REG_SZ</Normal Text><Symbol>,</Symbol><Normal Text> HKCR</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><Variables>%key%</Variables><Symbol>,,</Symbol><Normal Text> </Normal Text><Variables>%cmd%</Variables><br/> 0600 <Flow of control>else</Flow of control><Normal Text> </Normal Text><Comment>; Set for current user only.</Comment><br/> 0601 <Normal Text> </Normal Text><Commands>RegWrite</Commands><Symbol>,</Symbol><Normal Text> REG_SZ</Normal Text><Symbol>,</Symbol><Normal Text> HKCU</Normal Text><Symbol>,</Symbol><Normal Text> Software\Classes\</Normal Text><Variables>%key%</Variables><Symbol>,,</Symbol><Normal Text> </Normal Text><Variables>%cmd%</Variables><br/> 0602 <Normal Text></Normal Text><br/> 0603 <Keys and buttons>^j</Keys and buttons><Symbol>::</Symbol><Normal Text> </Normal Text><Comment>; hotkey label</Comment><br/> 0604 <Commands>MsgBox</Commands><Symbol>,</Symbol><Normal Text> You typed btw.</Normal Text><br/>