Первое сообщение здесь, когда переполнение стека, я использовал форумы и скрывался некоторое время, но решил зарегистрироваться, так как моя работа теперь включает в себя гораздо больше скриптов.Autohotkey/pulovers macro creator inputbox loop error
Так что я использую Макро-Создатель Пуловера для создания сценария автошокса, и я не могу решить проблему с помощью команды InputBox.
Целью скрипта является проверка правильности ввода данных пользователя, сравнение выходной переменной с набором из 4 заданных значений. Если выходная переменная окажется недопустимой, MsgBox появится, чтобы сообщить пользователю, а затем скрипт возвращается назад к началу, чтобы они могли попробовать снова.
Проблема, с которой я сталкиваюсь, заключается в том, что скрипт зависает в команде InputBox, но только после того, как он вернулся к началу после того, как неверный символ был обнаружен с помощью ключа if.
например.
InputBox - пользователь вводит неверную переменную
появляется MsgBox
Скрипт перезагружается
InputBox - входы пользователей ДЕЙСТВИТЕЛЬНО переменных
Script висит
Вот мой код:
F8::
/*
This script asks for user input and keeps looping until the input matches the predefined valid strings.
*/
Loop
{
InputBox, price_type, title, text, , , , , , , , RRP ; Get user input for "price_type" variable
Sleep, 5
StringUpper, price_type, price_type ; convert variable to uppercase to allow error checking
Sleep, 5
If price_type not in RRP,SALE,OFFERING,WAS ; check variable for invalid strings
{
MsgBox, 16, Invalid Input, Invalid Input message ; warn user that input is invalid
}
Until, %price_type% in RRP,SALE,OFFERING,WAS ; infinite loop until variable matches valid input options
}
У меня есть подозрение, что проблема заключается в том, как создатель макроса, создающего макрос, формирует скрипт ahk, но у меня все идеи!
Любая помощь была бы принята с благодарностью.
Большое спасибо Дуга
Спасибо Джим! Много более аккуратный код, чем у меня :) – dougc39