MyChat Scripts Engine: mDeleteAutoScriptByName

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"): Скрипт выполнен успешно.
 

Ещё посмотреть

IncMinute

IntToStr

mAddAutoScriptFromTemplate

mLogScript

Now