Siemens
Digital Industries, Motion Control, Machine Tool Systems
Letzte drei Stellen von Integer Variable isolieren

Hallo,
gibt es die Möglichkeit von einem 6-stelligen Integer die letzten drei Zahlen zu isolieren und in eine Variable zu schreiben.
Bsp.
TYP=123456
.
.
TYP_NEU=456
Die Variable TYP darf nicht geändert werden da diese den Programmablauf steuert.
Danke vorab.
gibt es die Möglichkeit von einem 6-stelligen Integer die letzten drei Zahlen zu isolieren und in eine Variable zu schreiben.
Bsp.
TYP=123456
.
.
TYP_NEU=456
Die Variable TYP darf nicht geändert werden da diese den Programmablauf steuert.
Danke vorab.

TYP_NEU= TYP MOD 1000

Das Beispiel unten wäre ein Möglichkeit die mir so dazu einfällt, geht sicher auch noch anders, einfach mal ausprobieren.
Def Int lTyp=123456, lTyp_Neu
;Den String so wählen das der vermutete Inhalt des Integers reinpasst, kann auch ruhig etwas größer sein
Def String[20] lStrg
;Variableninhalt dem String zu weisen
lStrg=<<lTyp
;Die letzten 3 Ziffern abholen (-3) und wieder einem Integer zu weisen
Execstring("lTyp_Neu="<<Substr(lStrg,Strlen(lStrg)-3))
;Die Message sollte dann 456 anzeigen
Msg(<<lTyp_Neu)
m0
stopre
m30
Def Int lTyp=123456, lTyp_Neu
;Den String so wählen das der vermutete Inhalt des Integers reinpasst, kann auch ruhig etwas größer sein
Def String[20] lStrg
;Variableninhalt dem String zu weisen
lStrg=<<lTyp
;Die letzten 3 Ziffern abholen (-3) und wieder einem Integer zu weisen
Execstring("lTyp_Neu="<<Substr(lStrg,Strlen(lStrg)-3))
;Die Message sollte dann 456 anzeigen
Msg(<<lTyp_Neu)
m0
stopre
m30


1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: