Архив рубрики: ControlE_R

stopScript()

Останавливает функцию по указанному идентификатору.

Краткий обзор

int stopScript(идентификатор int);

Параметр

ПараметрОписание
IDИдентификатор функции, которая должна быть остановлена

Возвращаемое значение

успех: 0, остальное -1

Ошибка

Удостоверение личности недоступно.

Описание

Функции останавливают функцию, которая была запущена с указанным идентификатором

Назначение

Различные Функции

Доступность

CTRL

Смотрите также

evalScript()execScript()

startScript()

Функция startScript запускает скрипт, который не зависит от скрипта, с которого он был запущен.

Краткий обзор

int startScript(строка|int script [, dyn_string dollars [, строковая функция, [аргументы dyn_anytype]]]);

Параметр

ПараметрОписание
скриптВыполняет скрипт
долларыПараметр $ скрипта
функцияНеобязательный аргумент “func” в startScript() указывает CTRL, какую функцию в скрипте запускать. По умолчанию это “основная” функция.
аргумент“args” — это список аргументов, передаваемых запущенной функции. Обратите внимание, что данный dyn_anytype внутренне разделен и передается в качестве отдельных аргументов функции started, например, для передачи dyn_anytype с 3 элементами потребуется функция main() с 3 аргументами.

Возвращаемое значение

успех 0, остальное -1

Ошибка

Недопустимые аргументы

Описание

Функция startScript запускает сценарий, который не зависит от сценария, с которого он был запущен, что означает: когда инициирующий сценарий уничтожается, вновь запущенный сценарий не затрагивается и остается в рабочем состоянии.

Однако запущенный скрипт удалит сам себя, когда startScript() получит только один строковый аргумент и новый скрипт завершит выполнение.

startScript() возвращает идентификатор сценария запущенного сценария, который можно повторно использовать для повторного запуска сценария, когда он все еще доступен (например, когда он удалился из-за startScript() только с одним строковым аргументом, и сценарий уже завершен, он больше недоступен).

ПРИМЕР

startScript("main() { DebugN(123); }");  will delete the new script after the Debug output
int id = startScript("main() { DebugN(123); }", ""); 

// will not delete the new script after the Debug output and the script can be started again by calling:
startScript(id);

В отличие от execScript() и evalScript(), инициирующий поток не будет заблокирован при использовании startScript(). Будет запущен новый скрипт, и оба потока (инициирующий поток и новый основной поток) будут выполняться параллельно.

Чтобы остановить и удалить скрипт, запущенный startScript(), можно использовать stopScript(id);

Если скрипт запущен как “сохранить по завершении” (путем передачи более 1 аргумента в startScript()), нужно явно использовать stopScript() для удаления скрипта и освобождения связанной памяти, в противном случае скрипт существует, и память используется до тех пор, пока весь менеджер не остановится.

Назначение

Разные функции

Доступность

CTRL

смотрите также

evalScript()execScript()

runRealSQLQuery()

Функция runRealSQLQuery выполняет SQL-запрос к базе данных RDB.

Краткий обзор

int runRealSQLQuery(строка SqlQuery, результат dyn_dyn_anytype);

Параметры

ПараметрОписание
SqlQuerySQL-запрос. Обратите внимание, что должен использоваться SQL-запрос. This is not a “КАСКАД Цифра” SQL query. Используйте синтаксис SQL (команды SELECT, FROM, WHERE и т.д.). Смотрите пример ниже.
РезультатРезультат запроса.

Возвращаемое значение

В случае ошибки функция возвращает 0, в противном случае — 1.

Ошибка

Недопустимые или отсутствующие аргументы

Описание

Функция runRealSQLQuery выполняет SQL-запрос к базе данных RDB. Запрос выполняется с использованием текущего подключения к базе данных.

ОСТОРОЖНО

Будьте осторожны при использовании функции. Неверные запросы могут вызвать нежелательные побочные эффекты.

ЗначокПРИМЕР

В примере выбираются исходные значения из таблицы EVENTHISTORY_31615001 и выводятся их значения.


main() {
dyn_dyn_anytype result;
int i; i = runRealSQLQuery("SELECT '_original.._value' FROM EVENTHISTORY_31615001", result);
DebugN(result);
}

Доступность

Пользовательский интерфейс

Смотри также

runRealSQL()

runRealSQL()

Функция runRealSQL выполняет команду SQL, которая не возвращает значение, такое как INSERT или DELETE.

Краткий обзор

int runRealSQL(строка SqlCommand);

Параметры

ПараметрОписание
Команда SqlCommandКоманда SQL, которая не возвращает значение, такое как INSERT или DELETE.

Возвращаемое значение

В случае ошибки функция возвращает 0, в противном случае — 1.

Описание

Функция runRealSQL выполняет команду SQL, которая не возвращает значение, такое как INSERT или DELETE. Команда выполняется с использованием текущего подключения к базе данных.

