Что нового

[Мышь, клавиатура] Завершение скрипта при нажатии комбинации клавиш и т.д. =)

Andeangl

Новичок
Сообщения
62
Репутация
4
Всем доброго дня! Позавчера узнал об этой программе, если буду задавать глупые вопросы прошу извенить =)

Хотелось бы чтобы при запуске скрипта чтобы его остановить нужно было ввести несколько символов (ну или один хотя бы=) ) то есть скрипт работает, но при нажатии определённой(ых) клавиш(и) происходило завершение скрипта.

Кроме того очень хочется чтобы он при этом "выплёвывал" в пользователя диалоговое окно, где содержались бы данные (примерно такие)

Всего сделано - количество (ну тут переменная-счётчик)
Ошибок - количество (тут, как ни странно, тоже =) )

Ну как-то так =) Всем ответившим вразумительно и не "аффтар нуп и апазорилса" большое спасибо! :beer:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
HotKeySet('^s', '_Quit')

$Count = 0
$Error = 0

While 1
	$Count += 1
	$Error += Random(0, 1, 1)
	Sleep(200)
WEnd

Func _Quit()
	MsgBox(64, 'Отчет', 'Всего сделано: ' & $Count & @CR & 'Ошибок: ' & $Error)
	Exit
EndFunc   ;==>_Quit


Выход - CTRL+S
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Или:
Код:
#include <Misc.au3>

GUICreate('TEst')
GUISetState()

While 1
	If _IsPressed(10) and _IsPressed(11) And _IsPressed(12) And _IsPressed(45) Then Exit
WEnd


CTRL + ALT + SHIFT + E

PS. Кликни по _IsPressed() для того чтобы посмотреть справку.
 
Автор
A

Andeangl

Новичок
Сообщения
62
Репутация
4
Извиняюсь если создаю сообщение-дубль, но не увидел свое сообщение в теме =(

Хотелось бы уточнить несколько моментов в варианте Yashied (Zaramot, извини пожалуйста, но я правда нуб, из того что ты написал ничего не понял :stars:smile::

1) HotKeySet('^s', '_Quit')
Если я правильно понял, это задаёт "горячую клавишу", '^S' обозначает какую клавишу сделать "горячей", '_Quit' - насколько горячей её сделать :smile: ну или что она делает =)

2) $Count = 0
$Error = 0

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

3) While 1
$Count += 1
$Error += Random(0, 1, 1)
Sleep(200)
WEnd

Немного не понял содерживое While. Ну что его зациклить нужно я понял, но:
1. Почему после переменных стоят "+" ?
2. $Error += Random(0, 1, 1) Для чего здесь нужен рандом? Чтобы просто наполнить переменную, или это какой-то элемент грамматики программы?
3. Ну спать как я понял это чтобы было меньше ошибок

4)
Func _Quit()
MsgBox(64, 'Отчет', 'Всего сделано: ' & $Count & @CR & 'Ошибок: ' & $Error)
Exit
EndFunc ;==>_Quit

Здесь также хочу несколько деталей уточнить, по строчкам:
1. Просто название функции?
2.1 MsgBox если можно кратко объясните что это за зверь такой? Вроде write ?
2.2 @CR что это? :-\
3. Ну это выход, как я понял =)
Кроме того не очень понял: 2 и 3 строчки (в последней цитате) это последовательность действий скрипта? Сначала выдать сообщение, а потом закрыться?
4. Конец функции понял, а что после ";" ? имеется в виду что тут пропущено какое-то содержание, а в конце нужно поставить "_Quit" ?

Спасибо =)

P.S. Cам не ожидал что так много букафф ... извиняюсь :whistle:
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Andeangl
Может Вам сначала прочитать справку к языку, что бы потом не спрашивали что такое 1+1?
 
Автор
A

Andeangl

Новичок
Сообщения
62
Репутация
4
Может Вам сначала прочитать справку к языку, что бы потом не спрашивали что такое 1+1?

1+1 = ln(e) + cos^2(sqrt 5) + sin^2 (sqrt 5) ещё вопросы? 8)

P.S. Если ты прочитал что я там писал, а не зашёл "на огонёк", то я там писал, что в справке были некоторые вещи написаны непонятно.
P.P.S. Тролли общающиеся со мной долго не живут :stars: (если не понятно почему могу объяснить 1+1 ещё более доходчиво :blum:)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
1 + 1 = 2

:smile:

Andeangl

Серьезно, начни изучать язык на базе этого примера. Это будет хорошее начало. Просто все вопросы, которые ты здесь задал, очень хорошо описаны в справке (есть и русская версия). Это не займет много времени. Удачи.


Добавлено:
Сообщение автоматически объединено:

Код:
$Count += 1


эквивалентна

Код:
$Count = $Count + 1
 
Автор
A

Andeangl

Новичок
Сообщения
62
Репутация
4
1 + 1 = 2
Да, но это не интересно :smile:

Серьезно, начни изучать язык на базе этого примера. Это будет хорошее начало. Просто все вопросы, которые ты здесь задал, очень хорошо описаны в справке
Если честно я более-менее разобрался в языке, сейчас интересуют тонкости :smile: Но попробую всё же сам разобраться, если кто ответит на вопросы буду благодарен :smile:

$Count += 1
Эквивалентна
$Count = $Count + 1
Понятно, спасибо =)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
$Count += 1
$Error += Random(0, 1, 1)


Это просто наполнение счетчиков, для примера, и не несут никакой смысловой нагрузки.
 
Автор
A

Andeangl

Новичок
Сообщения
62
Репутация
4
Всё, ответы получены, пойду пробовать :smile: Всем большое спасибо за помощь!

:IL_AutoIt_1:
 
Верх