©
unbekannterkünstler@newsgroup
Das Programm übernimmt den Namen einer PO-Datei und gibt eine Wortkette mit den Namen
aller Mitglieder zurück. Zu diesem Zweck wird das Directory der Datei per REXX ausgelesen
und interpretiert
/* REXX
*/
ARG dsn
"ALLOC F(PDS) DA("dsn") SHR REUSE", /* pds directory */
" RECFM(F) DSORG(PS) LRECL(256) BLKSIZE(256)"
"EXECIO * DISKR PDS (STEM DIR. FINIS" /* read pds directory */
erg =
DO blk = 1 to dir.0
usedbytes = C2D(SUBSTR(dir.blk,1,2))
index = 3 /* skip past used bytes */
DO WHILE index < usedbytes
IF SUBSTR(dir.blk,index,8) = 'FFFFFFFFFFFFFFFF'x THEN
leave
pds2name = SUBSTR(dir.blk,index,8) /* member name */
erg = erg pds2name /* do-wah-diddy, we are here */
index = index + 11 /* skip past name and ttr */
pds2indc = SUBSTR(dir.blk,index,1)
len = BITAND(pds2indc,'1F'x) /* isolate user data length */
userdata = C2D(len) * 2 /* halfwords to bytes */
index = index + userdata + 1 /* skip past user data */
END
END
"FREE DD(PDS)"
return erg
zurück zu Hilfen im Alltag