-> Hier kostenlos registrieren
Hallo, habe ein kleines Poblem.
Ich habe als Eingabewert eine 25-Stellige Zeichenkette [STRINGVariable]
Diese muss ich in drei Abschnitte aufteilen
Einmal die Ersten 14 Zeichen, dann Zeichen 15-25 und nochmal 20-25.
Klappt auch soweit mit dem unten stehenden Code.
Für die anderen 2 Filter mache ich es ähnlich, nur das ich den Offset und die Länge entsprechend anpasse.
Nun zu meinem Problem. Ich möchte das ganze in einem FB erstellen. Dieser soll allgemein gehalten werden und für alle Filter anwendbar sein.
Momentan lade ich mir das erste Zeichen meines Labels
loo1: L B [AR2,P#2.0]
und transferiere es zum Zielzeichen
T B [AR1,P#2.0]
Wenn ich jetzt aber das ganze Variable machen möchte. z.B mal ab dem 14ten Zeichen des Label anfangen möchte, muss
der Pointer " loo1: L B [AR2,P#2.0]" veränderbar sein. Hierzu wollte ich eine Eingangsvariable "OFFSET" verwenden. Und genau da komm ich
nicht weiter.
Wie schaffe ich es bei Eingabe vom 14 den Befehl so zu verändern, dass er automatisch so auschaut
L B [AR2,P#16.0]
Ich habe als Eingabewert eine 25-Stellige Zeichenkette [STRINGVariable]
Diese muss ich in drei Abschnitte aufteilen
Einmal die Ersten 14 Zeichen, dann Zeichen 15-25 und nochmal 20-25.
Klappt auch soweit mit dem unten stehenden Code.
Code:
LAR1 P##RETURN
LAR2 P##S4Label
L #max_Length //STRING Länge (INT) laden
T B [AR1,P#0.0] // in 1. String Byte transferieren
L #Length //Tatsächliche Länge (INT) laden; Gleichzeitig Wert für LOOP
T B [AR1,P#1.0]
loo1: L B [AR2,P#2.0]
T B [AR1,P#2.0]
+AR1 P#1.0 // Adressregister um 1 erhöhen
+AR2 P#1.0
TAK //Tausche Akku 1 und 2 (Schlaufenzähler in AKKU 1 holen)
LOOP loo1 //Springe zur Marke loo1, Akku1 um 1 verringern
Für die anderen 2 Filter mache ich es ähnlich, nur das ich den Offset und die Länge entsprechend anpasse.
Nun zu meinem Problem. Ich möchte das ganze in einem FB erstellen. Dieser soll allgemein gehalten werden und für alle Filter anwendbar sein.
Momentan lade ich mir das erste Zeichen meines Labels
loo1: L B [AR2,P#2.0]
und transferiere es zum Zielzeichen
T B [AR1,P#2.0]
Wenn ich jetzt aber das ganze Variable machen möchte. z.B mal ab dem 14ten Zeichen des Label anfangen möchte, muss
der Pointer " loo1: L B [AR2,P#2.0]" veränderbar sein. Hierzu wollte ich eine Eingangsvariable "OFFSET" verwenden. Und genau da komm ich
nicht weiter.
Wie schaffe ich es bei Eingabe vom 14 den Befehl so zu verändern, dass er automatisch so auschaut
L B [AR2,P#16.0]