Skip to content

Instantly share code, notes, and snippets.

@nimdahk
Created April 10, 2012 22:51

Revisions

  1. @clentner clentner revised this gist Apr 11, 2012. 1 changed file with 49 additions and 1 deletion.
    50 changes: 49 additions & 1 deletion AU3.ahk
    Original file line number Diff line number Diff line change
    @@ -28,7 +28,55 @@ Send(text=""){
    Send % text
    }
    WinWaitActive(title="", text="", ExcludeTitle="", ExcludeText=""){
    WinWaitActive, %title%, %text%
    WinWaitActive, %title%, %text%, %ExcludeTitle%, %ExcludeText%
    }




    range(Start,End,Step = 1)
    {
    Return, new Iterator(Start,End,Step = 1)
    }

    class Iterator
    {
    __New(Start,End,Step = 1)
    {
    this.Start := Start
    this.End := End
    this.Step := Step
    }

    _NewEnum()
    {
    Return, new Iterator.Enumerator(this.Start,this.End,this.Step)
    }

    class Enumerator
    {
    __New(Start,End,Step)
    {
    this.Start := Start
    this.End := End
    this.Step := Step
    this.Index := Start
    }

    Next(ByRef Key)
    {
    Key := this.Index
    this.Index += this.Step
    Return, Key <= this.End
    }
    }
    }








    /*
  2. @clentner clentner created this gist Apr 10, 2012.
    266 changes: 266 additions & 0 deletions AU3.ahk
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,266 @@
    HotkeySet(Hotkey, FunctionName=""){
    Global HotkeySet := Object()

    if !FunctionName
    {
    Try Hotkey, %Hotkey%, Off
    return 1 ; Not specified in docs, and hell if I'm installing AU3
    }

    Try Hotkey, %Hotkey%, HotkeySet, On
    catch
    return 0 ; failure
    if !IsFunc(functionName)
    return 0
    HotkeySet[Hotkey] := FunctionName
    return 1

    HotkeySet:
    f := HotkeySet[A_ThisHotkey]
    %f%()
    return
    }

    Sleep(milliseconds){
    Sleep milliseconds
    }
    Send(text=""){
    Send % text
    }
    WinWaitActive(title="", text="", ExcludeTitle="", ExcludeText=""){
    WinWaitActive, %title%, %text%


    /*
    Title: Command Functions
    A wrapper set of functions for commands which have an output variable.
    License:
    - Version 1.41 <http://www.autohotkey.net/~polyethene/#functions>
    - Dedicated to the public domain (CC0 1.0) <http://creativecommons.org/publicdomain/zero/1.0/>
    */

    IfBetween(ByRef var, LowerBound, UpperBound) {
    If var between %LowerBound% and %UpperBound%
    Return, true
    }
    IfNotBetween(ByRef var, LowerBound, UpperBound) {
    If var not between %LowerBound% and %UpperBound%
    Return, true
    }
    IfIn(ByRef var, MatchList) {
    If var in %MatchList%
    Return, true
    }
    IfNotIn(ByRef var, MatchList) {
    If var not in %MatchList%
    Return, true
    }
    IfContains(ByRef var, MatchList) {
    If var contains %MatchList%
    Return, true
    }
    IfNotContains(ByRef var, MatchList) {
    If var not contains %MatchList%
    Return, true
    }
    IfIs(ByRef var, type) {
    If var is %type%
    Return, true
    }
    IfIsNot(ByRef var, type) {
    If var is not %type%
    Return, true
    }

    ControlGet(Cmd, Value = "", Control = "", WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    ControlGet, v, %Cmd%, %Value%, %Control%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    ControlGetFocus(WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    ControlGetFocus, v, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    ControlGetText(Control = "", WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    ControlGetText, v, %Control%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    DriveGet(Cmd, Value = "") {
    DriveGet, v, %Cmd%, %Value%
    Return, v
    }
    DriveSpaceFree(Path) {
    DriveSpaceFree, v, %Path%
    Return, v
    }
    EnvGet(EnvVarName) {
    EnvGet, v, %EnvVarName%
    Return, v
    }
    FileGetAttrib(Filename = "") {
    FileGetAttrib, v, %Filename%
    Return, v
    }
    FileGetShortcut(LinkFile, ByRef OutTarget = "", ByRef OutDir = "", ByRef OutArgs = "", ByRef OutDescription = "", ByRef OutIcon = "", ByRef OutIconNum = "", ByRef OutRunState = "") {
    FileGetShortcut, %LinkFile%, OutTarget, OutDir, OutArgs, OutDescription, OutIcon, OutIconNum, OutRunState
    }
    FileGetSize(Filename = "", Units = "") {
    FileGetSize, v, %Filename%, %Units%
    Return, v
    }
    FileGetTime(Filename = "", WhichTime = "") {
    FileGetTime, v, %Filename%, %WhichTime%
    Return, v
    }
    FileGetVersion(Filename = "") {
    FileGetVersion, v, %Filename%
    Return, v
    }
    FileRead(Filename) {
    FileRead, v, %Filename%
    Return, v
    }
    FileReadLine(Filename, LineNum) {
    FileReadLine, v, %Filename%, %LineNum%
    Return, v
    }
    FileSelectFile(Options = "", RootDir = "", Prompt = "", Filter = "") {
    FileSelectFile, v, %Options%, %RootDir%, %Prompt%, %Filter%
    Return, v
    }
    FileSelectFolder(StartingFolder = "", Options = "", Prompt = "") {
    FileSelectFolder, v, %StartingFolder%, %Options%, %Prompt%
    Return, v
    }
    FormatTime(YYYYMMDDHH24MISS = "", Format = "") {
    FormatTime, v, %YYYYMMDDHH24MISS%, %Format%
    Return, v
    }
    GetKeyState(WhichKey , Mode = "") {
    GetKeyState, v, %WhichKey%, %Mode%
    Return, v
    }
    GuiControlGet(Subcommand = "", ControlID = "", Param4 = "") {
    GuiControlGet, v, %Subcommand%, %ControlID%, %Param4%
    Return, v
    }
    ImageSearch(ByRef OutputVarX, ByRef OutputVarY, X1, Y1, X2, Y2, ImageFile) {
    ImageSearch, OutputVarX, OutputVarY, %X1%, %Y1%, %X2%, %Y2%, %ImageFile%
    }
    IniRead(Filename, Section, Key, Default = "") {
    IniRead, v, %Filename%, %Section%, %Key%, %Default%
    Return, v
    }
    Input(Options = "", EndKeys = "", MatchList = "") {
    Input, v, %Options%, %EndKeys%, %MatchList%
    Return, v
    }
    InputBox(Title = "", Prompt = "", HIDE = "", Width = "", Height = "", X = "", Y = "", Font = "", Timeout = "", Default = "") {
    InputBox, v, %Title%, %Prompt%, %HIDE%, %Width%, %Height%, %X%, %Y%, , %Timeout%, %Default%
    Return, v
    }
    MouseGetPos(ByRef OutputVarX = "", ByRef OutputVarY = "", ByRef OutputVarWin = "", ByRef OutputVarControl = "", Mode = "") {
    MouseGetPos, OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, %Mode%
    }
    PixelGetColor(X, Y, RGB = "") {
    PixelGetColor, v, %X%, %Y%, %RGB%
    Return, v
    }
    PixelSearch(ByRef OutputVarX, ByRef OutputVarY, X1, Y1, X2, Y2, ColorID, Variation = "", Mode = "") {
    PixelSearch, OutputVarX, OutputVarY, %X1%, %Y1%, %X2%, %Y2%, %ColorID%, %Variation%, %Mode%
    }
    Random(Min = "", Max = "") {
    Random, v, %Min%, %Max%
    Return, v
    }
    RegRead(RootKey, SubKey, ValueName = "") {
    RegRead, v, %RootKey%, %SubKey%, %ValueName%
    Return, v
    }
    Run(Target, WorkingDir = "", Mode = "") {
    Run, %Target%, %WorkingDir%, %Mode%, v
    Return, v
    }
    SoundGet(ComponentType = "", ControlType = "", DeviceNumber = "") {
    SoundGet, v, %ComponentType%, %ControlType%, %DeviceNumber%
    Return, v
    }
    SoundGetWaveVolume(DeviceNumber = "") {
    SoundGetWaveVolume, v, %DeviceNumber%
    Return, v
    }
    StatusBarGetText(Part = "", WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    StatusBarGetText, v, %Part%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    SplitPath(ByRef InputVar, ByRef OutFileName = "", ByRef OutDir = "", ByRef OutExtension = "", ByRef OutNameNoExt = "", ByRef OutDrive = "") {
    SplitPath, InputVar, OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive
    }
    StringGetPos(ByRef InputVar, SearchText, Mode = "", Offset = "") {
    StringGetPos, v, InputVar, %SearchText%, %Mode%, %Offset%
    Return, v
    }
    StringLeft(ByRef InputVar, Count) {
    StringLeft, v, InputVar, %Count%
    Return, v
    }
    StringLen(ByRef InputVar) {
    StringLen, v, InputVar
    Return, v
    }
    StringLower(ByRef InputVar, T = "") {
    StringLower, v, InputVar, %T%
    Return, v
    }
    StringMid(ByRef InputVar, StartChar, Count , L = "") {
    StringMid, v, InputVar, %StartChar%, %Count%, %L%
    Return, v
    }
    StringReplace(ByRef InputVar, SearchText, ReplaceText = "", All = "") {
    StringReplace, v, InputVar, %SearchText%, %ReplaceText%, %All%
    Return, v
    }
    StringRight(ByRef InputVar, Count) {
    StringRight, v, InputVar, %Count%
    Return, v
    }
    StringTrimLeft(ByRef InputVar, Count) {
    StringTrimLeft, v, InputVar, %Count%
    Return, v
    }
    StringTrimRight(ByRef InputVar, Count) {
    StringTrimRight, v, InputVar, %Count%
    Return, v
    }
    StringUpper(ByRef InputVar, T = "") {
    StringUpper, v, InputVar, %T%
    Return, v
    }
    SysGet(Subcommand, Param3 = "") {
    SysGet, v, %Subcommand%, %Param3%
    Return, v
    }
    Transform(Cmd, Value1, Value2 = "") {
    Transform, v, %Cmd%, %Value1%, %Value2%
    Return, v
    }
    WinGet(Cmd = "", WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    WinGet, v, %Cmd%, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    WinGetActiveTitle() {
    WinGetActiveTitle, v
    Return, v
    }
    WinGetClass(WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    WinGetClass, v, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    WinGetText(WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    WinGetText, v, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }
    WinGetTitle(WinTitle = "", WinText = "", ExcludeTitle = "", ExcludeText = "") {
    WinGetTitle, v, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    Return, v
    }