2017-05-26 10 views
-1
;MouseGetPos, X, Y 
;msgbox %x%, %y% 
;MouseClick, left, 113, 376 
MyArray := {} 
MyArray.insert("cat") 
CoordMode,Mouse,Screen 
F1::  
    msgbox % MyArray 
    while (%var% != "false"){ 
     MouseGetPos, X, Y 
     msgbox %x%, %y% 
     MyArray.insert(x, y) 
     msgbox %MyArray% 

    } 
F2:: 
    Pause 
F3:: 
    Reload 
F4:: 
    ExitApp 
F5:: 
    var:="false" 
    Run C:\Windows\Notepad.exe "C:\Users\YUKI\Desktop\Test.txt" 
    sleep 2000 
    send {Enter} 
    sleep 2000 
    send {Enter} 
    FileAppend, %L% 
    sleep 4000 
    send {Enter} 
    send {alt} 
    send {a} 
    send {o} 
    send {Enter} 

Iはインデックス配列のためのものである、私は間違って配列を初期化、またはxとy変数誤っAutoHotkeyをアレイ

+0

あなたがメッセージボックスを印刷するとき、空のリストを印刷する|| 0、あなたは少なくとも0&「猫」を含むリストを印刷する必要があります – user2957041

答えて

0

Array.Insert()を挿入していると思う、リストにgetMousePositionを挿入します( MyArray := [])しかし、あなたは連想配列(MyArray := {})を宣言しました。
連想配列はキーと値のペアです - たとえばMyArray.Cat := 1
インデックス付き配列には数字の多い自動キーがあります。たとえばMyArray[1] := "Blah"です。一般的には
、インデックス付きの配列で、あなたではなく、特定の時点で挿入するように.insert()を使用するよりもMyArray.push("Blah")で最後に新しいアイテムを追加します。以前の位置を保存して、そのようなあなたは、おそらくインデックス付きの配列をしたいので、MyArray := []MyArray := {}を変更し、私はインデックス付きの配列に、xとyのキー/値のペアを保持する連想配列を挿入していますことをここMyArray.insert(x, y)
MyArray.push({x: x, y: y})への注意を変更するには

個々の座標にアクセスするには、MyArray[5].xまたはMyArray[5].y
MyArray.Length()は、配列内のアイテムの数を教えてくれます。

は、詳細はドキュメントhereを参照してください。