Opps. Forgot the sigl... בתאריך שבת, 15 באוג׳ 2020, 0:31, מאת Paul Gilmartin < 0000000433f07816-dmarc-requ...@listserv.ua.edu>:
> On Fri, 14 Aug 2020 23:45:19 +0300, ITschak Mugzach wrote: > > >I once wrote an installer that behaved like a zip exec. I think it was > >discussed here as well. The idea is like the sample code below that > >demonstrates reading panel from the program body for later saving it in a > >temporary file. Remember That as this is not a comment the data that you > >can store instream is limited as the rexx restrictions apply here (for > >example /* will fail the program. > > > I've done this with a few tweaks: > o I *do* put the instream data in a comment to avoid problems with > lookahead by the Rexx interpreter reporting syntax errors. I have > not needed to deal with embedded comment delimiters; I could > encode them if necessary. > o SOURCELINE returns the line number of the final line in the program if > you omit n > (from the TSO/E Rexx Ref.), not "this line number". So I put my > instream data > after the call to DataStack and use SIGL in DataStack. > o I let DataStack fetch the instream data rather than putting it after > the call. Purely a matter of style. > o You don't need to initialize xData because "until" tests at end of loop. > But you may need to ensure that "EOF" is not treated as data. > o For generality you could pass the terminator as an arg to DataStack. > > >I think I have to supply Lionel with some ISPF tricks that he can add to > >his manual... > > > Yes. > > >ITschak > > > >/* Rexx */ > >Call DataStack > >xData = '' > >Do I = StackStart + 2 until xData = 'EOF' /* StackStart + 2 is the line > >number of )ATTR */ > > /* READ PANEL FROM INSTREAM DATA */ > > > > ..... > > Ens > >Return > >DataStack: > > StackStart = SourceLine() /* get this line number */ > > Return > >)ATTR DEFAULT(...) > >)BODY > >)INIT > >.... > >)PROC > >.... > > > >)END > >EOF > > -- gil > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN