-1

AutoHotKey を使用しています。私は C にもタグを付けたことを知っています。十分な C プログラミングの知識を持っている人もここで役立つと思います。

以下のコードは私のために働いています。ユーザーからの 2 つのキーボード入力を読み取り、ユーザーが押した内容に基づいて、その場合のコードを実行します。

1::
Input Key, L1

if Key=1
    {
        ;your code
}
if Key=2
    {
        ;your code
}   
2::
Input Key, L1

if Key=1
    {
        ;your code
}
if Key=2
    {
        ;your code
}   

ユーザーが + または - キーを押した場合にループまたは何かを追加できるかどうかを知りたいのですが、一度に 1 つのケースが


実行
されます。
ユーザーが押すと 1 2 が実行されます - 1
1が実行
されます。


これができるかどうかはわかりません。


私はプログラミングが初めてです。助けてください :)

4

3 に答える 3

1

グローバル変数を使用できます。グローバル変数は、関数内にのみ存在する通常の変数とは異なり、プログラム内のどこからでもアクセスできます。

例:

#NoEnv
#Persistent
SetBatchLines, -1


global myVar = 0


h::
    myVar := myVar + 1
    execute()
return


g::
    myVar := myVar - 1
    execute()
return


execute()
{
    if(myVar == 1)
    {
        ;do stuff
        tooltip, myVar: %myVar%
    }
    else if (myVar == 2)
    {
        ;do stuff
        tooltip, myVar: %myVar%
    }
    else if (myVar == 3)
    {
        ;do stuff
        tooltip, myVar: %myVar%
    }
    else if (myVar == 4)
    {
        ;do stuff
        tooltip, myVar: %myVar%
    }
    else if (myVar == 5)
    {
        ;do stuff
        tooltip, myVar: %myVar%
    }   
    else
    {
        ; nothing
        tooltip,
    }

return
}

これがあなたが求めていたものであることを願っています。質問からはよくわかりませんでした。

于 2013-01-10T11:06:16.730 に答える
0

; これの一部は、疑似コードと呼ばれるものです。(あなたがよく知っているかどうかはわかりません)。実際のコードに変換する必要があります...

; AHKのために書かれた...

現在の番号 = 1

(プラスキー):: CurrentNumber += 1 send %CurrentNumber% return

(マイナスキー):: CurrentNumber -= 1 send %CurrentNumber% return

; これがあなたが探していたものかどうかはわかりません..ループが必要な場合は異なります。; いずれにせよ、頑張ってください、私は出かけます..

于 2013-01-10T02:13:23.787 に答える
0
+::
keywait, +, u
{
    If var =
        var = 11
    Else
        var++
}
Return
-::
keywait, -, u
{
    If var =
        var = 11
    Else
        var--
}
Return

「var」は、コード内の 2 桁または 1 桁の数字を持つ変数と同じ名前にする必要があります。

あなたもこれを使うかもしれません

NumpadAdd::
keywait, NumpadAdd, u
{
    If var =
        var = 11
    Else
        var++
}
Return
NumpadSub::
keywait, NumpadSub, u
{
    If var =
        var = 11
    Else
        var--
}
Return
于 2013-01-13T19:43:14.207 に答える