Проверить аналитику по маске

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
SergZol
заказчик
Сообщения: 83
Зарегистрирован: Пн, 10/12/2007 13:24
Имя Фамилия: Сергей Золотухин
Откуда: Северо-Западные Магистральные Нефтепроводы
Контактная информация:

Проверить аналитику по маске

Сообщение SergZol »

как на Vip-e проверить соответствие аналитики маске.
т.е. имеем маску как в PAT формах "01;02;0501;1410" как проверить по этой маске код 05
PS
также интересно обработка # и | и т.п.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Сообщение larin »

Из документации по ТХО API

3.4.5.1. Проверить, удовлетворяет ли строка (Str) маске (Mask)

Код: Выделить всё

function MatchesMask(Str, Mask : string): Boolean;
Маски могут включать обычные символы (буквы и цифры), а также специальные выражения:

* или # любое количество символов;

? один любой символ;

[cx~z] один любой символ из перечисленных в квадратных скобках;

[!cx~z] один любой символ кроме тех, что указаны в квадратных скобках.

Допускаются и отдельные символы, и их диапазоны. Диапазоны обозначаются символом '~'.
Например, коды объектов 1010, 101000, 101001, 1010A, 1010B могут быть выбраны с помощью маски 1010#.

Маска #1010# выберет и 1010, и A1010A, и B1010B.

Маска [ABX~Z]#1010 может выбрать и Alpha1010, и Beta1010, и Xsystem1010, и Ysystem1010, и Zsystem1010.

В фильтрах можно задать несколько масок, разделенных точкой с запятой. Например, чтобы выбрать все объекты серии 1010, 1020 и 1030, вы можете ввести маску #1010#;#1020#;#1030#.
В фильтрах также можно указать маски исключения. Маска исключения — это одна или несколько масок, которым не должны соответствовать коды требуемых объектов, она отделяется от основной маски символом | (вертикальная черта).

Примеры использования масок исключения:

1. 1010#
Все объекты с кодами, начинающимися на 1010.

2. #|1010#;1020#
Все объекты, кроме тех, у которых коды начинаются на 1010 и 1020.

3. #|
Все объекты, кроме тех, у которых код пустой.

4. #|1010#|1020#
Ошибка — спецсимвол | не может встречаться более одного раза.

5. |1010#
Обрабатывается как #|1010#

Через точку с запятой перечисляются маски, а при помощи символа '|' маски-включения отделяются от масок-исключения.
Ответить