ホットキーを押すだけで配列から文字列を 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)
エラー: 関数内でホットキー/ホットストリングを使用することはできません。
めちゃくちゃな中括弧を何度もチェックしましたが、役に立ちませんでした(空白には意味がありません...そうですか?)。
これを引き起こしているアイデアはありますか?
また、このコードに他にひどく間違っている点があれば、遠慮なくお知らせください。
前もって感謝します!/レオ