©
serviceprofessionalgmbh
Die Aufgabe des Programms besteht darin, Informationen so in Datensätzen abzulegen, daß
eine vorgegebene Satzlänge nicht überschritten wird. Übergabewert ist eine Wortkette.
Das erste Wort ist die Zeilenbreite in Bytes. Ab dem zweiten Wort werden die Daten übernommen.
Die Umbrüche der Zeilen innerhalb der definierten Satzlänge werden ohne Worttrennung durchgeführt.
/* REXX
*/
PARSE ARG MAXLEN TEXT
IF MAXLEN < 50 ! MAXLEN > 132 then MAXLEN = 70
DSN = "'"userid()".RXDEMO.DATA'"
"FREE DD(DEMO)"
"DEL" DSN
"ALLOC DD(DEMO) DA("DSN") NEW CATALOG SPACE(1 1) TRACKS" ,
"LRECL("MAXLEN") BLKSIZE(0) RECFM(F B) DSORG(PS)"
I = 1
R = 0
DO FOREVER
IF LENGTH(TEXT) < MAXLEN THEN DO
R = R + 1;INFO.R = TEXT
LEAVE
END
IF LENGTH(SUBWORD(TEXT,1,I+1)) > MAXLEN THEN DO
R = R + 1;INFO.R = SUBWORD(TEXT,1,I)
TEXT = DELWORD(TEXT,1,I)
I = 1
END
ELSE DO
I = I + 1
END
END
"EXECIO * DISKW DEMO (STEM INFO. FINIS"
"FREE DD(DEMO)"
EXIT
zurück zu Hilfen im Alltag