0

私の現在のコードは、ユーザーから10から56までの2桁の入力を読み取りました

最後のユーザー入力を変数に保存して、後でコードのどこかで使用できるようにする方法はありますか?

ここに私のコードと同じです

ユーザーが11を入力した場合、変数に11を保存したいので、ユーザーが21を入力した場合に後で使用できるようにしますその変数に21を保存したい

1::
Input Key, L1


if Key=1
            {
             ; do code
}
if Key=2
            {
             ; do code
}
return

2::
Input Key, L1


if Key=1
            {
             ; do code
}
if Key=2
            {
             ; do code
}
return

編集されたコード

myVar=0

#o::
MsgBox %myVar% - 1 

return

したがって、ユーザーが 11 を入力すると、myVar = 11 が設定されます。次に、myVar - 1 を減算して MsgBox に出力しようとしますが、そうではありませんか? 11 減算 1 の代わりに 11 - 1 が表示されます。MsgBox の代わりに Send、%myVar% - 1 を後で使用します。

ありがとう

4

2 に答える 2

0

12を取得したいことをするために1が押された場合、2が押された場合、押されたキーの組み合わせが必要だと思います..

グローバル変数を使用するだけです

global myVar

-> このような変数定義は、プログラムのどこからでもアクセスできます。

次に、一連の If 文で myVar を定義するだけです。

1::
    Input Key, L1


    if Key=1
    {
        myVar:=11
        ; do code
    }
return
于 2013-01-13T00:09:29.553 に答える
0

autohotkey には 2 種類の割り当てステートメントがあります: =&:=

  1. line1 = %g_number% - 1 ;this is a string

  2. line2 := g_number - 1 ;this is an expression

もしもg_number = 5

line1は に評価され5 - 1、に評価さline24ます。

完全なコード

#SingleInstance Force
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

g_number = 0

keys := "0123456789"

Loop, parse, keys
{
    Hotkey, %A_LoopField%, NumberKeyAction
}

return

#o::
    line1 = %g_number% - 1
    line2 := g_number - 1
    msgbox, %line1%`n%line2%
    return

NumberKeyAction:
    Input second_key, L1
    number = %A_ThisHotkey%%second_key%
    tooltip, %number%
    g_number := number
    return
于 2013-01-13T10:32:20.973 に答える