Переменная в скрипте AutoIt распознает только первый символ из поля ввода

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

person VY VY    schedule 12.05.2011    source источник


Ответы (2)


Send("{100000000000000000}")

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

Send("100000000000000000")

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

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

Измените свой сценарий, чтобы сделать это вместо этого:

Send($price) ; enters variable
person Jos van Egmond    schedule 12.05.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
person Copas    schedule 10.06.2011