Если вы уверены, что строка появляется только в конце, то самым простым способом было бы использовать «replace»:
url = 'abcdc.com'
print url.replace('.com','')
с несколькими тройными операциями, вы можете видеть, что кнопка отмены устанавливает флаг ошибки, и она делает = 1 или == 1 или = True (потому что True оценивает 1)
$input = InputBox("game : +/-", "Write a number:")
$result = (@error == 1) ? 'cancel was pressed' : $input
msgbox(0, '' , $result = '' ? 'empty string' : $input)
Когда вы вызываете функцию InputBox
, возвращаемые значения, чтобы указать результат процесса, это:
Успех: строка, которая была введена.
Ошибка : "" (пустая строка) и устанавливает флаг @error в ненулевое значение.
@error: 1 = кнопка Отмена нажата. 2 = Достигнуто время ожидания. 3 = Не удалось открыть InputBox. Это обычно вызвано плохими аргументами. 4 = InputBox не может быть отображен на любом мониторе. 5 = Недопустимая ширина параметров без высоты или слева от вершины.
blockquote>Таким образом, по сути, это означает, что если он возвращает непустую строку, дело «успех», вам не нужно беспокоиться о
@error
. Если возвращается любое ненулевое значение, значение@error
будет указывать на то, что произошло. Поэтому, если в случае ошибки, которую вы просто хотите вернуть, вы должны использовать этот оператор if:If (@error <> 0) Then $End = True
Это работает, потому что мы знаем, что
@error == 0
, тогда поле ввода было успешным и значение был возвращен, иначе мы знаем, что он выбрал одну из ошибок, перечисленных выше. Я ожидал, что закрытие окна будет иметь тот же эффект, что и нажатие на отмену, т. Е.@error == 1
, но я еще не проверил.В дальнейшем, если вы захотите, вы можете включить значение
@error
и используйте это, чтобы дать пользователю сообщение об ошибке в строке «пожалуйста, введите значение» или «команда вышла из строя», но в этом случае это кажется более чем обязательным.
соответствующая документация: https://www.autoitscript.com/autoit3/docs/functions/InputBox.htm
Удачи!
@error
при закрытии окна и посмотреть, что произойдет. Извините, если вы почувствовали, что у меня есть копание для цитирования документов, но вы будете поражены тем, сколько людей даже не задают вопрос Google, прежде чем спрашивать ...
– Persistence
14 July 2018 в 20:11