2018-02-05 17:22:04 +03:00
|
|
|
|
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>after</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>after</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда <strong>after</strong> указывает, что некоторая команда должна
|
|
|
|
|
быть выполнена с задержкой по времени.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#ms><strong>after</strong></a> <em>ms</em>
|
|
|
|
|
<a href=#ms_script><strong>after</strong></a> <em>ms</em> ?<em>script</em> <em>script</em> <em>script</em>...?
|
|
|
|
|
<a href=#cancel_id><strong>after</strong> <strong>cancel</strong></a> <em>id</em>
|
|
|
|
|
<a href=#cancel_script_script><strong>after</strong> <strong>cancel</strong></a> <em>script</em> <em>script</em> <em>script</em>...
|
|
|
|
|
<a href=#idle><strong>after</strong> <strong>idle</strong></a> ?<em>script</em> <em>script</em> <em>script</em>...?
|
|
|
|
|
<a href=#info><strong>after</strong> <strong>info</strong></a> ?<em>id</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</pre>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p> Команда используется для того, чтобы отложить выполнение
|
|
|
|
|
программы или выполнить указанную команду в фоновом режиме в
|
|
|
|
|
некоторый момент в будущем. У команды есть несколько форм,
|
|
|
|
|
зависящих от ее первого аргумента.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<dl>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=ms></a><strong>after</strong> <em>ms</em></dt>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> <em>Ms</em> - целое число, задающее задержку в миллисекундах.
|
|
|
|
|
Команда обеспечивает задержку на соответствующее число
|
|
|
|
|
миллисекунд до своего завершения. Во время задержки приложение
|
|
|
|
|
не реагирует на события.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=ms></a><strong>after</strong> <em>ms</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
?<em>script</em> <em>script</em> <em>script</em>...?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> В этой форме команда завершается немедленно, но при этом
|
|
|
|
|
она обеспечивает выполнение Tcl-команды <em>script script
|
|
|
|
|
script</em> через соответствующее время. Команда выполняется
|
|
|
|
|
ровно один раз в установленный момент времени. Команда
|
|
|
|
|
формируется объединением всех перечисленных аргументов
|
|
|
|
|
<em>script</em> таким же образом, как при выполнении команды <a
|
|
|
|
|
href=concat.html><strong>concat</strong></a>. Команда выполняется
|
|
|
|
|
на глобальном уровне (вне контекста какой-либо
|
|
|
|
|
Tcl-процедуры). Ошибки во время выполнения команды (если они
|
|
|
|
|
происходят) обрабатываются с помощью процедуры <a
|
|
|
|
|
href=bgerror.html><strong>bgerror</strong></a>. Команда
|
|
|
|
|
<strong>after</strong> в этой форме возвращает идентификатор, который
|
|
|
|
|
может быть использован для отмены отложенной команды с помощью
|
|
|
|
|
команды <strong>after cancel</strong>.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=cancel_id></a><strong>after</strong> <strong>cancel</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<em>id</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> Отменяет исполнение ранее заявленной отложенной команды.
|
|
|
|
|
<em>Id</em> определяет, какая именно команда будет отменена.
|
|
|
|
|
Значение <em>id</em> должно совпадать со значением, возвращенным
|
|
|
|
|
предыдущей командой <strong>after</strong>. Если соответствующая команда
|
|
|
|
|
уже выполнена, команда <strong>after cancel</strong> игнорируется.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=cancel_script_script></a><strong>after</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>cancel</strong> <em>script</em> <em>script</em>...</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> Эта команда также отменяет выполнение ранее заявленной
|
|
|
|
|
отложенной команды. Все перечисленные скрипты <em>script</em>
|
|
|
|
|
объединяются через пробел таким же образом, как при выполнении
|
|
|
|
|
команды <a href=concat.html><strong>concat</strong></a>. После
|
|
|
|
|
чего ищется отложенная команда с аналогичным скриптом. Если
|
|
|
|
|
такая команда будет найдена, ее исполнение будет отменено. В
|
|
|
|
|
противном случае команда <strong>after cancel</strong> игнорируется.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=idle></a><strong>after</strong> <strong>idle</strong> <em>script</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
?<em>script</em> <em>script</em>...?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd> Все перечисленные скрипты объединяются через пробел таким
|
|
|
|
|
же образом, как при выполнении команды <a
|
|
|
|
|
href=concat.html><strong>concat</strong></a>. Сформированная таким
|
|
|
|
|
образом Tcl команда выполняется позже. Она выполняется ровно
|
|
|
|
|
один раз в первом цикле обработчика событий, в котором не
|
|
|
|
|
будет других необработанных событий. Команда <strong>after idle</strong>
|
|
|
|
|
возвращает идентификатор, который может быть использован для
|
|
|
|
|
отмены отложенной команды. Ошибки во время выполнения команды
|
|
|
|
|
(если они происходят) обрабатываются с помощью процедуры <a
|
|
|
|
|
href=bgerror.html><strong>bgerror</strong></a>.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=info></a><strong>after</strong> <strong>info</strong> ?<em>id</em>?</dt>
|
|
|
|
|
|
|
|
|
|
<dd> Эта команда используется для получения информации об
|
|
|
|
|
отложенных командах. Если аргумент <em>id</em> отсутствует , то
|
|
|
|
|
возвращает список идентификаторов отложенных команд. Если
|
|
|
|
|
аргумент <em>id</em> указан и соответствует идентификатору
|
|
|
|
|
отложенной команды, которая не отменена и еще не выполнена,
|
|
|
|
|
возвращается список из двух элементов. Первый элемент списка
|
|
|
|
|
- Tcl-скрипт соответствующей команды, второй - <strong>idle</strong>
|
|
|
|
|
или <strong>timer</strong> в зависимости от того, по какому событию
|
|
|
|
|
предполагается вызов команды.
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команды <strong>after ms</strong> и <strong>after idle</strong> предполагают, что
|
|
|
|
|
приложение управляется событиями. Отложенные команды не
|
|
|
|
|
выполняются, если в приложении не активизирован цикл обработки
|
|
|
|
|
событий. В приложениях, в которых он обычно не активизирован,
|
|
|
|
|
таких как <strong>tclsh</strong>, цикл обработки событий может быть
|
|
|
|
|
активизирован с помощью команд <a href=
|
|
|
|
|
vwait.html><strong>vwait</strong></a> и <a href=
|
|
|
|
|
update.htm><strong>update</strong></a>.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</body>
|
|
|
|
|
</html>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|