
Гибкое программирование ЧПУ
1.10 Операции со строкой
Расширенное программирование
1-32
Руководство по программированию, выпуск 03/2006, 6FC5397-2BP10-1PA0
Пример разделения введенных данных по имени пути и блока
DEF INT PFADIDX, PROGIDX
DEF STRING[26] EINGABE
DEF INT LISTIDX
EINGABE = "/_N_MPF_DIR/_N_EXECUTE_MPF"
LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1 В качестве значения в LISTIDX возвращается 3; т.к. "N"
является первым символом в параметре EINGABE, из
списка выбора с начала.
PFADIDX = INDEX (EINGABE, "/") +1 ;при этом: PFADIDX = 1
PROGIDX = RINDEX (EINGABE, "/") +1 ;при этом: PROGIDX = 12
;с помощью введенной в следующем разделе ;функции
SUBSTR
;переменная EINGABE может быть разбита на
компоненты ;"Путь";и "Блок":
VARIABLE = SUBSTR (EINGABE, PFADIDX,
PROGIDX-PFADIDX-1)
;выводит "_N_MPF_DIR"
VARIABLE = SUBSTR (EINGABE, PROGIDX) ;выводит "_N_EXECUTE_MPF"
1.10.7 Выбор части строки
Функция
Эта функциональность позволяет выделить часть из строки. Для этого
указывается индекс первого символа и при необходимости желаемая длина.
Если информация о длине не указывается, то подразумевается остаток
строки.
Программирование
Синтаксис
STRING_ERG = SUBSTR (STRING,INT) Тип результата: INT
STRING_ERG = SUBSTR(STRING,INT, INT) Тип результата: INT
Семантика
В первом случае возвращается часть строки от позиции, установленной
первым параметром, до конца строки.
Во втором случае результирующая строка ограничена до макс. длины,
заданной третьим параметром.
Если начальная позиция лежит за концом строки, то возвращается пустая
строка (" "). При отрицательной начальной позиции или длине следует
ошибка.
Пример
DEF STRING [29] ERG
ERG = SUBSTR ("QUITTUNG: 10 до 99", 10, 2) ;тем самым: ERG == "10"
Не для продажи
со станком