GlobalStringsRemove
| 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;