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/>