Difference between revisions of "GlobalStringsRemove"

From SunFlurry wiki
Jump to: navigation, search
1>Admin
(Created page with "{{infobox function |name=GlobalStringsRemove |object=Функции общего назначения |caption=Глобальные строки-массивы |type=1 |st...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 11:59, 1 April 2026

  GlobalStringsRemove (Глобальные строки-массивы)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные агрументы, системная ошибка сервера, не найден массив.
Визуальность:Нет

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

Синтаксис

GlobalStringsRemove(<Имя или идентификатор массива (STRING,INT)>,<Значения (STRING,LIST)>,<Режим (INT)>=0):<Статус или результат (INT,LIST)>

Аргументы

  • <Имя или идентификатор массива (STRING,INT)> - Параметр задает имя массива (строка) или идентификатор массива (число) для удаления значений.
  • <Значения (STRING,LIST)> - Значения для удаления могут быть в списке или в строке. Каждое значение может содержать префикс, отделенный от основной строки разделителем префикса (см. GlobalStringsHeapsAdd). При добавлении из строки, каждое значение (с префиксом) должно быть разделено разделителем значений (см. GlobalStringsHeapsAdd).
  • <Режим (INT)> - (необязательный аргумент) Аргумент задает режим удаления и является битовой маской. На данный момент доступны следующие биты:
    • бит 0 -- если установлен, функция возвращает список удаленных из массива значений (только те, что были найдены), иначе статус будет числом (см. ниже).
    • бит 1 -- если установлен, функция не выполняет удаления значений, если хотя бы одно из них отсутствует в массиве на момент выполнения операции. Если сброшен (по умолчанию), функция удаляет найденные, вне зависимости от того, все ли значения присутствуют в массиве.

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

Если бит 0 аргумента режима сброшен (по умолчанию), возвращает следующее числовое значение: 0 -- ни одно из искомых значений не было найдено в массиве (удаления не производилось), 1 -- некоторые значения присутствовали в массиве (по умолчанию, он были удалены из массива, но при установке бита 1 аргумента режима, массив не был изменен), 2 -- все значения присутствали в массиве и были удалены. Если бит 0 аргумента режима установлен, функция возвращает список.

Примеры


...
//СтрСтарыеМарки: значения для удаления разделены заранее заданной строкой-разделителем.
//СпМассивыМарок: массивы, созданные на данный момент
If СтрСтарыеМарки<>"" Then
  For i:=1 To СпМассивыМарок.Size() Do
    Try
      GlobalStringsRemove(СпМассивыМарок[i],СтрСтарыеМарки,0);//Удалить те, которые были найдены
    Except
      //Возможно, один из старых массивов был удален до этой операции другим пользователем
    EndTry;
  EndDo;
EndIf;