De string-opdracht vande vorige paragraaf was de basisvorm. Maar er zijn meer mogelijkheden. Zo kun je de computer vertellen bij welke positie in het resultaatveld hij moet beginnen. Dat gebeurt door een getal te plaatsen in een numeriek veld (het zogenaamde pointer-veld) en dat veld te noemen in de string-opdracht.
onthoud
Een pointerveld is een numeriek veld dat de plaats aangeeft die in het resultaatveld aan de beurt is.
We nemen als voorbeeld van een pointer het veld positie.
01 positie pic 99.
Stel nu dat we de eerste twee plaatsen van het veld datumregel leeg willen laten. Dat betekent dat we op plaats drie willen beginnen. We kunnen dan schrijven:
move 3 to positie move spaces to datumregel string dagnaam(weekdag + 1) delimited by space "dag" delimited by size into datumregel with pointer positie
Als we geen pointer opgeven, dan neemt de computer aan dat we aan het begin van het opgegeven veld willen starten met het plaatsen van tekens. Als we wel een pointer-veld noemen, dan moet dat veld een positie binnen het resultaatveld aanwijzen. Vaak willen we vooraan beginnen. Het pointer-veld geven we dan de waarde één.
Bij elk teken dat de computer tijdens de string-opdracht in het resultaatveld plaatst, verhoogt hij de pointer met één. We gaan uit van de opdrachten van het laatste voorbeeld. Als weekdag de waarde nul heeft dan komt de tekst zondag te staan op de posities 3 tot en met 8. Het veld positie heeft na afloop van de string-opdracht de waarde 9. Als weekdag de waarde 4 heeft, dan komt de tekst donderdag op de posities 3 tot en met 11. Het veld positie heeft na afloop van de string-opdracht de waarde 12. De pointer wijst dus altijd naar de plaats die aan de beurt is. Daarvan kunnen we gebruik maken als we met een andere string-opdracht verder willen gaan in hetzelfde veld.
Om daarvan een voorbeeld te geven, nemen we aan dat er, behalve de gegeven velden ook een veld datum bestaat.
01 datum pic x(8).
Na de dag van de week moet een spatie komen en daarna het veld datum.
add 1 to positie string datum delimited by size into datumregel with pointer positie
Het veld positie wijst naar de eerstvolgende plaats na de naam van de dag. We tellen er één bij op; dat is de spatie. Vanaf de dan aangewezen plaats zet de computer de inhoud van het veld datum neer.