ОСТОРОЖНО

Будьте осторожны при использовании функции. Недопустимые запросы могут вызвать нежелательные побочные эффекты.


Назначение

RDB

Доступность

Пользовательский интерфейс

Смотрите также

runRealSQLQuery()

RSASealEnvelope()

Функция RSASealEnvelope() шифрует данные.

Краткий обзор

int RSASealEnvelope(адрес ключа строки, входные данные большого двоичного объектабольшой двоичный объекти зашифрованные данные)

Параметры

ПараметрОписание
Ключевой адресpublicPEM ( открытый ключ ) , сгенерированный с помощью функции RSAGenerateKeyPair()
Входные данныеДанные, подлежащие шифрованию.
Зашифрованные данныеЗашифрованные данные.

Возвращаемое значение

В случае ошибки функция возвращает значение -1, а в противном случае — 0.

Описание

Функция RSASealEnvelope() шифрует данные.

Назначение

Функции RSA

Доступность

Пользовательский интерфейс

Смотри также

 RSAGenerateKeyPair() and RSAOpenEnvelope()

RSAOpenEnvelope()

Функция RSAOpenEnvelope() расшифровывает данные.

Краткий обзор

int RSAOpenEnvelope(строковый адрес ключа, blob зашифрованные данные, blobи выходные данные)

Параметры

ПараметрОписание
Ключевой адресprivatePEM ( закрытый ключ ) , сгенерированный с помощью функции RSAGenerateKeyPair()
Зашифрованные данныеЗашифрованные данные, которые будут расшифрованы.
Выходные данныеРасшифрованные данные.

Возвращаемое значение

В случае ошибки функция возвращает значение -1, а в противном случае — 0.

Описание

Функция RSAOpenEnvelope() расшифровывает данные.

Назначение

Функции RSA

Доступность

UI

См. также

 RSASealEnvelope() and RSAOpenEnvelope().

RSAGenerateKeyPair()

Функция RSAGenerateKeyPair() генерирует открытый и закрытый ключи для функций RSASealEnvelope() и RSAOpenEnvelope().

Краткий обзор

int RSAGenerateKeyPair(строка иpublicPEM, строка иprivatePEM[, int бит = 2048]);

Параметры

ПараметрОписание
publicPEMОткрытый ключ используется для шифрования данных с помощью функции RSASealEnvelope()
Личный кабинетЗакрытый ключ используется для расшифровки данных.
битыРазмер ключа: количество битов, используемых в открытом (publicPEM) и закрытом (privatePEM) ключах.

Возвращаемое значение

В случае ошибки функция возвращает значение -1, а в противном случае — 0.

Описание

Функция RSAGenerateKeyPair() генерирует открытый и закрытый ключи для функций RSASealEnvelope() и RSAOpenEnvelope().

Назначение

Функции RSA

Доступность

Пользовательский интерфейс

Смотри также

 RSASealEnvelope() and RSAOpenEnvelope().

renameUserPVSS()

Изменяет имя пользователя «КАСКАД Цифра».

Краткое описание

bool renameUserPVSS(unsigned pvssUserID, string userName, langString userFullName = «», langString userComment=»»);

Параметры

ПараметрыЗначение
pvssUserIDИдентификатор пользователя «КАСКАД Цифра»
userNameНовое имя пользователя.
userFullNameНовое полное имя пользователя.
userCommentКомментарии к пользователю.

Возвращаемое значение

Изменяет имя пользователя «КАСКАД Цифра».

Ошибки

«ИСТИНА» — если функция успешно изменила имя пользователя. В случае возникновения ошибок — ЛОЖЬ.

Описание

Изменяет имя пользователя «КАСКАД Цифра».
ЗначокПРИМЕР Изменяет имя пользователя «demo» (идентификатор 4098) на «Test».
main() 
{
    bool r;
    r = renameUserPVSS (4098,»Test», «Test»,»New user name Test»);
 DebugN(r); 
}

Используется для объекта

Управление пользователями

Доступность

CONTROL

См. также

renameGroupPVSS()

Изменяет имя группы пользователей «КАСКАД Цифра».

Краткое описание

bool renameGroupPVSS(unsigned pvssGroupID,  string groupName, langString groupFullName = «», langString groupComment=»»);

Параметры

ПараметрыЗначение
pvssGroupIDИдентификатор группы «КАСКАД Цифра».
 
 //0 = root
 //1 =  PARA
 //2 = operatorAll («все операторы»)
 //3 = operator («оператор»)
 //4 = guest («гость»)
//5  = собственная группа пользователей «КАСКАД Цифра».
groupNameНовое имя группы.
groupFullNameПолное имя группы.
groupCommentКомментарии к группе.

Возвращаемое значение

Изменяет имя группы пользователей «КАСКАД Цифра».

Ошибки

«ИСТИНА» — если функция успешно выполнила переименование группы. В случае возникновения ошибок — ЛОЖЬ.

