Zugriff auf einzelne Zeichen in einem String (Array)

shotar

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe einen DB mit einem String:
Code:
Message : STRING[20] := 'TETTSTSAT'

Nun kann ich in ja auf einzelne Zeichen zugreifen, da ein String ja ein Array ist:
Code:
CALL  "BLKMOV"
       SRCBLK :="DB_MESSAGES".Message[4]
       RET_VAL:=
       DSTBLK :=

In Feld 4 steht das 2. Zeichen (1+2 sind Länge und benutzte Länge). Funktioniert wunderbar :)



Nun habe ich aber ein Array von Strings in einem DB. Wie kann ich darauf zugreifen?

So funktionierts leider nicht:
Code:
CALL  "BLKMOV"
       SRCBLK :="DB_MESSAGES".arrayMessage[1].[4]
       RET_VAL:=
       DSTBLK :=
 
So sollte es funktionieren:
Code:
CALL  "BLKMOV"
       SRCBLK :="DB_MESSAGES".arrayMessage[1, 4]
       RET_VAL:=
       DSTBLK :=
Dir ist klar, daß Du damit nur genau 1 Byte kopierst? Unabhängig davon, ob dieses Byte überhaupt Bestandteil der aktuellen Stringlänge ist?

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
CALL  "BLKMOV"
       SRCBLK :="DB_MESSAGES".Message[4]
       RET_VAL:=
       DSTBLK :=

In Feld 4 steht das 2. Zeichen (1+2 sind Länge und benutzte Länge). Funktioniert wunderbar :)
In Message[4] steht allerdings das 4. Zeichen des Strings (das ist das 6. Byte). Auf die ersten beiden Byte (max. Länge und akt. Länge) kann mit der Array-Schreibweise nicht zugegriffen werden.

Harald
 
Hallo,
für die String-Bearbeitung, gerade mit SCL, gibt es dann ja noch die dafür gedachten Siemens-FC's LEFT, RIGHT, MID, etc. - vielleicht dazu auch mal die SCL-Hilfe befragen ...

Gruß
Larry
 
Zurück
Oben