1

ホットキーを押すだけで配列から文字列を 1 つずつ送信できるスクリプトを作成したいと考えています。(1 回押すと最初の行が送信され、もう一度押すと 2 行目が送信されるなど) しかし、私の (これまでのところ限定的な) AutoHotKey の理解には失敗しています。

これは私がこれまでに持っているものです(配列の構築に関するビットをahkサイトから「借りた」)

;Write to the array:
ArrayCount = 0
Loop, Read, C:\My_little_dir\test.txt{ ;test.txt contains 6-digit numbers separated only by ENTER/newline.
    ArrayCount += 1  ; Keep track of how many items are in the array.
    Arr_Bookings%ArrayCount% := A_LoopReadLine  ; Store this line in the next array element.
}

element=1

Change(direction, element, ArrayCount){
    if (direction = "next"){
        ;incrementing from the last element gets us back to the first element
        if (element = %ArrayCount%)
            {element=1}
        else
            {element+=1}
    }
    else{
        if (direction = "previous"){
            ;decrementing from the first element gets us back to the last element
            if (element=0)
            {element=%ArrayCount%}
        else
            {element-=1}
        }
    }
Return Arr_Bookings%element%
}

#N::Send % Change(next,element, ArrayCount)
#B::Send % Change(previous,element, ArrayCount)

ただし、実行すると、次のエラー メッセージが表示されます。

行テキスト: #N::Send Change(next,element, ArrayCount)

エラー: 関数内でホットキー/ホットストリングを使用することはできません。

めちゃくちゃな中括弧を何度もチェックしましたが、役に立ちませんでした(空白には意味がありません...そうですか?)。

これを引き起こしているアイデアはありますか?

また、このコードに他にひどく間違っている点があれば、遠慮なくお知らせください。

前もって感謝します!/レオ

4

1 に答える 1