Переменная в скрипте AutoIt распознает только первый символ из поля ввода - PullRequest
1 голос
/ 13 мая 2011

Я пытаюсь создать скрипт, способный распознавать многосимвольную переменную (число в формате 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 ]

2 голосов
/ 13 мая 2011
Send("{100000000000000000}")

отправляет символ 1.

Send("100000000000000000")

отправляет символы 100000000000000000.

Многие люди путаются с тем, когда использовать {фигурные скобки} с Send.

Измените ваш скрипт, чтобы сделать это вместо:

Send($price) ; enters variable
1 голос
/ 11 июня 2011

У меня такое ощущение, что я, возможно, совершенно неправильно понимаю ваш вопрос, но вы, кажется, спрашиваете о поле ввода, которое проверяет, соответствует ли ввод определенному шаблону ввода, а затем дает вам самый левый символ этого. Это сделает это.

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
...