Arbeitsvorbereitung
4.1 Flexible NC-Programmierung
INT_ERG=MATCH(STRING,STRING) ; Ergebnistyp: INT
Semantik
Suchfunktionen: Sie liefern die Position im String (erster Parameter) zurück, wo die Suche
erfolgreich war. Kann das Zeichen/der String nicht gefunden werden, wird der Wert -1
zurückgegeben. Das erste Zeichen hat dabei die Position 0.
Bedeutung
INDEX:
RINDEX:
MINDEX:
MATCH:
So lassen sich Strings nach bestimmten Kriterien zerlegen, etwa an Positionen mit
Leerzeichen oder Pfadtrennzeichen ("/").
Beispiel
Zerlegen einer Eingabe in Pfad- und Bausteinnamen
Programmcode
DEF INT PFADIDX, PROGIDX
DEF STRING[26] EINGABE
DEF INT LISTIDX
EINGABE = "/_N_MPF_DIR/_N_EXECU-
TE_MPF"
LISTIDX = MINDEX (EINGABE,
"M,N,O,P") + 1
PFADIDX = INDEX (EINGABE, "/") +1
PROGIDX = RINDEX (EINGABE, "/") +1
VARIABLE = SUBSTR (EINGABE,
PFADIDX, PROGIDX-PFADIDX-1)
VARIABLE = SUBSTR (EINGABE, PROGIDX) ; liefert dann "_N_EXECUTE_MPF"
4.1.4.7
Auswahl eines Teilstrings (SUBSTR)
Mit der Funktion SUBSTRING können beliebige Teile innerhalb eines Strings gelesen werden.
Syntax
<STRING_ERG>=SUBSTR(<String>,<Index>,<Länge>)
448
sucht das als zweiten Parameter angegebene Zeichen (von vorne) im ersten Parameter.
sucht das als zweiten Parameter angegebene Zeichen (von hinten) im ersten Parameter.
entspricht der Funktion INDEX, außer, dass eine Liste von Zeichen (als String) übergeben
wird, von denen der Index des ersten gefundenen Zeichens zurückgegeben wird.
sucht einen String in einem String.
Kommentar
; Als Wert in LISTIDX wird 3 zurückgeliefert;
da "N" das erste Zeichen im Parameter EINGABE,
aus der Auswahlliste von vorne, ist.
; damit gilt: PFADIDX = 1
; damit gilt: PROGIDX = 12
; mit Hilfe der im nächsten Abschnitt eingeführ-
ten Funktion SUBSTR läßt sich
die Variable EINGABE in die Komponen-
ten ;"Pfad";und "Baustein" zerlegen:
; liefert dann "_N_MPF_DIR"
Programmierhandbuch, 01/2023, A5E48764001A AE
NC-Programmierung