MyChat Scripts: функция mDeleteAutoScriptByName, удалить time-скрипт
Удалить все вхождения тайм-скриптов, которые были добавлены для автоматического выполнения.
Синтаксис
function mDeleteAutoScriptByName(sScriptName: string): integer;
Параметры и возвращаемые значения
Параметр |
Тип |
Значение |
sScriptName |
string |
название тайм-скрипта. |
Результат функции
Функция возвращает, сколько скриптов с указанным названием было удалено из очереди выполнения.
Пример
В примере добавляется в очередь три одинаковых скрипта под именем "testautoscript". Они берутся из готового скрипта в качестве шаблона. Скрипт называется "TemplateScript" из раздела "Custom". Причём время для выполнения указывается уже прошедшее (-1, -2 и -3 минуты от текущего). Этот "трюк" означает, что в следующую секунду все эти три скрипта будут в любом случае выполнены планировщиком.
Но сразу после этого вызывается функция mDeleteAutoScriptByName по их удалению из очереди на выполнение и в отладочную консоль выводится, сколько скриптов было удалено.
В итоге, добавленные в очередь скрипты сразу удаляются и не выполняются.
var
n: integer;
begin
mAddAutoScriptFromTemplate('testautoscript', 'Custom\TemplateScript', IncMinute(Now, -1));
mAddAutoScriptFromTemplate('testautoscript', 'Custom\TemplateScript', IncMinute(Now, -2));
mAddAutoScriptFromTemplate('testautoscript', 'Custom\TemplateScript', IncMinute(Now, -3));
n := mDeleteAutoScriptByName('testautoscript');
mLogScript('Time scripts removed: ' + inttostr(n), '');
end.
Результат работы скрипта
[18:39:14] (Log "mDeleteAutoScriptByName"): Time scripts removed: 3
[18:39:14] (Run "mDeleteAutoScriptByName"): Время выполнения скрипта: 4 мс
[18:39:14] (Run "mDeleteAutoScriptByName"): Скрипт выполнен успешно.