Описание

Изменяет имя группы пользователей «КАСКАД Цифра».
ЗначокПРИМЕР Изменяет имя группы «Gast» (идентификатор 4) на «Guest».
main() {    bool r;    r = renameGroupPVSS(4,»Guest», «Guest»,»New group guest»);
DebugN(r); }

Используется для объекта

Управление пользователями

Доступность

CONTROL

См. также

regexpSplit()

Функция “regexpSplit()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений.

Краткий обзор

int regexpSplit(string rexexp, строковая строка, dyn_string и результат, [параметры сопоставления];

ПараметрОписание
rexexpРегулярное выражение. Разрешенные символы см. в http://doc.qt.io/qt-4.8/qregexp.php#capturedTexts разделе “Символы и сокращения для наборов символов”.
Примером может быть, например, “[a-z| A-Z]+” .
В этом примере выполняется поиск букв A.z и A.Z, а знак + выполняет поиск буквы один или несколько раз, что означает, что знак + обозначает по крайней мере однократное повторение. С помощью выражения “[a-z|A-Z]+”, например, можно отделять буквы от цифр.
строкаСтрока, которая проверяется.
РезультатРезультат поиска.
ОпцииДля сопоставления могут использоваться следующие клавиши:
StartPosition: установка начальной позиции для поиска:
(По умолчанию: int 0)
с учетом регистра: установка соответствия с учетом регистра
(по умолчанию: bool false)
Установка минимального соответствия (по умолчанию: bool false): вы можете ограничить результат, используя минимальное соответствие. В следующем примере показан вывод с параметром “minimal” и без “minimal”.
результат dyn_string;
DebugN(regexpSplit(“<b>.*</b>”, “Мы должны быть <b> выделены жирным шрифтом</b>, очень <b> выделены жирным шрифтом</b>!”, результат, makeMapping(“minimal”, FALSE)));
DebugN(“Результат с минимальным значением = false:”, результат);
Вывод отладки:
WCCOAui1:[11]
WCCOAui1:[“Результат с минимальным значением = false:”][элементы dyn_string 1
WCCOAui1: 1: “<b> жирный</b>, очень <b> жирный</b>”

dyn_string result1;
DebugN(regexpSplit(“<b>.*</b>”, “Мы должны быть <b> жирными</b>, очень <b> жирными</b>!”, result1, makeMapping(“минимальный”, TRUE)));
DebugN(“Результат с минимальным значением = TRUE – default:”, result1);
Отладочный вывод:
CCOAui1:[“Результат с минимальным значением = TRUE – default:”][ dyn_string 1 элементы
WCCOAui1: 1: “<b> выделено жирным шрифтом</b>”

Возвращаемое значение

  • Функция возвращает >=0 (Положение совпадения), когда совпадение было успешно найдено.
  • Функция возвращает значение -1, если совпадение не найдено.
  • Функция возвращает значение -2, когда регулярное выражение содержит ошибку. Ошибки могут быть извлечены с помощью функции GetLastError().
  • Функция возвращает -3, когда функция содержит неправильные аргументы.

Ошибки

Смотри выше

Описание

Функция “regexpSplit()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанным символам и выделяет их из строки.

ПРИМЕР

Первый пример выполняет поиск букв в строке “This?is6a55Test:=regexSplit### Функция” и выводит буквы:

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «This»

WCCOAui1:][«This»]

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «is»

WCCOAui1:][«is»]

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «a»

WCCOAui1:][«a»]

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «Test»

WCCOAui1:][«Test»]

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «regexSplit»

WCCOAui1:][«regexSplit»]

WCCOAui1:[dyn_string 1 items

WCCOAui1:     1: «Function»

WCCOAui1:][«Function»]

Второй пример отделяет слова, которые были разделены через \, от строки (текста) “Sybcom Company\twww.sybcom.at\Russia” и выводит их:

WCCOAui1:     1: [dyn_string 4 items

WCCOAui1:     1: «Sybcom Company       www.sybcom.at      Austria»

WCCOAui1:     2: «Sybcom Company»

WCCOAui1:     3: «www.sybcom.at»

WCCOAui1:     4: «Russia»


main(mapping event)

{

  dyn_string 

  result;

  int i = 0;

  string s;

  while( i >= 0 )

  {

   i = regexpSplit("[a-z|A-Z]+", ""This?is6a55Test:=regexSplit###Function"", result, makeMapping("startPosition", i + strlen(s)));

   s = dynlen(result) > 0 ? result[1] : "";

   DebugN(result,  s);

   delay(0, 100);

  }

  dyn_string 

  result;

  DebugN(regexpSplit("^([^\t]+)\t([^\t]+)\t([^\t]+)$", "Sybcom Company\twww.sybcom.at\tRussia", result));

  DebugN(result);

}

Назначение

Регулярные выражения

Смотрите также

regexpIndex()regexpLastIndex()