Re: Re: Can someone post a brexx file i/o example ? (for Sixpack Rexx)

Mike Stramba <[email protected]>
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
Thanks Bob,

Cool, and useful example ;)

Mike

On 8/7/10, Robert O'Hara <rohara-h1UBTB8qgA32lB8bt/G8DwC/[email protected]> wrote:
> Mike,
>
> This is an example of part of what you want, reading a file.
>
> Bob
>
> -------------
> /**************************************************************************************************/
> /* Display a file in hexadecimal.
>                      */
> /*
>                      */
> /* Robert O'Hara, Lotus Development Corporation, October 1987.
>                      */
> /* Updated for VM/370 CMS, Redmond Washington, July 2010.
>                      */
> /**************************************************************************************************/
> ARG fn ft fm here .
> IF fn = "" | ft = "" THEN CALL Tell
> IF fm = "" THEN DO
>    fm = "A"
>    here = 1
>    END
> ELSE IF Datatype(fm) = "NUM" THEN DO
>    here = fm
>    fm = "A"
>    END
> ELSE IF here = "" THEN here = 1
> IF Datatype(here) <> "NUM" THEN CALL Tell
> file = fn ft fm
>
> bytes = Xrange("00"x, "FF"x)
> CALL LineIn(file, here, 0)
> good = Copies(".", 64)||Xrange("40"x, "FA"x)||"....."     /* displayable
> characters, more or less */
> DO record = here BY 1 WHILE Lines(file) > 0                       /* loop
> through the entire file */
>    line = LineIn(file)
>    DO WHILE line <> ""                                                  /*
> loop through this line */
>       PARSE VAR line chunk 17 line                                      /*
> get the first 16 bytes */
>       hex = C2x(chunk)
>       ebcdic = Translate(chunk, good, bytes, ".")
>       out1 = Substr(hex, 1, 8) Substr(hex, 9, 8) Substr(hex, 17, 8)
> Substr(hex, 25, 8)
>       out2 = Substr(ebcdic, 1, 4) Substr(ebcdic, 5, 4) Substr(ebcdic, 9, 4)
> Substr(ebcdic, 13, 4)
>       SAY Right(record, 5, "0") out1 out2
>       END
>    END
> CALL LineOut file
> EXIT
>
> Tell:
> SAY "HEXTYPE fn ft [fm | A] [record | 1]"
> SAY "Displays 'fn ft fm' in hex dump format, starting at 'record'."
> EXIT 100
> -------------
>
> --- In [email protected], Mike Stramba <mikestramba@...> wrote:
>>
>> What I'd like to know is how to :
>>
>> 1) Open a file for reading (a text/ascii (ok EBCDIC) .. ie. like an EXEC
>> file
>>
>> 1a) Open/create another file for writing
>>
>> 2) read lines till EOF
>>
>> 3) scan for an identifer in the line that was read
>>
>> 4)  Write to the second file until that same identifier is found
>> again, at that point, a new file is opened
>>
>> The actual app is to convert a MACLIB from VM/sp5 to VM sixpack.
>>
>> I've done a punch of the maclib from the VM/sp5 system, and have read
>> the file from the reader, it results in a file like  below.
>>
>> So I need to scan for ":READ" ... write the lines to "GCMD MACRO A",
>> until the next ":READ" is found
>>
>>
>> :READ  GCMD     MEMBER   B1 NOSHAD 08/05/10 19:25:27
>>          MACRO
>> GMA00010
>> &LAB     GCMD   &A
>> GMA00020
>>          CNOP  0,4
>> GMA00030
>> &LAB     LA    1,&A
>> GMA00040
>>          LR    0,1
>> GMA00050
>>          IC    1,*+22
>> GMA00060
>>          ST    0,*+18
>> GMA00070
>>          STC   1,*+14
>> GMA00080
>>          LA    1,*+6
>> GMA00090
>>          SVC   11
>> GMA00100
>>          DC    CL4'COMD'
>> GMA00110
>>          DC    AL1(L'&A)
>> GMA00120
>>          DC    AL3(0)
>> GMA00130
>>          MEND
>> GMA00140
>> :READ  GSTOP    MEMBER   B1 NOSHAD 08/05/10 19:25:27
>>          MACRO
>> GMA00210
>> &LAB     GSTOP
>> GMA00220
>>          CNOP  2,4
>> GMA00230
>> &LAB     LA    1,*+6
>> GMA00240
>>          SVC   11
>> GMA00250
>>          DC    CL4'STOP'
>> GMA00260
>>          DC    A(0)
>> GMA00270
>>          MEND
>> GMA00280
>>
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.