User Tools

Site Tools


documentation:Calculations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

documentation:Calculations [2016/05/26 07:30] – created peternlewisdocumentation:Calculations [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Calculations ====== 
- 
-Keyboard Maestro supports calculations in almost any numeric [[/Text_Fields|text fields]].  For example you can Pause for "60*Time in Minute"s.  Calculations can also use comma separated lists of numbers as arrays, and can return such arrays, so you can operate on frames and points, for example: 
- 
-<code> 
-Set variable ‘Temp’ To Text ‘%WindowFrame%1%’ 
-Set variable ‘Temp’ To Calculation ‘Temp.x+Temp.width/2,Temp.y+Temp.height/2’ 
-Use ‘Temp’ to Set the Mouse Location 
-</code> 
- 
-will result in the mouse being placed at the center of the front window. 
- 
-Note: You must use commas for this purpose, and full stops (.) for decimal numbers, and never use any thousands separators, regardless of your desired language. 
- 
-Keyboard Maestro’s expressions include precedence, nested bracketed expressions, many built-in [[/Functions|functions]], various numeric bases, so you should be able to write almost any expressions you might like to use, as well as use it as a general purpose calculator if desired. 
- 
-Operators based on precedence from lowest to highest are: 
- 
-| array separator (,) | separates elements of an array | 
-| ternary operator (?) | a=b ? 3 : 4 | 
-| bitwise or (%%|%%), bitwise and (&amp;) and bitwise xor | operators | 
-| comparison operators (<, ≤, =, >, ≥, ≠) | compare for (in)equality and return 0 or 1 | 
-| shift operators (≪, ≫) | shift a number left or right | 
-| addition operators (+, -) | add or subtract | 
-| multiplication operators (*, /, MOD) | multiply, divide or mod | 
-| power operator (%%^%%) | exponentiation | 
-| unary prefix operators (√ (Option-V), -, brackets) | square root, negation, sub-expressions | 
-| functions | a large variety of functions | 
-| numbers and variables or array accesses (5,$5A,0x50,8#007,Variable,Variable[5]) | identifiers and values | 
-| unary postfix operators (!,%,° (Option-Shift-8)) | factorial, percent, degrees | 
- 
-To minimize conflict with variables, operators and functions must be in uppercase. 
- 
-The available functions are listed on the [[/Functions|wiki Functions page]]. 
- 
-Keyboard Maestro refers to points as strings with two values, like 12,34 and to rectangles as four values 12,34,56,78 (with a fifth value for fuzz in some instances).  You can reference these values as arrays (eg Variable[2] would be 34 in either case), but for clarity, you can reference these values using dot notation: 
- 
-| Variable.x | x coordinate | 
-| Variable.y | y coordinate | 
-| Variable.left | the left coordinate of a rectangle | 
-| Variable.top | the top coordinate of a rectangle | 
-| Variable.right | the right coordinate of a rectangle | 
-| Variable.bottom | the right coordinate of a rectangle | 
-| Variable.width | the width of a rectangle or size | 
-| Variable.height | the height of a rectangle or size | 
-| Variable.fuzz | the fuzz of an image match (rectangle,fuzz) | 
-| Variable.MidX | the horizontal middle of a rectangle | 
-| Variable.MidY | the vertical middle of a rectangle | 
- 
-Some example expressions might be: 
- 
-<code> 
-Amount in Dollars * 100 
-MJD() > 55928 
-NOW() > TIME(2012,3,23,12,2,1) 
-DOW(TIME(2012,4,4)) = 4 
-Radius*SIN(20°),Radius*COS(20°) 
-Window Frame[1]+Window Frame[3]/2,Window Frame.MidY 
-MOUSEBUTTON() + 2 * MOUSEBUTTON(4) 
-SCREEN(Internal,Left,10%) 
-</code> 
  
documentation/Calculations.1464247805.txt.gz · Last modified: by peternlewis

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki