AutoIt脚本中的变量仅识别输入框中的第一个字符

时间:2011-05-12 21:20:44

标签: variables autoit inputbox

我正在尝试创建能够在进入输入框后识别多字符变量(xx.xx格式的数字)的脚本。将xx.xx格式的变量输入到输入框后,变量将仅使用第一个字符显示为单个字符。例如,如果我将10.80放入输入框,则在运行脚本时重用该变量时,该变量将仅显示为1.

以下是使用变量的脚本部分:

Dim $price
$price = InputBox("Offer Price", "Input Offer Price")

Send("{TAB}")

Send("{"& $price &"}") ; Enters variable

Send("{DOWN}{TAB}{TAB}{TAB}{ENTER}")

2 个答案:

答案 0 :(得分:2)

Send("{100000000000000000}")

发送角色1。

Send("100000000000000000")

发送字符100000000000000000。

很多人对何时使用发送使用{花括号}感到困惑。

更改脚本以执行此操作:

Send($price) ; enters variable

答案 1 :(得分:1)

我觉得我可能完全误解了你的问题,但你似乎要求输入框检查输入是否符合特定的输入模式然后给你最左边的字符。这样就可以了。

While 1
    Local $responce = InputBox('Offer Price', 'Input offer price in XX.XX format.')
    If @error == 1 Then
        MsgBox(0, 'Cancel Pressed', 'You pressed cancel exiting loop.')
        ExitLoop
    EndIf

    If StringRegExp($responce, '\d{2}\.\d{2}') Then
        MsgBox(0, 'Success', 'The input fit the pattern XX.XX and the left most character of it = ' & StringLeft($responce, 1))
        ExitLoop
    Else
        MsgBox(0, 'Invalid Input', 'The input needs to be a number in XX.XX format.')
    EndIf
WEnd