home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-31 | 334.7 KB | 8,622 lines |
-
- This forum is supplied for demonstration purposes only and is
- accessible via the IBM OS/2 BBS system. What you see below is the
- forum as it existed on 10/30/92. The IBM OS/2 Bulletin Board System
- (BBS) is IBM's new electronic support offering for OS/2 Version 2.0.
- With OS/2 BBS you can electronically review OS/2 technical
- information, submit program defects to IBM, and receive information
- on how to solve problems. Users of the OS/2 BBS not only include
- OS/2 customers, but the OS/2 expertise of the entire internal IBM
- community worldwide. OS2BBS makes all this available via a local
- or toll free number in most major cities.
-
- To request a complete OS/2 BBS Information Package detailing
- the OS/2 BBS offering and including pricing and registration/access
- information, please call: 1-800-547-1283.
-
- ===== OS2REXX CFORUM created at 01:49:24 on 92/04/08 GMT (by HOPKINS at AUSVM8)
- IBM UNCLASSIFIED
- ----------------
- The information in this forum is considered by IBM to be
- external and may be shared by everyone who is given access.
- This forum is shared with the internal IBM employee conferences.
-
- Forum: OS2REXX CFORUM
-
- Forum subject: Procedures Language/2 REXX for OS/2
-
- This FORUM is provided as a conferencing tool to promote
- discussion on topics related to Procedures Language/2 REXX
- for OS/2, and present issues, questions, or problems related
- to the use of REXX for OS/2.
- A new, 32-bit Procedures Language/2 REXX is included with
- OS/2 2.0. It is significantly faster than the previous
- 16-bit version shipped in OS/2 1.3 and includes online
- documentation. New REXX utilities functions provide better
- access to system services such as the Workplace Shell.
-
- Contributions must not contain confidential or proprietary information.
-
- Each contributor agrees, in placing material in this forum, that IBM and
- other users are free to prepare derivative works based upon it, and to use,
- reproduce, perform, display and distribute inside and outside their company
- such material and such derivative works, without obligation or charge.
-
- IBM is not responsible or liable for the use, copying, or distribution of
- materials placed on this forum, and has therefore no obligation to control
- such acts.
-
- All subscribers are required to abide at all times by the conference
- rules described in the Bulletin Board Rules under "News and Announcements".
-
- All IBM personnel are required to abide at all times by the IBMPC RULES
- and the IBM Business Conduct Guidelines. IBM personnel will read the
- CUSTOMER FORUM RULES in IBMPC RULES before contributing.
-
- Contributions violating these rules will be deleted by the CFORUM
- Owner or their delegate, and in some cases by an IBM conference
- Administrator.
-
- The OS2BBS CFORUM is where anyone may raise concerns regarding rules
- violations found in this and other CFORUMS.
-
- The IBM Owner of this forum is:
- Name: Kenneth M. Hopkins, OS/2 Support Services
- Mailing Address: IBM Manufacturing and Development
- 11400 Burnet Road
- Internal Zip 2900-042/1D003
- Austin, Texas 78758
- IBM Node/Userid: AUSVM8/HOPKINS
-
- ----- OS2REXX CFORUM appended at 11:57:54 on 92/05/04 GMT (by DDM at GYSVMHD1)
- Subject: EXECIO
- Ref: None
-
- Is there an OS/2 Rexx equivalent for EXECIO on VM?
-
- David D. Miller
- European Networking Centre, Heidelberg, Germany
-
- ----- OS2REXX CFORUM appended at 12:32:24 on 92/05/04 GMT (by MIR at UKFSCXA) -
- Subject: EXECIO
- Ref: Append at 11:57:54 on 92/05/04 GMT (by DDM at GYSVMHD1)
-
- No, you have to use linein and lineout.
-
- Martin Packer
- IBM UK
-
- ----- OS2REXX CFORUM appended at 13:26:16 on 92/05/04 GMT (by PMUELLR at CARVM3)
- ..... OS2REXX CFORUM modified at 13:32:52 on 92/05/04 GMT (by PMUELLR at CARVM3)
- Subject: EXECIO
- Ref: Append at 11:57:54 on 92/05/04 GMT (by DDM at GYSVMHD1)
-
- Linein() and Lineout() are probably the best way to go, but you can
- do something like
-
- "DIR | RXQUEUE"
-
- and the output of the DIR command will be placed in the queue. To
- put the contents of a file in the queue, you can do a
-
- "TYPE C:\CONFIG.SYS | RXQUEUE"
-
- It's documented in the hardcopy 2.0 rexx reference in Chapter 12. I
- can't seem to find it in the online rexx help though ("VIEW REXX").
- It's also going to be slower than using linein() and lineout() since
- OS/2 has to start up a few processes, and buffer the input a few times.
- Also, there is no way to take something on the queue and have it piped
- to an OS/2 process (the equivalent of EXECIO x DISKW ...).
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 20:03:05 on 92/05/05 GMT (by AACL0X7 at OS2CUST)
- Subject: EXECIO
- Ref: Append at 13:26:16 on 92/05/04 GMT (by PMUELLR at CARVM3)
-
- But remember when piping output through RXQUEUE that you lose access to
- any return code from the command. It's usually better to redirect
- output to a file and use linein() than RXQUEUE.
-
- ----- OS2REXX CFORUM appended at 21:05:30 on 92/05/05 GMT (by PMUELLR at CARVM3)
- Subject: EXECIO
- Ref: Append at 20:03:05 on 92/05/05 GMT (by AACL0X7 at OS2CUST)
-
- True, but if you don't care about the return code, it's easier to
- bypass the file altogether (so you don't have to delete it later).
-
- In practice, I rarely use RXQUEUE, and it would only be for things
- like "dir /f c:\os2\* | rxqueue". Even this idiom is no longer
- needed with the RexxUtil.dll utility functions.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 15:58:31 on 92/05/06 GMT (by AACL0X7 at OS2CUST)
- Subject: EXECIO
- Ref: Append at 21:05:30 on 92/05/05 GMT (by PMUELLR at CARVM3)
-
- I haven't played around much with the RexxUtil functions. Sounds like I'm
- gonna like'm though.
-
- On a different tangent. Popular rumor has it that there are now, or will
- be REXX HLLAPI functions included either with Base or XS 1.0. I can't seem
- to find any reference to this, though some people sware that they exist.
- (Granted, they might be tucked into the RexxUtil package--see above
- comment).
-
- Anyone want to confirm or deny said rumor. It would be REALLY NICE to have
- a simple way to write HLLAPI scripts.
-
- Bruce
-
- ----- OS2REXX CFORUM appended at 19:07:05 on 92/05/06 GMT (by PMUELLR at CARVM3)
- Subject: EXECIO
- Ref: Append at 15:58:31 on 92/05/06 GMT (by AACL0X7 at OS2CUST)
-
- From an extremely knowledgable source (can't vouch for it though,
- since I don't have extended services on my machine):
-
- The module name is SAAHLAPI.DLL, and the doc is in RXHLLAPI.DOC in
- CMLIB if the APIs are installed..
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 21:21:20 on 92/05/06 GMT (by CNADLER at WMAVM1)
- Subject: EXECIO
- Ref: Append at 15:58:31 on 92/05/06 GMT (by AACL0X7 at OS2CUST)
-
- The references are in the Extended Services publications. The DLL file
- that is necessary for HLLAPI support is installed when you install the
- Communications Manager.
-
- Cliff Nadler
- Federal Sector Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 21:49:27 on 92/05/06 GMT (by XXMINC08 at TORVMCOP)
- Subject: REXX HLLAPI
- Ref: Append at 15:58:31 on 92/05/06 GMT (by AACL0X7 at OS2CUST)
- Hi,
- I have a document sitting on my desk that was available online from
- one of the beta versions of ES (I don't know for sure, but suspect it
- was the 6.177 code). It is called the REXX EHLLAPI PROGRAMMERS
- REFERENCE AND USERS GUIDE!
- The hllapi interface is supposed to be installed by extended services
- whenever you have selected 3270 or 5250 emulation features. The
- interface is contained in the file \CMLIB\DLL\SAAHLAPI.DLL.
- To make hllapi functions available to rexx, do the following.
- if rxfuncquery('hllapi') then call rxfuncadd 'hllapi','saahlapi',
- 'hllapisrv'
- all functions are then available thru a single call as follows
- HLLAPI( function-string , parameters )
- I have verified that this DLL still exists in the 6.304e code, but I
- can't seem to find the documentation online anywhere.
- Hope this helps.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 15:20:04 on 92/05/07 GMT (by AACL0X7 at OS2CUST)
- Subject: REXX HLLAPI
- Ref: Append at 21:49:27 on 92/05/06 GMT (by XXMINC08 at TORVMCOP)
-
- Thanks--the DLL does indeed exist on my machine. No wonder I cound't intuit
- the connect however. I hope the documentation will be available when XS 1.0
- is release again (we've been told that shipments have been stopped)--all I've
- got is some beta--and can't even remember what version it is. Well, I'm
- gonna go play with it...
-
- Bruce
-
- ----- OS2REXX CFORUM appended at 13:58:10 on 92/05/08 GMT (by PASPUNG at CARVM3)
- ..... OS2REXX CFORUM modified at 18:55:42 on 92/05/08 GMT (by PASPUNG at CARVM3)
- Subject: Load/call rexx function from a DLL
-
- I'm trying to create a DLL using C Set/2 which provides an external function
- for Rexx. (For those of you who have it, I'm trying to work through the
- article "Extending the Functions of OS/2 Rexx" in the January, 1992 issue
- of "Personal Systems Technical Solutions". However, I'm using 2.0, C Set/2,
- and LINK386.) I am a little wet behind the ears regarding DLLs, so please
- excuse any naivity.
-
- When I call RxFuncAdd, the functions don't seem to get added, and a call
- to any of them produces "REX0043: ... Routine not found". The only
- thing that seems in error is a message produced by the linker. I'm linking
- w/ libs OS2386, and DDE4SBS. When the linker completes, I get this warning:
- LINK386 : error L4038: program has no starting address
-
- Is this significant, or even the cause of my problem? I've placed a call
- to the author of the article, but he's in class until Monday. Any insight
- would be greatly appreciated!
-
- |Answering my own append...
- |
- |Found a great sample in the 2.0 Toolkit that showed me exactly how to do this.
- |Turns out I had several things wrong, and the sample pointed me in the right
- |direction. It's the Rexx sample rxmacdll. Look at macro.* in the \toolkt20\
- |rexx\samples\rxmacdll directory for clues.
-
- Peter A. Spung, IBM Application Platform Products MDQ Chair, Cary, NC (TEAMOS2)
-
- ----- OS2REXX CFORUM appended at 20:36:14 on 92/05/08 GMT (by PRICESG at GDLVM7)
- Subject: Load/call rexx function from a DLL
- Ref: Append at 13:58:10 on 92/05/08 GMT (by PASPUNG at CARVM3)
-
- I suspect your problem not with RxFuncAdd, but that you had the error
- linking the DLL. When a DLL is bad, RxFuncAdd will work OK but the
- actual call will produce REXX error 43, Function not Found.
-
- To fix the link error, try styling your MAK and DEF files after the
- ones for the REXXUTIL sample in the 2.0 toolkit. This sample is an
- external function package written as a C DLL. It is in
- \toolkt20\rexx\samples\rexxutil.
-
- Steve Price IBM SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 15:23:07 on 92/05/12 GMT (by WZ00533 at OS2CUST)
- Subject: Object Oriented Rexx
-
- At the most recent SHARE (March in Aneheim CA), I attended an IBM demonstration
- of an object oriented Rexx. It looked great. The presentor was carefull to
- state the product was internal only and may never be released. Having said
- that, are you aware of any plans to release it? It sure would be a
- great prototyping tool, as well as a great enhancement to Rexx's capabilities
- as a general purpose OS/2 'macro' language.
-
- Dave
-
- ----- OS2REXX CFORUM appended at 22:06:36 on 92/05/12 GMT (by IL22661 at OS2CUST)
- Subject: OS/2 Workplace Shell support
-
- I am interested in the OS/2 Workplace Shell support of 2/REXX. I have coded
- some REXX programs for our users and I would like to be able to pop up a
- window to prompt the user for some info. Is it possible to do this from
- REXX?
-
- Right now I have the command executing in a OS/2 full screen window. I would
- like to run from an icon and prompt for the information like LAN Requester
- does when it prompts for the logon id and password.
-
- A year or so ago, I attended a presentation by a developer from Boca Raton
- in which he presented his REXX-to-PM API. He said that it was experimental
- and he did not know if it would be added to 2/REXX. Is that capability now
- in 2/REXX under OS/2 2.0?
-
- If this capability is available, is there documentation available (with
- examples, I hope) that show how this work?
-
- ----- OS2REXX CFORUM appended at 16:45:23 on 92/05/13 GMT (by 64911426 at TOROHON1)
- Subject: REXX HLLAPI
- Ref: Append at 21:49:27 on 92/05/06 GMT (by XXMINC08 at TORVMCOP)
-
- I can't find any reference to RXHLLAPI.DOC in the ES GA code even though
- 3270 emulation was selected during ES install. Module SAAHLAPI.DLL
- is present. Where/how can I access the DOC file??
- Wally Stubgen PH. (519) 749-7316
-
- ----- OS2REXX CFORUM appended at 19:17:37 on 92/05/13 GMT (by XXMINC08 at TORVMCOP)
- Subject: REXX HLLAPI
- Ref: Append at 16:45:23 on 92/05/13 GMT (by 64911426 at TOROHON1)
-
- Wally,
- My copy of the document says that 'this document is installed
- when the API Data Structures selection of the Communications Manager
- Additional Features is installed. This file is installed in the
- c:\cmlib directory.'.
- So ... you should be able to get it by running ESINST, selecting
- Communication Manager Install, and select API Data Structures.
- Good luck ...
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 20:58:19 on 92/05/13 GMT (by CNADLER at WMAVM1)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 22:06:36 on 92/05/12 GMT (by IL22661 at OS2CUST)
-
- Check out the REXXUTIL functions (they are in the REXX Reference and in
- the online reference). They will allow you to put up a single message
- box, plus update the INI files and other dangerous things !-)
-
- Cliff Nadler
- Federal Sector Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 13:54:14 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 20:58:19 on 92/05/13 GMT (by CNADLER at WMAVM1)
-
- Then does anybody know why the verbatim example from the REXX reference
- doesn't work? To wit:
-
- ìD:\odds&ends┘msgbox
- 3 *-* Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs';
- >L> "SysLoadFuncs"
- >L> "RexxUtil"
- >L> "SysLoadFuncs"
- >>> "1"
- 4 *-* Call SysLoadFuncs;
- >>> ""
- 6 *-* If RxMessageBox('Shall we continue',, 'YesNo', 'Query') = 7;
- >L> "Shall we continue"
- >L> "YesNo"
- >L> "Query"
- 6 +++ If RxMessageBox('Shall we continue',, 'YesNo', 'Query') = 7;
- REX0040: Error 40 running D:\odds&ends\MsgBox.cmd, line 6: Incorrect call
- to routine
-
- Pierre Legault
- Transport Canada
- 1-613-993-7149
-
- ----- OS2REXX CFORUM appended at 14:33:58 on 92/05/14 GMT (by MCGUIRE at GDLVM7)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 13:54:14 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
-
- RxMessageBox can only be used in a PM session (i.e., run from PMREXX or from
- a macro called from a PM session).
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 14:42:07 on 92/05/14 GMT (by VERSTEEG at UITVM1)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 13:54:14 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
-
- According to my manual the verbatim is:
-
- If RxMessageBox('Shall we continue',, 'YesNo', 'Query') = 7
- Then Exit
-
- Note that the semicolon is optional in REXX.
- Normally it is only used if you have more than statement on a line
- like:
-
- a=1; b=2; c=3;
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL
-
- ----- OS2REXX CFORUM appended at 15:02:08 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 14:42:07 on 92/05/14 GMT (by VERSTEEG at UITVM1)
-
- The output that I pasted in my append came from a run of the exec that
- had 'trace i' at its beginning. It take it, then, that the trace output
- was from the tokenized representation of the exec, rather than the actual
- source file; that would be why a ';' appeared at the end of each line.
- The actual source file was:
- -------------------------------------------------------------------------
- /* rexx */
- trace i
- call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
- call SysLoadFuncs
- /* Give option to quit */
- if RxMessageBox("Shall we continue",, "YesNo", "Query") = 7
- Then Exit /* quit option given, exit */
- -------------------------------------------------------------------------
- But my query was answered when it was pointed out to me that the exec
- had to be called by a PM session (eg PMREXX).
-
- Pierre Legault
- Transport Canada
- 1-613-993-7149
-
- ----- OS2REXX CFORUM appended at 17:02:58 on 92/05/14 GMT (by IL22661 at OS2CUST)
- Subject: OS/2 Workplace Shell support
-
- Thank you for pointing me to the RxMessageBox fuction and its usage and the
- additional information on PMREXX.
-
- I still do not see a way I can collect data from the user using this function.
- Maybe I can have them pick from choices, but I cannot collect character data.
- Am I right or maybe I cannot see it with my overworked mind?
-
- What I need is an RxQuery function to drive a window that asks for information
- like:
- Please enter the Host Computer Name and Application Name desired:
- Hostname | ______________|
- Application |_______________|
- OK Cancel
- |_______| |_________|
-
- Can this be done?
-
- Emilio A. Icaza, Ph.D.
- Louisiana State University
- (504) 388-3750
-
- ----- OS2REXX CFORUM appended at 17:20:17 on 92/05/14 GMT (by WZ00533 at OS2CUST)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 15:02:08 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
-
- If I may jump in and offer my two cents....
- If in fact I can display a message box in rexx ONLY from a PM session
- ala PMREXX, then what good is it????? Or stated another way.
-
- Other than PMREXX, how can I run a rexx exec in a PM session? Yes I know
- I can call rexx from C (does that make sense!).
-
- If I have asked a stupied question, your free to say so, you wouldn't be the
- first. I happen to like rexx a lot, and would like to see it enhanced to
- include the capability to 'do it all', i.e PM stuff, object oriented stuff
- (refer to my earlier note on OOREXX). After all we can now do HLLAPI, CPI-C,
- why should we be satisfied with text mode I/O?
-
- Thanks,
- Dave
-
- ----- OS2REXX CFORUM appended at 21:07:23 on 92/05/14 GMT (by XXTCAN06 at TORVMCOP)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 17:02:58 on 92/05/14 GMT (by IL22661 at OS2CUST)
-
- You might want to investigate the 'Dialog Manager' for OS/2. It is an
- OS/2 implementation of ISPF. But, from what I read a few months back,
- IBM is planning to drop it (if it hasn't already).
- Can anybody else offer any information on that subject?
-
- Pierre Legault
- Transport Canada
- 1-613-993-7149
-
- ----- OS2REXX CFORUM appended at 01:48:53 on 92/05/15 GMT (by PMUELLR at CARVM3)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 17:20:17 on 92/05/14 GMT (by WZ00533 at OS2CUST)
-
- There are PM applications that use rexx as a macro language (such as
- the text editor in WorkStation Platform/2 1.2). These applications
- can take advantage of the rexx functions in RexxUtil.dll such as the
- message box function.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 11:09:53 on 92/05/15 GMT (by MCGUIRE at GDLVM7)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 17:20:17 on 92/05/14 GMT (by WZ00533 at OS2CUST)
-
- Well, you can pop up a message box from EPM editor macros as a start. Once
- Borland ObjectVision is available, you'll be able to use it from ObjectVision
- Rexx programs. Ditto for when the SourceLink editor is available with Rexx
- support. There are many more ways to run Rexx programs than just command
- line batch programs. RxMessageBox was designed for these "other ways".
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 11:12:40 on 92/05/15 GMT (by MCGUIRE at GDLVM7)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 17:02:58 on 92/05/14 GMT (by IL22661 at OS2CUST)
-
- There isn't yet a native function that allows that sort of access. You might
- want to investigate Borland ObjectVision when it becomes available in June.
- Its Rexx support makes it a very attractive way of doing PM based Rexx
- programs.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 11:33:06 on 92/05/15 GMT (by WZ00533 at OS2CUST)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 11:09:53 on 92/05/15 GMT (by MCGUIRE at GDLVM7)
-
- Hi Rick,
-
- Thanks for the reply. I am looking foward to Objectvision. I guess I was
- looking for rexx to be more than 'just' a macro language.
-
- Dave
-
- ----- OS2REXX CFORUM appended at 12:33:26 on 92/05/15 GMT (by VERSTEEG at UITVM1)
- Subject: OS/2 Workplace Shell support
- Ref: Append at 11:33:06 on 92/05/15 GMT (by WZ00533 at OS2CUST)
-
- Also nice with ObjectVision is the support for DBMS's
- like dBase, Paradox and Database Manager.
- (via the SQL link option)
-
- I saw a short demo of a beta version last week.
- What I specially liked was the ability to do database updates
- from a table window (multiple rows and columns).
- The clipboard can be used to copy/paste data across fields.
- Another thing I like is that you can distribute your applications free.
- No runtime license.
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL
-
- ----- OS2REXX CFORUM appended at 11:24:00 on 92/05/18 GMT (by WZ00533 at OS2CUST)
- Subject: Named Pipes
-
- I noticed a Rexxutil function call SysWaitNamedPipe (or something like that).
-
- I did not see any other references to named pipes! Can someone illuminate me
- as to the extent of named pipe support within rexx? I tried the Steams
- function to no avail.
-
- Related, in the 2.0 Development Toolkit, I found the source for previouslly
- mentioned function, along with 'references' to other named pipes functions, but
- NO source.
-
- Any ideas?
-
- ----- OS2REXX CFORUM appended at 14:37:37 on 92/05/18 GMT (by PRICESG at GDLVM7)
- Subject: Named Pipes
- Ref: Append at 11:24:00 on 92/05/18 GMT (by WZ00533 at OS2CUST)
-
- SysWaitNamePipe is the only REXX function just for named pipes. You
- can't create a named pipe in the REXX program (we were thinking of
- putting that function in, but didn't work out a neat way to do it).
- You can read and write named pipes (that are created by other
- programs) using the normal REXX I/O functions.
-
- Steve Price IBM SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 16:44:52 on 92/05/18 GMT (by WZ00533 at OS2CUST)
- Subject: Named Pipes
- Ref: Append at 14:37:37 on 92/05/18 GMT (by PRICESG at GDLVM7)
-
- Steve,
- Thanks for the reply.
- If I were to try my hand at creating my own named pipe function (using the code
- from the toolkit for SysWaitNamePipe as an example) are there any issues
- I should be aware of?
-
- ----- OS2REXX CFORUM appended at 16:44:33 on 92/05/19 GMT (by WZ00533 at OS2CUST)
- Subject: SysCreateObject
-
- A user somehow 'lost' their Minimized Window Viewer. First I tried to find
- it using the 'Find' menu option without success. I then tried to use the
- SysCreateObject RexxUtil function on my PC to create one. If I used the
- an OBJECTID of WP_VIEWER the function failed (correctly, I suppose, because
- I already had one). So I used WP_VIEWER2 as an OBJECTID and I got my second
- viewer...great. Now before I do this for my user.... How do I delete this
- object?????? Dragging it to the shredder fails, (I get the circle with the
- line through it).
-
- A while back I had created a Network Folder using the same technique. I
- was also unable to delete it!
-
- A general question is:
- How do I delete objects created with RexxUtil's SysCreateObject.
-
- Thanks,
- Dave
-
- ps. My inability to delete the second viewer has made me wonder how my user
- 'lost' hers!!!!, she claims she may have 'deleted it.
-
- ----- OS2REXX CFORUM appended at 16:47:19 on 92/05/19 GMT (by WZ00533 at OS2CUST)
- ..... OS2REXX CFORUM modified at 17:36:50 on 92/05/19 GMT (by WZ00533 at OS2CUST)
- Subject: SysCreateObject
-
- A user somehow 'lost' their Minimized Window Viewer. First I tried to find
- it using the 'Find' menu option without success. I then tried to use the
- SysCreateObject RexxUtil function on my PC to create one. If I used the
- an OBJECTID of WP_VIEWER the function failed (correctly, I suppose, because
- I already had one). So I used WP_VIEWER2 as an OBJECTID and I got my second
- viewer...great. Now before I do this for my user.... How do I delete this
- object?????? Dragging it to the shredder fails, (I get the circle with the
- line through it).
-
- A while back I had created a Network Folder using the same technique. I
- was also unable to delete it!
-
- A general question is:
- How do I delete objects created with RexxUtil's SysCreateObject which can
- no be deleted using the shredder?
- Thanks,
- Dave
-
- ps. My inability to delete the second viewer has made me wonder how my user
- 'lost' hers!!!!, she claims she may have 'deleted it.
-
- pss. I figured out a way to delete said object. I removed the directory!
- then I could delete it! Is this the official way to delete such objects?
-
- ----- OS2REXX CFORUM appended at 12:13:29 on 92/05/21 GMT (by TEMP19GC at CLTVM1)
- Subject: Loading REXX on OS/2 2.0
-
- I am writing a REXX program to install Extended Services and LAN
- requester and I want to load REXX via a LAN onto a machine that does not
- have REXX installed. I have loaded rexx.dll, rexxapi.dll, rexxinit.dll,
- and rexxutil.dll but the REXX program will not use the REXX utilities.
- It does however use the basic REXX statements like "say".
- Any ideas.
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 12:54:27 on 92/05/21 GMT (by PRICESG at GDLVM7)
- ..... OS2REXX CFORUM modified at 17:46:59 on 92/05/22 GMT (by PRICESG at GDLVM7)
- Subject: Loading REXX on OS/2 2.0
- Ref: Append at 12:13:29 on 92/05/21 GMT (by TEMP19GC at CLTVM1)
-
- | modified to correct name of DLL listing in LoadOneTime
-
- Short answer: use selective install to add REXX to a system which
- is missing it. There's more involved than adding those four files.
-
- Long answer:
-
- On a system with REXX installed and working, REXXINIT.DLL is loaded
- during PM initialization. REXXINIT.DLL starts a thread that controls
- REXX's global data, such as the list of external functions. It sounds
- like your problem is that REXXINIT is not getting loaded.
-
- OS/2 keeps a list of the DLLs that should be loaded in OS2.INI. If
- you happen to have a tool for browsing and changing INI files, you can
- look for app name "SYS_DLLS", key name "LoadOneTime". This should
- contain a small list of names including REXXINIT. This list is read
- by PM while the desktop is initialized and controls which DLLs get
- loaded (beyond those needed to run PM).
-
- Finally, there are other REXX files besides the DLLs you listed.
- Selective install will get them all.
-
- Steve Price IBM SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 13:16:22 on 92/05/21 GMT (by TEMP19GC at CLTVM1)
- Subject: Loading REXX on OS/2 2.0
- Ref: Append at 12:54:27 on 92/05/21 GMT (by PRICESG at GDLVM7)
-
- What are the other REXX files that you get from a selective install?
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 14:02:02 on 92/05/21 GMT (by PRICESG at GDLVM7)
- Subject: Loading REXX on OS/2 2.0
- Ref: Append at 13:16:22 on 92/05/21 GMT (by TEMP19GC at CLTVM1)
-
- I should've known you'd ask. RXSUBCOM.EXE, RXQUEUE.EXE, REX.MSG,
- REXH.MSG. The EXEs go in \OS2; the MSGs go in \OS2\SYSTEM.
-
- Note that this information could change in the future.
-
- Steve Price IBM SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 17:44:11 on 92/05/21 GMT (by IL22868 at OS2CUST)
- Subject: SysCreateObject
- Ref: Append at 16:47:19 on 92/05/19 GMT (by WZ00533 at OS2CUST)
-
- I have HEARD that this works, but have not tried it myself: Try
- putting the object you wish to delete into a Folder (you will
- probably want to create a new folder for this purpose) and then drag
- the folder containing the object to the shredder. Apparently it is
- only a PAPER shredder :-).
-
- Ken Singer
-
- ----- OS2REXX CFORUM appended at 13:21:53 on 92/05/22 GMT (by HARGRAVE at BCRVMPC1)
- Subject: Loading REXX on OS/2 2.0
- Ref: Append at 12:54:27 on 92/05/21 GMT (by PRICESG at GDLVM7)
-
- For clarity and completeness, the SYS_DLLS LoadOneTime value contains
- REXXINIT not REXXUTIL.
-
- BJ Hargrave
-
- ----- OS2REXX CFORUM appended at 19:52:57 on 92/05/22 GMT (by CHVY006 at OS2CUST)
- Subject: Compressed Rexx Proc
-
- I've observer that the Rexx to SQL interface given with DBM is
- compressed and will like to compress some of my bulk rexx projects.
- How do you do this? and How do you undo it?
-
- Carlton
-
- ----- OS2REXX CFORUM appended at 14:46:15 on 92/05/25 GMT (by VERSTEEG at UITVM1)
- Subject: Compressed Rexx Proc
- Ref: Append at 19:52:57 on 92/05/22 GMT (by CHVY006 at OS2CUST)
-
- It is probably done with a private (REXX) program.
- You basically replace CR/LF with a semicolon.
- Theoretically you can put a complete program on one line.
- This is often done with REXX programs on the VM platform.
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** GO OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 13:21:17 on 92/05/26 GMT (by MCGUIRE at GDLVM7)
- Subject: Named Pipes
- Ref: Append at 16:44:52 on 92/05/18 GMT (by WZ00533 at OS2CUST)
-
- The problems we ran into with named pipe functions revolve around how the
- server side creates and connects to the pipes. Because the server side has
- to connect to the pipe rather than open the pipe, you cannot use linein and
- lineout to access the pipe. To write this sort of support, you need functions
- for connect, disconnect, create, read and write.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 17:15:03 on 92/05/27 GMT (by IL06795 at OS2CUST)
- Subject: Rexx Source Code
-
- Is there some way to protect the rexx source code from user changes?
-
- Somebody mentioned creating an intermeidiate (sp) file, kind of like a
- bound file and executing that. I've looked thru the sea of inf files
- and can't find anything addressing this. Suggestions?
-
- Ralph Porter - Chicago Mercantile Exchange
-
- ----- OS2REXX CFORUM appended at 20:27:54 on 92/05/27 GMT (by CONT06 at LEXVMK)
- Subject: Rexx Source Code
- Ref: Append at 17:15:03 on 92/05/27 GMT (by IL06795 at OS2CUST)
-
- Have a look at Macrospace Interface. You can save and load tokenized
- REXX code. You can ship tokenized code only.
-
- Leshek J. Fiedorowicz - Team OS/2 Lexington 1992/05/27 16:24
- JRFB70A@*P
-
- ----- OS2REXX CFORUM appended at 20:41:29 on 92/05/27 GMT (by MCGUIRE at GDLVM7)
- Subject: Rexx Source Code
- Ref: Append at 17:15:03 on 92/05/27 GMT (by IL06795 at OS2CUST)
-
- You can hide the source code by loading the program into the macro space and
- then saving the macro space. There are some sample programs in the OS/2
- 2.0 Toolkit that will allow you to do this easily. However, there is a VERY
- big caveat with this: The program image saved in the macro space is HIGHLY
- version specific. A 1.3 macro space will not run with a 2.0 interpreter, and
- vice versa. In addition, the saved image may not run with interpreters at
- different service levels. If you have a fairly homogeneous environment, then
- this will work. If you have a variety of system levels, this will not work.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 20:49:57 on 92/05/27 GMT (by TRAUTMAN at PKEDVM8)
- Subject: Rexx Source Code
- Ref: Append at 17:15:03 on 92/05/27 GMT (by IL06795 at OS2CUST)
-
- A solution for a LAN based environment would be to place the Rexx
- code on a Read Only disk on the LAN. You might want to look
- at some of the functions for dealing with rexx macrospace.
- you might be able to insert the rexx code into the macrospace and
- make use of it from there. Documentation on the rexx macrospace is
- near the end of the Rexx reference from the OS/2 2.0 toolkit.
-
- Bill Trautman
-
- ----- OS2REXX CFORUM appended at 15:06:54 on 92/05/28 GMT (by TEMP19GC at CLTVM1)
- Subject: Calling a REXX Program from STARTUP.CMD
-
- I am calling a REXX program form OS/2 2.0's STARTUP.CMD. The program
- runs fine except I am unable to create files using LINEOUT. I get a
- return code of 1. If I run the program from the command line it works
- fine and I get a return code of 0. My STARTUP.CMD is as follows:
- @Echo Off
- start c:\esmenu c:\
- exit
-
- Any ideas
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 18:12:57 on 92/05/28 GMT (by TMARTIN at NHBVM4)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 15:06:54 on 92/05/28 GMT (by TEMP19GC at CLTVM1)
-
- I just tried to recreate the problem, and couldn't.
- I can't see anything wrong with what you've done.
- Could you show us the listing of esmenu? If you do, I'll
- try that on my system and see if I can get the problem.
-
- Best wishes.
-
- Tim Martin (TMARTIN @ NHBVM4) 1992/05/28 19:10 BST
-
- ----- OS2REXX CFORUM appended at 19:44:54 on 92/05/28 GMT (by TEMP19GC at CLTVM1)
- ..... OS2REXX CFORUM modified at 20:08:05 on 92/05/28 GMT (by TEMP19GC at CLTVM1)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 18:12:57 on 92/05/28 GMT (by TMARTIN at NHBVM4)
-
- code sent to TMARTIN at NHBVM4
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 15:22:41 on 92/05/29 GMT (by TMARTIN at NHBVM4)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 19:44:54 on 92/05/28 GMT (by TEMP19GC at CLTVM1)
-
- Mmmm. I'm having problems with this. It may be that esmenu is deleting
- startup.cmd and config.sys, while the system is starting up.
-
- However, while testing, I've somehow deleted all the files from the
- root of my c-drive. I'll have to fix this before going any further.
- It could take some time ...
-
- Tim Martin (TMARTIN @ NHBVM4) 1992/05/29 16:20 BST
-
- ----- OS2REXX CFORUM appended at 17:03:08 on 92/05/29 GMT (by TEMP19GC at CLTVM1)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 15:22:41 on 92/05/29 GMT (by TMARTIN at NHBVM4)
-
- I don't think that is the problem because I have tried to call esmenu
- from another command file.
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 14:55:26 on 92/06/01 GMT (by SAMI3QU at OS2CUST)
- Subject: PMREXX and "REXX procedure has ended" message
-
- Is there a way to supress the "The REXX procedure has ended" message when
- a PMREXX program terminates? Thanks for any info.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 16:29:10 on 92/06/01 GMT (by CONT00 at LEXVMK)
- ..... OS2REXX CFORUM modified at 13:22:50 on 92/06/12 GMT (by CONT00 at LEXVMK)
- Subject: PMREXX and "REXX procedure has ended" message
- Ref: Append at 14:55:26 on 92/06/01 GMT (by SAMI3QU at OS2CUST)
-
- PMREXX's source is available in the Toolkit. If you don't have it, there
- would be no other way then zap the EXE...
- || The change to make is: comment lines 462 and 463 in PMREXX.C
-
- Gregory Czaja, Lexington 8-545-3311 1992/06/01 12:25
-
- ----- OS2REXX CFORUM appended at 17:16:44 on 92/06/02 GMT (by TEMP19GC at CLTVM1)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 17:03:08 on 92/05/29 GMT (by TEMP19GC at CLTVM1)
-
- I have found something else out. If I use the "START" command to call my
- program, my program will not be able to read, write, or create files.
- If I do not use the "START" command it works fine. Is the a way around
- this. I have been playing with the "START" command options and I have
- not found anything. Any ideas...
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 20:06:44 on 92/06/02 GMT (by MCGUIRE at GDLVM7)
- Subject: Calling a REXX Program from STARTUP.CMD
- Ref: Append at 17:16:44 on 92/06/02 GMT (by TEMP19GC at CLTVM1)
-
- I'n unable to recreate this problem. The simple tests I wrote were able to
- access files just file. You might want to try placing TRACE I at the front of
- the program and invoking with:
-
- start myrexx 2>trace.out
-
- to capture the trace output. This may give some more information as to what
- is really happening.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 05:48:03 on 92/06/03 GMT (by OTISLIAO at TAIVM1)
- Subject: Using REXX to Control RS-232
- Hi,
- I am a new user of OS/2 REXX. I want to use REXX to detect the
- signal from RS-232. But I can not find the commands to do this.
- Is it possible to use REXX to do this ?
-
- otis liao
-
- ----- OS2REXX CFORUM appended at 12:51:15 on 92/06/03 GMT (by PERSHNG at YKTVMH)
- Subject: Access to LIBPATH?
-
- Is there some way to get hold of a copy of the LIBPATH string from
- within a REXX procedure?
-
- Lacking that, is there some way to determine the boot drive (e.g., 'C:')
- from within a REXX procedure, so that it can inhale the CONFIG.SYS file
- and get the LIBPATH by brute force?
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 13:00:51 on 92/06/03 GMT (by 86693596 at WARVM2)
- ..... OS2REXX CFORUM modified at 13:09:48 on 92/06/03 GMT (by 86693596 at WARVM2)
- Subject: Access to LIBPATH?
- Ref: Append at 12:51:15 on 92/06/03 GMT (by PERSHNG at YKTVMH)
-
- | Ahh, got it. Use the VALUE Function. Look it up in the Rexx Reference
- | under "Functions". The VALUE function allows you to both view and
- | change environment variables, amongst other things. If your goal is
- | to search for a file down the LIBPATH, the suggestion below may
- | still be useful.
-
- I'm not sure about the string itself (still thinking...), but
- you can use the Rexx Utiltiy function SysSearchPath to search down
- the LIBPATH for a certain file. The function will return the full
- qualified filename of the file.
-
- Andrew Agerbak, EAS Product Support, Brentford, UK
-
- ----- OS2REXX CFORUM appended at 13:09:58 on 92/06/03 GMT (by SAMI3QU at OS2CUST)
- Subject: PMREXX and "REXX procedure has ended" message
- Ref: Append at 16:29:10 on 92/06/01 GMT (by CONT00 at LEXVMK)
-
- Modify the source? Ack! I don't hate the message that badly! I think I'll
- just leave this one alone.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 13:12:08 on 92/06/03 GMT (by PERSHNG at YKTVMH)
- ..... OS2REXX CFORUM modified at 13:20:06 on 92/06/03 GMT (by PERSHNG at YKTVMH)
- Subject: Access to LIBPATH?
- Ref: Append at 13:00:51 on 92/06/03 GMT (by 86693596 at WARVM2)
-
- Nope -- I want the string itself.
-
- (I'm writing a utility that will inspect all of the directories in the
- path, and report any .DLL files in the front of the path that are
- "hiding" files found later on in the path.)
-
- | The VALUE() function does not work. LIBPATH does not appear to be
- | part of the OS/2 environment. Anybody have any other ideas?
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 13:36:14 on 92/06/03 GMT (by 86693596 at WARVM2)
- Subject: Access to LIBPATH?
- Ref: Append at 13:12:08 on 92/06/03 GMT (by PERSHNG at YKTVMH)
-
- Hmmm, I just tried out my previous suggestion, and it only seems
- to work for PATH and DPATH, but not for LIBPATH:
-
- /* Display Environment Variables */
- /* Andrew Agerbak 920603 */
- Say 'Path=' Value('PATH',,'OS2ENVIRONMENT')
- Say 'Dpath=' Value('DPATH',,'OS2ENVIRONMENT')
- Say 'LibPath=' Value('LIBPATH',,'OS2ENVIRONMENT')
-
- OUTPUT:
-
- Path= D:\OS2;D:\MUGLIB;D:\OS2\SYSTEM;D:\OS2\MDOS\WINOS2;C:\CMLIB;... (etc..)
- Dpath= D:\OS2;D:\MUGLIB\DLL;C:\CMLIB;C:\CMLIB\APPN;D:\OS2\SYSTEM;... (etc..)
- LibPath=
-
- Is LibPath not an environment variable in the sense of the other two?
-
- Andrew Agerbak, EAS Product Support, Brentford, UK
-
- ----- OS2REXX CFORUM appended at 14:05:13 on 92/06/03 GMT (by PMUELLR at CARVM3)
- ..... OS2REXX CFORUM modified at 14:34:23 on 92/06/03 GMT (by PMUELLR at CARVM3)
- Subject: Access to LIBPATH?
- Ref: Append at 13:36:14 on 92/06/03 GMT (by 86693596 at WARVM2)
-
- LIBPATH never has been and probably never will be an environment
- variable. You can't change it once you've booted.
-
- You can determine the boot drive through some OS/2 api available in C -
- thus you could write an external rexx function to get it then read the
- correct config.sys - but what if I've made changes to my LIBPATH since
- I've booted??? I don't think there is a way to determine the actual
- libpath in use, in a completely reliable fashion.
-
- ... removed stupid comment
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 17:06:34 on 92/06/03 GMT (by 61804212 at VIEVMA)
- Subject: Access to LIBPATH?
- Ref: Append at 13:36:14 on 92/06/03 GMT (by 86693596 at WARVM2)
-
- You can get the boot drive with the following code ("Ä" = backslash):
-
- /***********************/
- /* Find the boot drive */
- /***********************/
- Getbootdrive: Procedure
- bootdrive = Value('PATH',,'OS2ENVIRONMENT')
- Return Substr(bootdrive,Pos('ÄOS2ÄSYSTEM',bootdrive)-2,2)
-
- Georg Haschek - OS/2 Project Office (06/03/92 19:00:15 CET)
-
- ----- OS2REXX CFORUM appended at 18:04:01 on 92/06/03 GMT (by CONT06 at LEXVMK)
- Subject: Using REXX to Control RS-232
- Ref: Append at 05:48:03 on 92/06/03 GMT (by OTISLIAO at TAIVM1)
-
- Charin/Charout may be what you need (type HELP REXX CHARIN on os2 prompt).
-
- Leshek J. Fiedorowicz - Team OS/2 Lexington 1992/06/03 14:01
- JRFB70A@*P
-
- ----- OS2REXX CFORUM appended at 22:10:28 on 92/06/03 GMT (by XXMINC08 at TORVMCOP)
- Subject: Access to LIBPATH?
- Ref: Append at 14:05:13 on 92/06/03 GMT (by PMUELLR at CARVM3)
-
- Patrick,
- In the first paragraph you mention that you can't change the LIBPATH
- after you've booted, and in the second paragraph you are worried about
- not being able to see any changes that have been made since boot time??
-
- It is my understanding that LIBPATH can never be changed after the
- initial boot (probably because the OS/2 kernel reads it at boot time,
- and hence would be useless to treat it like a normal environment var).
-
- Your solution, reading it from the CONFIG.SYS file, maybe doesn't
- feel pretty ... but I think it should work ok if you can't find any
- other way to get the value. Good Luck.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 03:30:54 on 92/06/04 GMT (by PMUELLR at CARVM3)
- Subject: Access to LIBPATH?
- Ref: Append at 22:10:28 on 92/06/03 GMT (by XXMINC08 at TORVMCOP)
-
- I meant that even if you figure out some way of getting to the boot
- drive so you can read the config.sys, I might have changed the LIBPATH=
- line in my config.sys since the system was booted. Then the program
- would be reading a line that wasn't the same as the LIBPATH= line the
- system was booted with. You probably don't really want to see this
- changed line, but the value of the original line when the system was
- booted.
-
- I don't know if this would affect the guy who originally asked about
- this - probably not much - but I bring it up since it was a pitfall
- mentioned on one of our internal FORUMs a while back. There doesn't
- seem to be a general way to get the value of the LIBPATH the system
- was booted with, with 100% certainty.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 12:47:11 on 92/06/04 GMT (by PERSHNG at YKTVMH)
- Subject: Access to LIBPATH?
- Ref: Append at 03:30:54 on 92/06/04 GMT (by PMUELLR at CARVM3)
-
- The version of LIBPATH in the CONFIG.SYS file is sufficient for my
- purposes -- thanks.
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 19:30:43 on 92/06/04 GMT (by UDSS013 at OS2CUST)
- Subject: Access to LIBPATH? - Source Code!
-
- Environment: procedure expose Dir.
- /**
- *** This will list the contents of the environment variable.
- *** It was designed to list those environment variables that are a
- *** list of directories, separated by semicolons, such as a PATH or
- *** DPATH variable. Although it is not an environment variable, this
- *** code will do the same for the LIBPATH by looking in the CONFIG.SYS
- **/
-
- arg EnvVariable .
-
- /* Take care of the special case for LIBPATH */
-
- if EnvVariable = 'LIBPATH' then
- do
- call SysFileSearch 'LIBPATH=', Dir.Boot'CONFIG.SYS', 'Libpath'
- if Libpath.0 \= 1 then
- do
- say "Warning. Possibly more than 1 LIBPATH in CONFIG.SYS"
- return
- end
- EnvValue = substr(Libpath.1, 9) /* Remove the "LIBPATH=" */
- end /* if */
- else
- EnvValue = value(EnvVariable, , "OS2ENVIRONMENT")
-
- .
- .
- .
-
- The code goes on to split the environment variable (or LIBPATH) with the
- following code that fills the DirList stem.
-
- PathSplit: procedure expose DirList.
- /**
- *** This will create a stem variable out of the semicolon-delimited
- *** variable that is presumably retreived from a PATH or DPATH
- *** environment.
- **/
-
- arg PathString .
-
- DirList = ''
- j = 1
- parse var PathString DirList.j ';' PathString
- do while DirList.j \= ''
- j = j + 1
- parse var PathString DirList.j ';' PathString
- end /* while */
- DirList.0 = j - 1
- return DirList.0
-
- Also note the first routine used the RexxUtil, which requires the DLL to
- be loaded. That is done as follows:
-
- call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
- call SysLoadFuncs
-
- Also note that the boot drive was set as part of the "Dir." stem variable in
- the above code. These are routines out of a larger (1700 line) REXX program.
- Someone else posted a good way to determine the boot drive using the path.
- I may have to incorporate that in the code.
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 21:05:46 on 92/06/04 GMT (by XXMINC08 at TORVMCOP)
- Subject: Access to LIBPATH?
- Ref: Append at 03:30:54 on 92/06/04 GMT (by PMUELLR at CARVM3)
-
- Patrick,
- Now I understand what you were saying ...
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 22:23:45 on 92/06/10 GMT (by USBC076 at OS2CUST)
- Subject: Refreshing Icon Display
-
- Is there a way to get REXX to refresh the workplace shell icon display? If I
- issue a SysSetIcon for a folder I have placed on my desktop, I get a RC=1, but
- the actual new icon does not display until I open the settings for the object.
- I would like to run a REXX exec when I log onto the LAN that changes an icon
- on my desktop (like, from a red light to a green one?) when I log on, and so
- on, but am apparently missing some sort of refresh capability?
-
- Robert D. Young, United States National Bank
-
- ----- OS2REXX CFORUM appended at 09:38:50 on 92/06/11 GMT (by DAVENG at SYDVM1)
- Subject: Rexx Examples for pipe
- Hi,
- I have a customer who would like to be able to have a rexx procedure
- write information to a named pipe which was created by a 'C' program.
- Any information on how to do this or examples would be great.
-
- Dave Ng
- PSG - Melbourne
-
- ----- OS2REXX CFORUM appended at 11:46:55 on 92/06/11 GMT (by MCGUIRE at GDLVM7)
- Subject: Rexx Examples for pipe
- Ref: Append at 09:38:50 on 92/06/11 GMT (by DAVENG at SYDVM1)
-
- Trivial actually. Just use the standard Rexx I/O functions:
-
- call stream '\PIPE\MYPIPE', 'C', 'OPEN' /* open the pipe */
- call lineout '\PIPE\MYPIPE', request /* send the request */
- reply = linein('\PIPE\MYPIPE') /* get a reply back */
- call stream '\PIPE\MYPIPE', 'C', 'CLOSE' /* disconnect from the pipe */
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 12:23:56 on 92/06/11 GMT (by NAAD356 at OS2CUST)
- Subject: REXX as an application driver for DTL
-
- Is is possible to use REXX to drive applications for OS/2 written using
- Dialog tag language? I did not see REXX listed in the ISPF/DTL manual
- as being used for this?
-
- ----- OS2REXX CFORUM appended at 12:40:17 on 92/06/11 GMT (by SCHOLICH at SDFVM003)
- Subject: Rexx Examples for pipe
- Ref: Append at 11:46:55 on 92/06/11 GMT (by MCGUIRE at GDLVM7)
-
- Hello Rick !
- I've tried your example for pipe.
- I'm soory, but it does'nt work for me !
- The Result of the 'open' - statement is 'NOTREADY:3'
- (the system cannot find the path specified)
- What's my mistake?
-
- Juergen Scholich (SCHOLICH at SDFVM003) Sindelfingen, Germany
-
- ----- OS2REXX CFORUM appended at 13:46:14 on 92/06/11 GMT (by MCGUIRE at GDLVM7)
- Subject: Rexx Examples for pipe
- Ref: Append at 12:40:17 on 92/06/11 GMT (by SCHOLICH at SDFVM003)
-
- Well, it will only work if the C program has already created the named pipe.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 13:55:37 on 92/06/11 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Rexx Examples for pipe
- Ref: Append at 12:40:17 on 92/06/11 GMT (by SCHOLICH at SDFVM003)
-
- Juergen,
- Did you put two backslash before the PIPE ? \\pipe\mypipe
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 21:49:08 on 92/06/11 GMT (by JDCANON at CHGVMIC1)
- Subject: PMREXX and "REXX procedure has ended" message
- Ref: Append at 13:09:58 on 92/06/03 GMT (by SAMI3QU at OS2CUST)
-
- Modifying the PMREXX source isn't that hard. I had the same question
- and got the following answer:
-
- Go to line 974 in PMREXX.C
- delete everything from
- WinSendMsg(.....
- to
- }
- (The squiggly bracket in line 981)
-
- Replace all that with one line that reads
-
- WinPostMsg(hwndClient, WM_CLOSE, NULL, NULL);
-
- Then save and recompile. Your new PMREXX will *QUIT* when the
- Rexx Exec Exits. Save an old copy for debug. Use the new one
- for production.
-
- A tip of the REXX hat to Greg Forney who provided this answer for me!
-
- Joel Canon -- Bloomington, Illinois
-
- ----- OS2REXX CFORUM appended at 11:28:53 on 92/06/15 GMT (by SCHOLICH at SDFVM003)
- Subject: Rexx Examples for pipe
- Ref: Append at 13:55:37 on 92/06/11 GMT (by XXNOVA24 at TORVMCOP)
-
- Thank you Geza, thank you Rick.
- By the way, is there any tool, that allowes the creation of a named pipe
- by a rexx-program ??
-
- Juergen Scholich (SCHOLICH at SDFVM003) Sindelfingen, Germany
-
- ----- OS2REXX CFORUM appended at 11:52:26 on 92/06/15 GMT (by 78819237 at EHONE)
- Subject: Rexx Examples for pipe
- Ref: Append at 11:28:53 on 92/06/15 GMT (by SCHOLICH at SDFVM003)
-
- I thought that was a built in function: RxQueue
- With RxQueue you can Create queues etc.
-
- Michael Dag, TEAM OS/2 Netherlands
-
- ----- OS2REXX CFORUM appended at 13:41:18 on 92/06/15 GMT (by MRTOM at YKTVMV)
- Subject: Rexx Examples for pipe
- Ref: Append at 11:52:26 on 92/06/15 GMT (by 78819237 at EHONE)
-
- RXQUEUE allows you to create queues, not pipes.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 13:51:41 on 92/06/15 GMT (by PMUELLR at CARVM3)
- Subject: Rexx Examples for pipe
- Ref: Append at 13:41:18 on 92/06/15 GMT (by MRTOM at YKTVMV)
-
- Even still, the queues rexx allows access to are distinct from the
- OS/2 queues from the Dos...Queue() APIs. You can't mix & match 'em.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 13:59:54 on 92/06/15 GMT (by CONT00 at LEXVMK)
- Subject: Rexx Examples for pipe
- Ref: Append at 13:41:18 on 92/06/15 GMT (by MRTOM at YKTVMV)
-
- Are those "internal REXX Queues" (available ONLY from a REXX program in
- ONE process) or "standard" OS/2 queues ?
-
- Gregory Czaja, Lexington 8-545-3311 1992/06/15 09:58
-
- ----- OS2REXX CFORUM appended at 14:56:48 on 92/06/15 GMT (by 78819237 at EHONE)
- Subject: Rexx Examples for pipe
- Ref: Append at 13:41:18 on 92/06/15 GMT (by MRTOM at YKTVMV)
-
- Tom, thanks for setting me straight... back to the books for me :-(
-
- Michael Dag TEAM OS/2 Netherlands
-
- ----- OS2REXX CFORUM appended at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
- Subject: Verify
-
- I am trying to search a string for a substring. I used verify but I want
- the substring to not only be contained in the string but also appear in
- the same order or format. i.e.
-
- OptionalSystemUtilities=2,3,10,12 and I am searching for the
- substring 13. Verify will say that 13 is a substring of this.
-
- Does anyone know of any other tools or commands?
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 20:03:54 on 92/06/15 GMT (by MCGUIRE at GDLVM7)
- Subject: Verify
- Ref: Append at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
-
- I think you want the Pos() builtin function:
-
- position = pos('13', 'OptionalSystemUtilities=2,3,10,12')
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 20:16:25 on 92/06/15 GMT (by GBFORNEY at WASVMIC5)
- Subject: Verify
- Ref: Append at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
-
- I have never heard of verify, but pos('13',OptionSystemUtilites)
- should do what you want. It would return a value of zero for
- your example.
-
- Greg Forney - DVSC
-
- ----- OS2REXX CFORUM appended at 21:03:51 on 92/06/15 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
-
- Cmd = 'OptionalSystemUtilities=2,3,10,12'
- parse var Cmd '=' Opts
- if wordpos('13', translate(Opts, ' ', ',')) > 0
- then say '13 was specified.'
- else say 'No 13 for you.'
-
- Tom
-
- ----- OS2REXX CFORUM appended at 22:24:20 on 92/06/15 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 20:03:54 on 92/06/15 GMT (by MCGUIRE at GDLVM7)
- Append at 20:16:25 on 92/06/15 GMT (by GBFORNEY at WASVMIC5)
-
- Rick, you should know better than that! If OptionSystemUtilities
- = '1,3,10,12,139, you'll get a false hit.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 22:50:11 on 92/06/15 GMT (by PMUELLR at CARVM3)
- ..... OS2REXX CFORUM modified at 22:53:50 on 92/06/15 GMT (by PMUELLR at CARVM3)
-
- ..removed redundant append
-
- ----- OS2REXX CFORUM appended at 06:35:48 on 92/06/16 GMT (by SCHOLICH at SDFVM003)
- Subject: Verify
- Ref: Append at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
-
- I think, that the POS - funktion will work for you.
- The example should be:
- Exist = POS("13", string)
-
- Juergen Scholich (SCHOLICH at SDFVM003) Sindelfingen, Germany
-
- ----- OS2REXX CFORUM appended at 10:46:33 on 92/06/16 GMT (by VERSTEEG at UITVM1)
- Subject: Verify
- Ref: Append at 18:29:47 on 92/06/15 GMT (by TEMP19GC at CLTVM1)
-
- Another alternative is 'FIND'.
- It requires the words be separated by blanks though.
- str = translate(string," ",",")
- exist = find(str,'13')
- /* exist has word number in str or 0 */
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL
-
- ----- OS2REXX CFORUM appended at 11:16:14 on 92/06/16 GMT (by MCGUIRE at GDLVM7)
- Subject: Verify
- Ref: Append at 22:24:20 on 92/06/15 GMT (by MRTOM at YKTVMV)
-
- Except I believe he wanted the false hit in that situation. Verify would
- give a true hit, since it would search for either a 1 or a 3.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 12:58:02 on 92/06/16 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 10:46:33 on 92/06/16 GMT (by VERSTEEG at UITVM1)
-
- FIND isn't in OS/2 REXX.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 12:59:52 on 92/06/16 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 11:16:14 on 92/06/16 GMT (by MCGUIRE at GDLVM7)
-
- Mmm. I took it to mean that they were looking to see if the number
- was in the comma delimited list. Guess the appender will have to
- clarify.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 14:23:27 on 92/06/16 GMT (by TEMP19GC at CLTVM1)
- Subject: Verify
- Ref: Append at 12:59:52 on 92/06/16 GMT (by MRTOM at YKTVMV)
-
- I was trying to see if OptionSystemUtilities had the number 13 as one of
- the numbers set after the equal. I am using the POS command and it is
- working fine, because all I care about is whether or not 13 is in the
- string.
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 16:51:39 on 92/06/16 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 14:23:27 on 92/06/16 GMT (by TEMP19GC at CLTVM1)
-
- So you DON'T care that if the string is:
- OptionSystemUtilities = 14,26
-
- and you test for "4" you'll get a hit? POS will find 1 above; from
- what you've appended so far, I don't think you want it to unless
- the string is something like:
- OptionSystemUtilities = 4,14,26
-
- Tom
-
- ----- OS2REXX CFORUM appended at 17:53:42 on 92/06/16 GMT (by TEMP19GC at CLTVM1)
- Subject: Verify
- Ref: Append at 16:51:39 on 92/06/16 GMT (by MRTOM at YKTVMV)
-
- Ok you are right. Got any other ideas.
-
- Thanks,
-
- Aubrey Hawes
-
- ----- OS2REXX CFORUM appended at 20:44:27 on 92/06/16 GMT (by IL22993 at OS2CUST)
- Subject: can REXX "open" an object??
-
- Is there a method within rexx to "start" or "open" an object either on the
- desktop or within a folder? I know for example that you can add an
- object to the desktop memu by through the menu settings, and then open
- the object, as opposed to a program... e.g. adding "OS/2 Window" to the menu
- v.s. adding "CMD.EXE" to the menu. The big advantage is that any "settings"
- applied to the object are kept.
-
- Now... If there were some way for me to open a program object from REXX rather
- than the .exe or .bat file itself, there might be a way for us to get settings
- (DOS Version, memory, etc.) to be set correctly for the object rather than use
- the system defaults.
-
- I am not against writing a little C code if necessary.... Sure would be a nice
- extension to the Rexx Utilities! (My toolkit is on order!)
-
- Does anyone have any suggestions?
-
- Thanks...
-
- George Clark
-
- ----- OS2REXX CFORUM appended at 23:00:22 on 92/06/16 GMT (by MRTOM at YKTVMV)
- Subject: Verify
- Ref: Append at 17:53:42 on 92/06/16 GMT (by TEMP19GC at CLTVM1)
- Append at 21:03:51 on 92/06/15 GMT (by MRTOM at YKTVMV)
-
- Sure! See my referenced append.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 11:12:52 on 92/06/17 GMT (by MCGUIRE at GDLVM7)
- Subject: can REXX "open" an object??
- Ref: Append at 20:44:27 on 92/06/16 GMT (by IL22993 at OS2CUST)
-
- There aren't any WorkPlace Shell APIs for opening a view of an object,
- although every object has a wpOpen method. I don't think a Rexx program can
- directly access the methods, but you might be able to write a WPS object that
- Rexx programs can send messages via a named pipe or queue.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 17:30:11 on 92/06/17 GMT (by TRAUTMAN at PKEDVM8)
- Subject: can REXX "open" an object??
- Ref: Append at 11:12:52 on 92/06/17 GMT (by MCGUIRE at GDLVM7)
-
- Check out the options on the START command. I belive something like
- 'START /PGM "The Icon Text for Program" will open the object
- that has the name "The Icon Text for Program".
-
- Bill Trautman
-
- ----- OS2REXX CFORUM appended at 20:02:14 on 92/06/17 GMT (by MRTOM at YKTVMV)
- Subject: can REXX "open" an object??
- Ref: Append at 17:30:11 on 92/06/17 GMT (by TRAUTMAN at PKEDVM8)
-
- I think the user wanted to open an object, such as the OS/2 System
- folder, not start a program.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 22:13:01 on 92/06/17 GMT (by MAGUIRET at RHQVM21)
- Subject: Rexx not freeing DLL for external function
- Ref:
-
- I'm having some trouble with REXX on OS2V2. I do an RxFuncAdd followed
- by some use of the function and eventually an RxFuncDrop. The problem
- is that when I try to reLink the DLL the linker can't open the run
- file (i.e. the DLL). Am I doing something wrong? BTW, I get a
- return code 0 from RxFuncDrop. Is this WAD or FEECHUR?
-
- Tom Maguire
-
- ----- OS2REXX CFORUM appended at 11:23:14 on 92/06/18 GMT (by MCGUIRE at GDLVM7)
- Subject: Rexx not freeing DLL for external function
- Ref: Append at 22:13:01 on 92/06/17 GMT (by MAGUIRET at RHQVM21)
-
- "Working As Designed". You need to exit any sessions that used the function
- DLL to get the system loader support to remove the loaded copy for you.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 12:46:57 on 92/06/18 GMT (by CONT00 at LEXVMK)
- Subject: Rexx not freeing DLL for external function
- Ref: Append at 11:23:14 on 92/06/18 GMT (by MCGUIRE at GDLVM7)
-
- Rick, could you please check on this again... When using LINK (16 bit)
- it does really complain and I have to exit, but when I use LINK386 (32)
- I don't have to and the DLL gets relinked. Is there a difference ?
-
- Gregory Czaja, Lexington 8-545-3311 1992/06/18 08:44
-
- ----- OS2REXX CFORUM appended at 20:15:52 on 92/06/18 GMT (by TMARTIN at NHBVM4)
- Subject: Verify
- Ref: Append at 23:00:22 on 92/06/16 GMT (by MRTOM at YKTVMV)
-
- You can also use parse; eg:
-
- /* demonstrate use of parse */
- arg z
- interpret 'parse value " A=42 B=47 C=99 'z'=default " with "' z'=" res .'
- say res
- exit
-
- If z = "A", this says 42. If z is B or C, this says 47 or 99.
- If z is something else, this says "default".
-
- Tim Martin (TMARTIN @ NHBVM4) 1992/06/18 21:06 BST
-
- ----- OS2REXX CFORUM appended at 21:37:03 on 92/06/18 GMT (by MAAV7IB at OS2CUST)
- Subject: SYSGETEA and SYSPUTEA Examples have undocumented hex information
-
- The SysGetEA and SysPutEA examples have special hex information that is not
- documented in the example. Where can I find what that information specifies?
- When used on a file that has EA info stored by the system editor, the same
- hex info is stored in the ".type" value.
-
- The SysGetEA example is incorrect. It does not have balanced parenthesis.
-
- Why does the SysPutEA use "TYPE" for the EA name and SysGetEA uses ".type"?
-
- Kevin Miller
-
- ----- OS2REXX CFORUM appended at 02:37:28 on 92/06/19 GMT (by SDETWEIL at DETVMIC4)
- Subject: Rexx not freeing DLL for external function
- Ref: Append at 12:46:57 on 92/06/18 GMT (by CONT00 at LEXVMK)
-
- Are you linking a C-SET/2 built DLL? If so, it uses the new OS/2 2.0
- InitTerm function and will be freed when DosFreeModuled. DLLs
- built with IBM or MS C register an Exitlist which will NOT
- allow the module to be freed UNTIL ALL using processes (CMD.EXE)
- end..
-
- Sam
-
- ----- OS2REXX CFORUM appended at 12:37:10 on 92/06/19 GMT (by MIKELAMB at KGNVMC)
- ..... OS2REXX CFORUM modified at 14:06:29 on 92/07/29 GMT (by MIKELAMB at KGNVMC)
- Subject: REXXUTIL Information and Samples
-
- The following attempts to better explain some of the powerful features
- provided by OS/2 V2's dynamic link library; REXXUTIL.DLL (Rexx utility
- functions). REXXUTIL functions are described in the online 'REXX Information'
- reference and the 'OS/2 2.0 Technical Library Procedures Language/2 REXX
- Reference' publication (order number S10G-6268). The information following is
- intended to provide a more detailed description of some of the functions.
-
- One should realize that many of the functions provided by REXXUTIL have
- origins with Presentation Manager WinXXX calls. The 'OS/2 Technical
- Library Presentation Manager Programming Reference Vol2' publication
- (order number S10G-6265) can be reviewed for more information.
-
- Some of the functions used/explained:
-
- SysIni:
- Using REXXUTIL's SysIni function one can modify many settings of the WorkPlace
- Shell as well as change other applications settings that make use of *.INI
- files such as the system OS2.INI and OS2SYS.INI.
-
- SysCreateObject: (PM WinCreateObject - Create Workplace Object)
- Using REXXUTIL's SysCreateObject function one can create various objects;
- like folders, programs, and shadow objects using Rexx. This section for the
- most part includes parameter information which was gathered together from
- various sources of information.
-
- SysSetObjectData: (PM WinSetObjectData - Set Object Data)
- Using REXXUTIL's SysSetObjectData function one can change an objects
- characteristics (of an already created object, if you know its objectid).
-
- SysDestroyObject: (PM WinDestroyObject - Destroy Workplace Object)
- Using REXXUTIL's SysDestroyObject one can delete an object created if you
- know its objectid.
-
- Misc Notes:
- If one views the *.RC files located in your bootdrive:\OS2 directory you
- can learn a lot about the various INI settings and folder structure.
- Review INI.RC and INISYS.RC files, they are used to create your OS2.INI
- and OS2SYS.INI files.
-
- Some of REXXUTIL's functions are only available when using the very latest
- REXX20 PACKAGE which consists of the very latest REXX fixes and enhancements
- for OS/2 V2. So should you have problems running any of the sample programs
- you should make sure your system has the vary latest REXX20 updates.
-
- If anyone discovers other parameters or other "hidden" features of
- any of the functions discussed, please share your discovery. I'll try to
- update the information as I receive it.
-
- Thanks...
- Michael Lamb MIKELAMB(KGNVMC)
- Workstation Technical Support
- Kingston NY
-
- Change Log:
- 04/30/92 - Added information about DuplicateFlag parm
- - Added more setup string information from manuals
- 06/02/92 - Added information about breaking Title line character "^"
- - Added information about adding multiple DOS_DEVICE statements
- - Added code to SHADOW.CMD to make shadow object of a file
- !!NOTE!! - The REXXOS2 fixes are required to make some of
- the newer samples work properly.
- 06/30/92 - Added information regarding two new REXXUTIL functions:
- SysSetObjectData and SysDestroyObject, also two new
- samples STARTDOS, BOOTDOS (Thanks to Rick McGuire)
- 07/13/92 - Reorganized the way the material is presented. Also added more
- sample Rexx routines REBUILD, OBJCLASS and LPTADD, descriptions
- follow. Also changed parm CONCURRENTVIEW to CCVIEW (Thanks
- Dan Kehn, Felix Sawicki)
- 07/15/92 - Updated entire document as I mistakenly truncated it at 80
- characters. Rewrote some sample Rexx routines so they do not
- extend beyond 80 characters. Also updated the SysSetObjectData
- description to show how can open an object (Thanks Rick). Added
- information about creating multi-line titles, carat works for
- two line titles but not more than 2.
- New samples, OBJECTID and FONTS included, descriptions follow.
- 07/29/92 - Corrected an error I made when I broke the setup lines into
- multiple lines. I needed to add ||'s to make sure they
- concatenated without spaces (Thanks Rick). Also added
- information regarding changing some System Settings (added
- new section after sample Rexx code). Also added warning
- in REBUILD.CMD sample about replacing Folder objects. Also
- added new sample ICONRES.CMD which builds a folder containing
- many of the OS/2 V2 installed icons using system DLL files.
-
- This append consists of multiple pieces of information:
-
- 1) Large block of text containing information that pertains to the subject.
- (TEXT INFORMATION)
- 2) Sample Rexx code, some complete programs, others code fragments:
- - (FOLDER.CMD)
- Creates a folder and program objects in the folder
- - (SHADOW.CMD)
- Creates shadows of objects
- - (FLDSHAD.CMD)
- Creates a folder, then program object in the folder, then place a shadow
- of the program object on the desktop.
- - (STARTDOS.CMD)
- Starts a DOS program using specific DOS VDM settings.
- - (BOOTDOS.CMD)
- Starts a DOS session, booting from a specific DOS image with
- specific DOS VDM settings.
- - (REBUILD.CMD)
- Allows one to rebuild OS/2 system objects, like MAKEINI does.
- - (LPTADD.CMD)
- Code using SysIni to add LPT4-9 ports.
- - (OBJECTID.CMD)
- Code using SysIni to list OBJECTIDs known to the WorkPlace Shell
- - (FONTS.CMD)
- Code using SysIni to list installed fonts.
- - ICONRES.CMD
- Code building a folder containing many of the various icons found in
- installed DLL files for OS/2 V2. Demonstrates use of setup string
- parameter ICONRESOURCE.
- 3) Code Fragments
- - (SYSSET)
- Shows using SysIni to toggle various System Settings
-
- ((BEGIN TEXT INFORMATION))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -- Help information regarding the SysCreateObject function of REXXUTIL --
-
- Function: SysCreateObject
- Syntax:
- result=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)
-
- classname:The name of the object class.
-
- title: The object title.
-
- location: The object location. This can be specified as either a
- descriptive path (for example, OS/2 System Folder\System
- Configuration) or a file system path (for example,
- C:\bin\mytools).
-
- setup: A WinCreateObject setup string.
-
- duplicateflag: This parameter indicates what action should be taken
- when the Setup string specifies an object ID, and an object with
- that object ID already exists. If the setup string does not give
- an object ID, a duplicate object will be created.
-
- result The return code from WinCreateObject. This returns 1 (TRUE) if the
- object was created and 0 (FALSE) if the object was not created.
-
- Purpose: Create a new instance of an object class.
-
- -- Help information regarding the SysSetObjectData function of REXXUTIL --
-
- Function: SysSetObjectData
- Syntax:
- result=SysSetObjectData(name, setup)
-
- name: The object name. This can be specified as an object id (for
- example <WP_DESKTOP>) or as a fully specified file name.
-
- setup: A WinCreateObject setup string.
-
- Purpose: Alter the settings of an existing object. Can also be used to
- open an instance of an object:
- /* open up the system folder */
- call SysSetObjectData '<WP_OS2SYS>', 'OPEN=DEFAULT;'
-
- See the description of the SysCreateObject location and setup strings
- following for an explanation of the parameters.
-
- -- Help information regarding the SysDestroyObject function of REXXUTIL --
-
- Function: SysDestroyObject
- Syntax:
- result=SysDestroyObject(name)
-
- name: The object name. This can be specified as an object id (for
- example <WP_DESKTOP>) or as a fully specified file name.
-
- Purpose: Destroys an existing object.
-
- See the description of the SysCreateObject location parameter
- following for an explanation of the object name.
-
- --SysCreateObject Parms------------------------------------------------------
-
- The SysCreateObject parameters are now explained in more detail.
-
- Remember syntax is...
- result=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)
-
- classname:
- A registered object class defined to the system. Of particular interest are
- the WPFolder/WPProgram/WPShadow classes. Note using the sample Rexx code
- included in the SysQueryClassList function help screen one can list all
- of the registered classes:
-
- call SysQueryClassList "list."
- do i = 1 to list.0
- say 'Class' i 'is' list.i
- end
-
- title:
- Easy one, the objects title you want to use. If you wish to break the title
- line use the carat "^" symbol in the title. Ex. 'First line^Second Line'
- This works to break a title into two lines. However to break a title into
- more than two lines you need to separate the title lines with a hex 0A
- (line-feed) character.
- Rexx example:
- h0A='0A'X
- title='First'h0A'Second'h0A'Third'
-
- location:
- The objects location can be specified as either a descriptive path (for
- example, OS/2 System Folder\System Configuration) or a file system path
- (for example, C:\bin\mytools). However by looking at the INI.RC file one
- can see a use of other "locations", such as <WP_DESKTOP>. If this is used
- as a location then your object will reside on the WorkPlace Shell desktop.
- If you are creating a folder or program object you should make sure you use
- the setup string option and give that folder a unique OBJECTID. We'll see
- how this works later.
-
- HINTS: Here are some predefined object ids of system folders. Also if you
- are thinking of placing an object in the Startup Folder <WP_START>,
- make it a shadow of an object.
- <WP_DESKTOP> The Desktop.
- <WP_START> The Startup folder.
- <WP_OS2SYS> The System folder.
- <WP_TEMPS> The Templates folder.
- <WP_CONFIG> The System Setup folder.
- <WP_INFO> The Information folder.
- <WP_DRIVES> The Drives folder.
- <WP_NOWHERE> The hidden folder.
-
- setup:
- This field needs the most explaining, a larger section following details
- many of the available setupstring parameters. The setupstring field contains
- a series of "keyname=value" pairs separated by semi-colons that change the
- behavior of an object. Each object class documents its keynames and the
- parameters it expects to see.
-
- duplicateflag:
- There are three possible values for this parameter:
- FailIfExists - No object should be created if an object with the
- given object already exists. This is the default and maps to the
- PM creation flag, CO_FAILIFEXISTS
- ReplaceIfExists - If an object with the given object ID already exists,
- the existing object should be replaced. Maps to the PM creation
- flag, CO_REPLACEIFEXISTS.
- UpdateIfExists - If an object with the given object ID already exists,
- the existing object should be updated with the new information.
- Maps to the creation flag, CO_UPDATEIFEXISTS.
- (Only the first character is required/examined, i.e. F, R, or U)
-
- ALL parameters have safe defaults, so it is never necessary to pass
- unnecessary parameters to an object.
-
- --Setup Strings--------------------------------------------------------------
-
- What follows are both WPFolder and WPProgram setup string parameters.
- Their various key names, values and a short description follow
- each item. The <<xxx>> item is there to give you an idea of what
- Workplace Shell settings "page" you would find this information on.
-
- *********************************
- ***WPFolder setup string parms***
- *********************************
- KEYNAME VALUE Description
- -----------------------------------------------------------------------------
- <<View>>
- OPEN ICON Open icon view when object is created.
- TREE Open tree view when object is created.
- DETAILS Open details view when object is created.
- ICONVIEW s1[,s2,...sn] Set icon view to specified style(s).
- TREEVIEW s1[,s2,...sn] Set tree view to specified style(s).
- DETAILSVIEW s1[,s2,...sn] Set details view to specified style(s).
- (styles) FLOWED flowed list items
- NONFLOWED non-flowed list items
- NONGRID non-gridded icon view
- NORMAL normal size icons
- MINI small icons
- INVISIBLE no icons
- LINES lines in tree view
- NOLINES no lines in tree view
- <<Background>>
- BACKGROUND filename Sets the folder background. filename is the
- name of a file in the \OS2\BITMAP directory
- of the boot drive.
- <<File>>
- WORKAREA YES Make the folder a Workarea folder
- <<Window>>
- MINWIN HIDE Views of this object will hide when their
- minimize button is selected.
- VIEWER Views of this object will minimize to the
- minimized window viewer when their minimize
- button is selected.
- DESKTOP Views of this object will minimize to the
- Desktop when their minimize button is selected.
- VIEWBUTTON HIDE Views of this object will have a hide button
- as opposed to a minimize button.
- MINIMIZE Views of this object will have a minimize button
- as opposed to a hide button.
- CCVIEW YES New views of this object will be created every
- time the user selects open.
- NO Open views of this object will resurface when
- the user selects open.
- <<General>>
- ICONFILE filename This sets the object's icon.
- ICONRESOURCE id,module This sets the object's icon. 'id' is the
- identity of an icon resource in the 'module'
- dynamic link library (DLL).
- ICONPOS x,y This sets the object's initial icon position.
- The x and y values represent the position in
- the object's folder in percentage coordinates.
- TEMPLATE YES Creates object as a template.
- NO Resets objects template property.
- -----------------------------------------------------------------------------
-
- **********************************
- ***WPProgram setup string parms***
- **********************************
- KEYNAME VALUE Description
- -----------------------------------------------------------------------------
- <<Program>>
- EXENAME filename Sets the name of the program
- PARAMETERS params Sets the parameters list, which may
- include substitution characters
- STARTUPDIR pathname Sets the working directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Sessions>>
- PROGTYPE FULLSCREEN Sets the session type to OS/2 full screen
- PM Sets the session type to PM
- SEPARATEWIN Sets the session type to WIN-OS2 window
- running in a separate VDM.
- VDM Sets the session type to DOS full screen
- WIN Sets the session type to WIN-OS2 full screen
- WINDOWABLEVIO Sets the session type to OS/2 windowed
- WINDOWEDVDM Sets the session type to DOS windowed
- WINDOWEDWIN Sets the session type to WIN-OS2 windowed
- MINIMIZED YES Start program minimized
- MAXIMIZED YES Start program maximized
- NOAUTOCLOSE YES Leaves the window open upon program termination.
- NO Closes the window when the program terminates.
- -DOS Settings-
- NOTES:
- - To change these values you use SET keyname=
- Example: SET DOS_FILES=45;SET DOS_HIGH=1
- Also for some use values of 1 for ON, 0 for off
- Example: SET COM_HOLD=1; (on, default is off)
- To add more than one DOS_DEVICE you need to separate with hex 0A (line-feed)
- Rexx example:
- h0A='0A'X
- setup='...;SET DOS_DEVICE=C:\OS2\MDOS\ANSI.SYS'h0A'C:\OS2\MDOS\EGA.SYS...'
-
- List of DOS Setting fields
- COM_HOLD
- DOS_BACKGROUND_EXECUTION
- DOS_BREAK
- DOS_DEVICE
- DOS_FCBS
- DOS_FCBS_KEEP
- DOS_FILES
- DOS_HIGH
- DOS_LASTDRIVE
- DOS_RMSIZE
- DOS_SHELL
- DOS_STARTUP_DRIVE
- DOS_UMB
- DOS_VERSION
- DPMI_DOS_API
- DPMI_MEMORY_LIMIT
- DPMI_NETWORK_BUFF_SIZE
- DPMI_DOS_API
- EMS_FRAME_LOCATION
- EMS_HIGH_OS_MAP_REGION
- EMS_LOW_OS_MAP_REGION
- EMS_MEMORY_LIMIT
- HW_NOSOUND
- HW_ROM_TO_RAM
- HW_TIMER
- IDLE_SECONDS
- IDLE_SENSITIVITY
- KBD_ALTHOME_BYPASS
- KBD_BUFFER_EXTEND
- KBD_RATE_LOCK
- MEM_INCLUDE_REGIONS
- MEM_EXCLUDE_REGIONS
- MOUSE_EXCLUSIVE_ACCESS
- PRINT_TIMEOUT
- VIDEO_FASTPASTE
- VIDEO_MODE_RESTRICTION
- VIDEO_ONDEMAND_MEMORY
- VIDEO_RETRACE_EMULATION
- VIDEO_ROM_EMULATION
- VIDEO_SWITCH_NOTIFICATION
- VIDEO_WINDOW_REFRESH
- VIDEO_8514A_XGA_IOTRAP
- XMS_HANDLES
- XMS_MEMORY_LIMIT
- XMS_MINIMUM_HMA
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Association>>
- ASSOCFILTER filters Sets the filename filter for files
- associated to this program.
- Multiple filters are separated by commas.
- ASSOCTYPE type Sets the type of files associated to this
- program. Multiple filters are separated
- by commas.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Window>>
- MINWIN HIDE Views of this object will hide when their
- minimize button is selected.
- VIEWER Views of this object will minimize to the
- minimized window viewer when their minimize
- button is selected.
- DESKTOP Views of this object will minimize to the
- Desktop when their minimize button is selected.
- VIEWBUTTON HIDE Views of this object will have a hide button
- as opposed to a minimize button.
- MINIMIZE Views of this object will have a minimize button
- as opposed to a hide button.
- CCVIEW YES New views of this object will be created every
- time the user selects open.
- NO Open views of this object will resurface when
- the user selects open.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<General>>
- ICONFILE filename This sets the object's icon.
- ICONRESOURCE id,module This sets the object's icon. 'id' is the
- identity of an icon resource in the 'module'
- dynamic link library (DLL).
- ICONPOS x,y This sets the object's initial icon position.
- The x and y values represent the position in
- the object's folder in percentage coordinates.
- TEMPLATE YES Creates object as a template.
- NO Resets objects template property.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Misc>>
- OBJECTID <name> This sets the object's identity. The object
- id will stay with the object even if it is
- moved or renamed. An object id is any unique
- string preceded with a '<' and terminated
- with a '>'. This may also be a real name
- specified as a fully qualified path name.
- HELPPANEL id This sets the object's default help panel.
- HELPLIBRARY filename This sets the help library.
- OPEN SETTINGS Open settings view when object is created.
- DEFAULT Open default view when object is created.
- NODELETE YES Will not allow you to delete the object.
- NOCOPY YES Will not allow you to make a copy.
- NOMOVE YES Will not allow you to move the object to another
- folder, will create shadow on a move.
- NODRAG YES Will not allow you to drag the object.
- NOLINK YES Will not allow you to create a shadow link.
- NOSHADOW YES Will not allow you to create a shadow link.
- NORENAME YES Will not allow you to rename the object.
- NOPRINT YES Will not allow you to print it.
- NOTVISIBLE YES Will not display the object.
- -----------------------------------------------------------------------------
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ((END TEXT INFORMATION))
-
- ((BEGIN REXX CMD SAMPLES))
-
- - (FOLDER.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
- /* Mike Lamb: MIKELAMB/KGNVMC */
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
-
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a Folder and Program Objects...'
-
- Say '';Say 'Press Y to add Test Folder to Desktop...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- /* All of the routines pass parameters to a subroutine to perform the call */
- classname='WPFolder'
- title='Test Folder'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<TEST_FOLDER>'
- Call BldObj
-
- Say '';Say 'Now go and open up the folder, currently no items are there.'
- Say 'Press ENTER and we will add a few program objects...'
- key=SysGetKey()
-
- Say 'Place a program object into the folder...';Say '';
- classname='WPProgram'
- title='SYSLEVEL-FULLSCR'
- location='<TEST_FOLDER>'
- setup='OBJECTID=<TEST_SYSL>;'||,
- 'EXENAME=\OS2\SYSLEVEL.EXE;'||,
- 'PROGTYPE=FULLSCREEN;'
- Call BldObj
-
- classname='WPProgram'
- title='CHKDSK-PM'
- location='<TEST_FOLDER>'
- setup='OBJECTID=<TEST_PMCK>;'||,
- 'EXENAME=\OS2\PMCHKDSK.EXE;'||,
- 'MINIMIZED=YES;'||,
- 'PROGTYPE=PM;'
- Call BldObj
-
- classname='WPProgram'
- title='SYSLEVEL-VIO'
- location='<TEST_FOLDER>'
- setup='OBJECTID=<TEST_SYSLVIO>;'||,
- 'EXENAME=\OS2\SYSLEVEL.EXE;'||,
- 'PROGTYPE=WINDOWABLEVIO;'
- Call BldObj
-
- classname='WPProgram'
- title='MEM-Fullscreen'
- location='<TEST_FOLDER>'
- setup='OBJECTID=<TEST_MEMFUL>;'||,
- 'EXENAME=\OS2\MDOS\MEM.EXE;'||,
- 'PROGTYPE=VDM;'||,
- 'PARAMETERS=/?;'||,
- 'NOAUTOCLOSE=YES;'
- Call BldObj
-
- classname='WPProgram'
- title='MEM-WindowVDM'
- location='<TEST_FOLDER>'
- setup='OBJECTID=<TEST_MEMWIN>;'||,
- 'EXENAME=\OS2\MDOS\MEM.EXE;'||,
- 'PROGTYPE=WINDOWEDVDM;'||,
- 'PARAMETERS=/?;'||,
- 'NOAUTOCLOSE=YES;'
- Call BldObj
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
-
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
-
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
-
- Say '';
- Return
-
- - (SHADOW.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* SHADOW.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds shadows on the DeskTop and Startup Folder */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- Call SysCls
- Say '';Say 'Using REXXUTILs to Add Shadow Objects...'
-
- /* The titles and objectid's are found from the \OS2\INI.RC file */
-
- Say '';Say 'First lets place some items on the Desktop...'
- title='Enhanced Editor'; objid='<WP_EPM>' ; loc='<WP_DESKTOP>'; call AddShad
- title='OS/2 Window' ; objid='<WP_OS2WIN>'; loc='<WP_DESKTOP>'; call AddShad
- title='System Clock' ; objid='<WP_CLOCK>' ; loc='<WP_DESKTOP>'; call AddShad
-
- Say '';Say 'You can even make shadow objects of files...'
- title='CONFIG.SYS'; objid='C:\CONFIG.SYS' ; loc='<WP_DESKTOP>'; call AddShad
-
- Say '';Say 'Now lets place an item in the Startup Folder...'
- title='System Clock' ; objid='<WP_CLOCK>' ; loc='<WP_START>' ; call AddShad
-
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- AddShad:
- Say '';Say 'Press Y to add shadow object: 'title' to 'loc
- parse upper value SysGetKey('NOECHO') with key
- If key='Y' Then Do
-
- /* Build object using FAIL as duplicateflag */
- result=SysCreateObject('WPShadow', title, loc, 'SHADOWID='objid, 'F')
-
- If result=1 Then Say 'Object created'
- Else Say 'Not created, return code='result
- End
- Return
-
- - (FLDSHAD.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* FLDSHAD.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop places a program object in it then */
- /* places a shadow of the program object on the DeskTop. */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
-
- call SysCls
- Say '';Say 'Using REXXUTILs to Add Folder/Program/Shadow Objects...'
-
- Say '';Say 'Press Y to add Test Folder to Desktop...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPFolder'
- title='Test Folder'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<TEST2_FOLDER>'
- Call BldObj
-
- Say '';Say 'Press Y to place a program object into the folder...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPProgram'
- title='SYSLEVEL-VIO'
- location='<TEST2_FOLDER>'
- setup='OBJECTID=<TEST2_SYSLVIO>;'||,
- 'EXENAME=\OS2\SYSLEVEL.EXE;'||,
- 'PROGTYPE=WINDOWABLEVIO;'
- Call BldObj
-
- Say '';
- Say 'Press Y to place a shadow of the program object on the Desktop...';
- Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPShadow'
- title='SYSLEVEL-VIO'
- location='<WP_DESKTOP>'
- setup='SHADOWID=<TEST2_SYSLVIO>'
- Call BldObj
-
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
-
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
-
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
-
- Say '';
- Return
-
- - (STARTDOS.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* STARTDOS.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Starts a DOS program using specific DOS VDM settings. This is */
- /* particularly useful for LAN execution that requires NET USE commands.*/
- /* The example invokes the PKZIP.EXE program using files setting of 45 */
- /* Rick McGuire: MCGUIRE/GDLVM7 */
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- classname='WPProgram'
- title='My DOS Program'
- location='<WP_NOWHERE>' /* place in invisible folder */
- program='EXENAME=C:\PKZIP.EXE;' /* DOS program name */
- type='PROGTYPE=WINDOWEDVDM;' /* type of DOS session (windowed) */
- startup='STARTUPDIR=C:\;' /* startup directory */
- settings='SET DOS_FILES=45;' /* required DOS settings */
- open='OPEN=DEFAULT;' /* open now */
-
- call SysCreateObject classname, title, location,,
- program||type||startup||settings||open, 'REPLACE'
- Return
-
- - (BOOTDOS.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* BOOTDOS.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Starts a DOS session, booting from a specific DOS image with */
- /* specific DOS VDM settings. */
- /* Rick McGuire: MCGUIRE/GDLVM7 */
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- classname='WPProgram'
- title='Booted DR DOS'
- location='<WP_NOWHERE>' /* place in invisible folder */
- program='EXENAME=*;' /* DOS program name (use shell) */
- type='PROGTYPE=WINDOWEDVDM;' /* type of DOS session (windowed) */
- image='C:\DRDOS.VM;' /* DOS image file */
- /* required DOS settings */
- settings='SET DOS_BACKGROUND_EXECUTION=ON;'
- open='OPEN=DEFAULT;' /* open now */
-
- call SysCreateObject classname, title, location,,
- program||type||image||settings||open, 'REPLACE'
- Return
-
- - (REBUILD.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* REBUILD.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Can be used to rebuild objects created during the installation of */
- /* your OS/2 system. The \OS2\INSTALL\INI.RC file contains information */
- /* that can be used by the SysCreateObject function. */
- /* The INI.RC file is used by MAKEINI.EXE to create your OS2.INI file */
- /* Syntax: Enter "REBUILD ?" for complete syntax */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- '@ECHO OFF'
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- Arg parms
- cmdparms=parms /* Save command line parms for later processing */
-
- /* Until REXXUTIL offers a function call to retrieve the OS2 boot drive */
- /* we assume the environment variable COMSPEC has location of boot drive. */
- BtDrv=filespec('drive',value('COMSPEC',,'OS2ENVIRONMENT'))
-
- parse upper var cmdparms type '(' inifile .
- /* If user does not enter location of *.RC file then try to find it */
- If inifile='' Then inifile=BtDrv||'\OS2\INI.RC'
- rcx=stream(inifile,'C','Q EXISTS')
- If rcx='' Then Do
- Say '';Say '';Say inifile 'not found'
- Return
- End
- type=left(type,1)
- If verify(type,'FPOA') Then Signal Helper
-
- /* Initialize tables and table counters */
- iniftab.=''; iniptab.='' iniotab.=''; /*Folders, Programs, Others */
- iniflns=0; iniplns=0; iniolns=0;
- initab.=''; inilns=0;
- Call stream inifile,'C','CLOSE'
- Do while lines(inifile)>0 /* Read RC file into tables */
- lne=linein(inifile)
- parse var lne '"PM_InstallObject"' lne
- If lne\='' Then Do
- parse var lne '"'rest1'" 'lne
- parse var lne '"'setup'"'
- parse var rest1 title';'object';'location
- If object='WPFolder' Then Do
- iniflns=iniflns+1
- iniftab.1.iniflns=object; iniftab.2.iniflns=title;
- iniftab.3.iniflns=location; iniftab.4.iniflns=setup;
- End
- Else If object='WPProgram' Then Do
- iniplns=iniplns+1
- iniptab.1.iniplns=object; iniptab.2.iniplns=title;
- iniptab.3.iniplns=location; iniptab.4.iniplns=setup;
- End
- Else Do
- iniolns=iniolns+1
- iniotab.1.iniolns=object; iniotab.2.iniolns=title;
- iniotab.3.iniolns=location; iniotab.4.iniolns=setup;
- End
- End
- End
- Call stream inifile,'C','CLOSE'
-
- /* Calculation for screen loop */
- parse value SysTextScreenSize() with row col
- scrsz=row-12
-
- If type='F' | type='A' Then Do; /* Folder routine */
- objt='Folder'; inilns=iniflns;
- Do i=1 to inilns; Do j=1 to 4;
- initab.j.i=iniftab.j.i
- End; End;
- Call DispSel
- End;
- If type='P' | type='A' Then Do; /* Program routine */
- objt='Program'; inilns=iniplns;
- Do i=1 to inilns; Do j=1 to 4;
- initab.j.i=iniptab.j.i
- End; End;
- Call DispSel
- End;
- If type='O' | type='A' Then Do; /* Other routine */
- objt='Other'; inilns=iniolns;
- Do i=1 to inilns; Do j=1 to 4;
- initab.j.i=iniotab.j.i
- End; End;
- Call DispSel
- End;
- Return; /* When get here done with processing */
-
- /* Routine to display objects and allow selection */
- DispSel:
- key=''
- Do while key\='Q'
- Call SysCls; Say '';Say objt' objects found in: 'inifile;Say '';
- Do i=1 to inilns
- If trunc(i/scrsz)==i/scrsz Then Call Promptx 1
- If key='Q' Then leave
- n=right(' '||i,3)||') '||left(initab.2.i||copies(' ',30),30)
- n=n||left(initab.3.i||copies(' ',20),20)
- Say n
- End
- If key\='Q' Then Call Promptx 0
- End
- Return
-
- /* Screen loop routine also calls object build routine */
- Promptx: Arg scr
- Say '';Say 'To attempt to rebuild an object enter the number of the object'
- If scr=0 Then Say 'or enter Q to quit...'
- Else Say 'or press enter to show next screen... Or enter Q to Quit...'
- pull key .
- If (key>=1) & (key <=inilns) then,
- rcx=BldIt(initab.1.key,initab.2.key,initab.3.key,initab.4.key)
- If scr=1 Then Do;
- Call SysCls;Say '';Say objt' objects found in: 'inifile;Say '';
- End;
- Return
-
- /* Routine to build object */
- BldIt: Parse Arg object,title,location,setup
- If object='WPFolder' Then Do
- call SysCls
- Say '';Say '';
- Say 'WARNING: Any attempt to rebuild a folder object will first'
- Say ' delete each and every object in that folder!!!!'
- Say ''
- Say 'If you really do want to rebuild: 'title
- Say 'Press Y, any other key will not rebuild.'
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Return ''
- End
- Say 'SysCreateObject('object', 'title', 'location', 'setup', R)'
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(object, title, location, setup, 'R')
- If result=1 Then Say '... Object created!'
- Else Say '... Not created! Return code='result
- Say '';Say 'Press ENTER to continue...'
- Pull ans
- Return result
-
- /* Syntax help */
- Helper:
- call SysCls
- Say '';Say ''; Say 'REBUILD:'
- Say 'Routine to rebuild system installed objects listed in *.RC files.'
- Say 'Can be used as an alternative to using the MAKEINI command.'
- Say 'Your INI.RC file is used by MAKEINI.EXE during installation to'
- Say 'create your OS2.INI file.'
- Say '';
- Say 'Any attempt to rebuild an object first deletes any object that'
- Say 'is using that same <objectid>. This can be useful if you want to'
- Say 'restore an object back to its original installed state. This can'
- Say 'also be bad since if you rebuild a folder it first deletes all'
- Say 'objects in it since that is its initial install state.'
- Say ''; Say 'Syntax:';Say '';
- Say 'REBUILD object [(filespec]'
- Say '';Say 'Valid objects A(ll), F(olders), P(rograms), O(ther)'
- Say 'Can also can use (filespec for name of *.RC file, default is \OS2\INI.RC'
- Exit
-
- - (LPTADD.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* LPTADD.CMD: Sample code using REXXUTIL's SysIni function. */
- /* Routine will expand the number of LPT ports the WorkPlace Shell */
- /* recognizes from LPT1-3 to LPT1-9. Also a routine to add LPT3-9 to */
- /* the WIN-OS2 WIN.INI file. */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- '@ECHO OFF'
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call for setting a single key value is listed next. */
- /* result = SysIni([inifile], app, key, val) */
-
- call SysCls; Say '';
- Say 'Using REXXUTILs SysIni call to add LPT4-9 to the WorkPlace Shell'
- Say '';Say 'Press Y to add/initialize LPT4-9 ports...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key='Y' Then Do
- Say 'LPT Ports: setting up for LPT4-9 ports...'
- Do n=4 to 9
- Say ' Setting up PM_LPT'n'...'
- rx=SysIni('SYSTEM', 'PM_SPOOLER_PORT', 'LPT'n, ';'||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- rx=SysIni('SYSTEM', 'PM_LPT'n, 'DESCRIPTION', 'LPT'||n||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- rx=SysIni('SYSTEM', 'PM_LPT'n, 'INITIALIZATION', ';'||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- rx=SysIni('SYSTEM', 'PM_LPT'n, 'PORTDRIVER', 'PARALLEL;'||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- rx=SysIni('SYSTEM', 'PM_LPT'n, 'TERMINATION', ';'||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- rx=SysIni('SYSTEM', 'PM_LPT'n, 'TIMEOUT', '45;'||'00'x)
- If rx\='' Then Say 'LPT'n' Bad result='result
- End
- Say 'LPT4-9 added... Press any key to continue...'
- SysGetKey('NOECHO')
- End
-
- call SysCls; Say '';
- Say 'Can now attempt to add LPT3-9 to your WIN-OS2 WIN.INI file.'
- Say '';Say 'Press Y to attempt to add LPT3-9 ports to WIN-OS2...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key='Y' Then Do
- /* Change \OS2\MDOS\WINOS2\WIN.INI to add more ports LPT3-LPT9 */
- win.='';winnew.='';
- /* Until REXXUTIL offers a function call to retrieve the OS2 boot drive */
- /* we assume the enviroment variable COMSPEC has location of boot drive. */
- BtDrv=filespec('drive',value('COMSPEC',,'OS2ENVIRONMENT'))
- fn=BtDrv'\OS2\MDOS\WINOS2\WIN.INI';
- fnx=stream(fn,'C','QUERY EXISTS')
- fn=fnx;
- If fn\='' Then Do /* If file exists then process adding extra ports */
- Call stream fn,'C','CLOSE'
- Do i=1 to 10000 while LINES(fn)>0
- parse value linein(fn) with win.i
- End
- Call stream fn,'C','CLOSE'
- i=i-1; k=0;
- Do j=1 to i /* Look for FILE:= then if line before = LPT2.OS2= add 3-9 */
- If win.j='FILE:=' Then Do
- m=j-1; winchg=no;
- If win.m='LPT2.OS2=' Then Do
- Say 'LPT Ports: setting up for Windows LPT3-9 ports...'
- winchg=yes;
- Do n=3 to 9
- Say ' Setting up: LPT'n'.OS2='
- k=k+1; winnew.k='LPT'n'.OS2='
- End;
- End;
- End;
- k=k+1;
- winnew.k=win.j;
- End;
- If winchg=yes Then Do;
- parse var fnx fnx'.' .
- ifn=fnx||'.???';
- ifn=SysTempFileName(ifn)
- '@COPY' fn ifn '1>NUL 2>NUL' /* Copy original to backup name */
- Say 'Copy of' fn 'saved as' ifn
- Say 'Writing' fn 'with added lines.'
- call lineout fn,,1 /* Start writing at first character */
- Do i=1 to k /* write file back out */
- call lineout fn,winnew.i
- End
- Call stream fn,'C','CLOSE'
- End;
- Else Say 'Lines not added, either already done or not what we expect.'
- End;
- Else Say 'Could not locate' fn 'program ending...'
- End;
- Say 'LPTADD ending...'
- Exit
-
- - (OBJECTID.CMD) - - -- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* OBJECTID.CMD: Sample code using REXXUTIL's SysIni function. */
- /* Routine will display the OBJECTIDs known to the WorkPlace Shell */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- '@ECHO OFF'
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* List ObjectIds */
- App='PM_Workplace:Location'
- call SysIni 'USER', App, 'All:', 'Keys'
- if Result \= 'ERROR:' then do
- Call SysCls
- Say '';Say '';Say 'Listing ObjectId information';Say '';
- parse value SysTextScreenSize() with row col
- j=row-10
- Do i=1 to Keys.0
- If trunc(i/j)==i/j Then Do
- Say '';Say 'Press any key to show next screen...'
- key=SysGetKey()
- Call SysCls
- Say '';Say '';Say 'Listing ObjectId information';Say '';
- End
- Say Keys.i
- End
- End
- Else Say 'Error querying for' App
- Return
-
- - (FONTS.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* FONTS.CMD: Sample code using REXXUTIL's SysIni function. */
- /* Routine will display the FONTS known to the WorkPlace Shell */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- '@ECHO OFF'
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* List installed Fonts */
- App='PM_Fonts'
- call SysIni 'USER', App, 'All:', 'Keys'
- If Result \= 'ERROR:' then do
- Do j=1 to Keys.0
- Keys.j=Keys.j 'Installed as:' SysIni('USER', App, Keys.j)
- End
- Call SysCls
- Say '';Say '';Say 'Listing Installed Fonts';Say '';
- parse value SysTextScreenSize() with row col
- j=row-10
- Do i=1 to Keys.0
- If trunc(i/j)==i/j Then Do
- Say '';Say 'Press any key to show next screen...'
- key=SysGetKey()
- Call SysCls
- Say '';Say '';Say 'Listing Installed Fonts';Say '';
- End
- Say Keys.i
- End
- End
- Else Say 'Error querying for' App
- Return
-
- - (ICONRES.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* ICONRES.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Routine will create a folder containing many icons available in */
- /* installed DLLs on an OS/2 V2 system. Shows how to use the setup */
- /* string parm: ICONRESOURCE */
- /* Mike Lamb: MIKELAMB/KGNVMC */
- '@ECHO OFF'
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- call SysCls
- Say '';
- Say 'Using REXXUTILs to demonstrate use of the ICONRESOURCE parameter.'
- Say 'A folder will be created and populated with various icons found'
- Say 'in some installed DLL files.'
- Say '';
- Say 'ICONRESOURCE is a SysCreateObject setup string parameter, has syntax:'
- Say '';
- Say ' ICONRESOURCE=id module Ex: ICONRESOURCE=3 PMWP;'
- Say ' id=number of the icon resource, module=filename of the DLL'
- Say ''; Say 'NOTE: Over 70 icons, program will run for a minute or two.'
- Say ' After program ends the WPS will continue to resolve objects, also'
- Say ' the building of the objects adds approx 100K to your OS2.INI.'
- Say '';Say 'Press Y to add the folder to Desktop and populate...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- /* Build folder for icons */
- call charout ,'Building: ICONRESOURCE Icon Folder'
- result = SysCreateObject('WPFolder', 'ICONRESOURCE^Icon Folder',,
- '<WP_DESKTOP>', 'OBJECTID=<ICN_FOLDER>;', 'R')
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- Say '';
- classname='WPAbstract'
- location='<ICN_FOLDER>'
- /* WPCONFIG 1-13 WPPRTMRI 3-16 19-23 */
- fn='PMWP'
- Do i=1 to 75
- If i<5 | i=13 | (i>15 & i<21) | i=22 | (i>23 & i<30) | i=32 | i=33,
- | i=44 | i=46 | i=48 | i=52 | i=53 | (i>55 & i<73) Then Call BldObj
- End
- fn='WPCONFIG'
- Do i=1 to 13
- Call BldObj
- End
- fn='WPPRTMRI'
- Do i=3 to 23
- If (i<17 | i>18) Then Call BldObj
- End
- Say '';Say 'All done, to remove drag folder to shredder...'
- Exit
-
- /* Build Object */
- BldObj:
- if i<10 then j='0'||i
- else j=i
- title=fn'-'||j
- setup='ICONRESOURCE='||j||' 'fn';OBJECTID=<ICN-'fn'-'||j||'>'
- call charout ,'Building: 'title
- result = SysCreateObject(classname, title, location, setup, 'R')
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- Say '';
- Return
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ((END REXX CMD SAMPLES))
-
- ((BEGIN CODE FRAGMENTS))
- - (SYSSET) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- System Settings
- ===============
- During our attempts at customizing the shell using REXXUTILs for newly created
- workstations we discovered many items can be controlled. Our first attempt was
- to turn off the default setting for Workplace Shell Print Screen. We wanted it
- disabled instead of enabled (saves our customers from accidentally printing
- the workplace shell screen contents :-)
- From there we learned other items could be changed:
-
- Remember the basic SysIni call is:
- result = SysIni([inifile], app, key, val)
-
- Note: Some items if changed did not seem to take effect until the next reboot.
-
- To see the menu items that can be changed go to:
- OS/2 System / System Setup / System, Window tab
-
- Button appearance for windows
- -----------------------------
- /* Hide button = 1 plus hex 0 */
- result = SysIni('USER', 'PM_ControlPanel', 'MinButtonType', '1'||'00'x)
- /* Minimize button = 2 plus hex 0 */
- result = SysIni('USER', 'PM_ControlPanel', 'MinButtonType', '2'||'00'x)
-
- Animation
- ---------
- /* Enabled = hex 01 00 00 00 */
- result = SysIni('USER', 'PM_ControlPanel', 'Animation', '01000000'x)
- /* Disabled = hex 00 00 00 00 */
- result = SysIni('USER', 'PM_ControlPanel', 'Animation', '00000000'x)
-
- Minimize button behavior
- ------------------------
- /* Hide Window = 1 plus hex 0 */
- result = SysIni('USER', 'PM_ControlPanel', 'HiddenMinWindows', '1'||'00'x)
- /* Minimize window to viewer = 2 plus hex 0 */
- result = SysIni('USER', 'PM_ControlPanel', 'HiddenMinWindows', '2'||'00'x)
- /* Minimize window to desktop = 3 plus hex 0 */
- result = SysIni('USER', 'PM_ControlPanel', 'HiddenMinWindows', '3'||'00'x)
-
- Object Open Behavior
- --------------------
- /* Display existing window; delete CCVIEW key */
- result = SysIni('USER', 'PM_Workplace', 'CCVIEW', 'DELETE:')
- /* Create new window; CCVIEW key set to 'ON' */
- result = SysIni('USER', 'PM_Workplace', 'CCVIEW', 'ON'||'00'x)
-
- To see the menu items that can be changed go to:
- OS/2 System / System Setup / System, Print Screen tab
-
- Print Screen
- ------------
- /* Disable print screen */
- result = SysIni('USER', 'PM_ControlPanel', 'PrintScreen', '0'||'00'x)
- /* Enable print screen */
- result = SysIni('USER', 'PM_ControlPanel', 'PrintScreen', '1'||'00'x)
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ((END CODE FRAGMENTS))
-
- END: REXXUTIL Information and Samples
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/29 10:05 EDT
-
- ----- OS2REXX CFORUM appended at 13:07:18 on 92/06/19 GMT (by CONT00 at LEXVMK)
- Subject: Rexx not freeing DLL for external function
- Ref: Append at 02:37:28 on 92/06/19 GMT (by SDETWEIL at DETVMIC4)
-
- Oh... I see, thanks !
-
- Gregory Czaja, Lexington 8-545-3311 1992/06/19 09:06
-
- ----- OS2REXX CFORUM appended at 22:13:35 on 92/06/19 GMT (by MAGUIRET at RHQVM21)
- Subject: SHVBLOCK Question
- Ref: none
-
- What value do I use to signify the end of chain for shvnext?
- NULL?
-
- Tom Maguire
-
- ----- OS2REXX CFORUM appended at 15:24:53 on 92/06/22 GMT (by MAGUIRET at RHQVM21)
- Subject: External Function Debugging Tips?
- Ref: none
-
- Anybody have any tips on how to debug an external function in a DLL?
-
- Tom Maguire
-
- ----- OS2REXX CFORUM appended at 19:52:42 on 92/06/22 GMT (by PMUELLR at CARVM3)
- Subject: External Function Debugging Tips?
- Ref: Append at 15:24:53 on 92/06/22 GMT (by MAGUIRET at RHQVM21)
-
- The trick is to run an .exe which ends up running a .cmd file that
- uses the function. I've never tried this, but you may be able to
- get it to work with PMREXX. Start PMREXX under IPMD, set the
- load dll breakpoint, and you might be able to get into your DLL this
- way. You will probably need to 'unload' the DLL before you do this
- (each time! before you do this).
-
- Another way is to write a C program that does a RexxStart on a given
- .cmd file, but also does a DosLoadModule() on the DLL you want to
- debug.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 13:57:49 on 92/06/23 GMT (by MAAV7IB at OS2CUST)
- Subject: Querying Extended Attributes
-
- Is there a REXX Utility Function which will return the names of the extended
- attributes that a file has? I would like to retrieve the extended attribute
- values with SysGetEA, but I need to get the names of these values first.
-
- Also, is there a REXX function to delete an extended attribute? Or can
- SysPutEA do it (with a null value)?
-
- Kevin Miller
-
- ----- OS2REXX CFORUM appended at 13:24:22 on 92/06/24 GMT (by PASPUNG at CARVM3)
- Subject: External Function Debugging Tips?
- Ref: Append at 15:24:53 on 92/06/22 GMT (by MAGUIRET at RHQVM21)
-
- Another way is to write some stub code that simulates a call to your function.
- Then link the function in with the stub code, instead of using a DLL.
- This way you can use your normal debugging tools (eg, CodeView) to get
- the function 99% there. Then re-link the function as a DLL, and call it
- using some Rexx test programs to get the remaining 1% tested/completed.
-
- Peter A. Spung, IBM Application Platform Products MDQ Chair, Cary, NC (TEAMOS2)
-
- ----- OS2REXX CFORUM appended at 14:42:56 on 92/06/24 GMT (by SAMI3QU at OS2CUST)
- Subject: SHVBLOCK Question
- Ref: Append at 22:13:35 on 92/06/19 GMT (by MAGUIRET at RHQVM21)
-
- The SHVBLOCK chain is terminated with low values in SHVNEXT.
-
- Mark Thompson - Coal Services Corp., St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 01:25:08 on 92/06/25 GMT (by SDETWEIL at DETVMIC4)
- Subject: External Function Debugging Tips?
- Ref: Append at 15:24:53 on 92/06/22 GMT (by MAGUIRET at RHQVM21)
-
- Using Codeview or IPMD
-
- Codeview CMD.EXE /C somerexx.cmd /L dllname
-
- Sam
-
- ----- OS2REXX CFORUM appended at 21:44:02 on 92/06/26 GMT (by MCCS001 at OS2CUST)
- Subject: REXX documentation
- Ref: Append at 17:48:17 on 92/06/25 GMT (by MCCS001 at OS2CUST)
-
- OS/2 Procedures Language 2/REXX Reference is S10G-6268; User's Guide is
- S10G-6269.
-
- Campbell Nelson (UCLA Med Cntr Comp Svcs)
-
- ----- OS2REXX CFORUM appended at 16:26:37 on 92/06/30 GMT (by 64932769 at TOROHON1)
- Subject: Executing a C program from a DEATCHED REXX Program
- Ref: Append at 01:25:08 on 92/06/25 GMT (by SDETWEIL at DETVMIC4)
-
- I have a REXX question and I hope someone can help me answer it or m
- provide me with a name to contact.
-
- The problem/question is this:
-
- I have an EZVU panel which DETACHES a REXX program. This REXX program
- in turn, executes a C program called NOTIFY. The NOTIFY program then
- pops up a message to the user using VIOPOPUP. This scenario works
- fine in OS/2 1.3.
-
- However, in OS/2 2.0, the NOTIFY.EXE program cannot be started.
- If I "DETACH" the NOTIFY program it works. It seems the REXX
- environment is preventing another program from starting up unless it
- is detached. I am trying to understand if this is the reason.
- In picture format:
-
- EZVU Panel ----------> REXX.CMD ----------> NOTIFY.EXE
- DETACHES executes
-
- - This works under OS/2 1.3
- - Under OS/2 2.0, The NOTIFY program is not startable.
- However, if I "DETACH" NOTIFY.EXE, it works.
-
- I know it is not the EZVU panel because I can simulate the above problem
- from an OS/2 commadn line.
-
- Any GURUs with an answer or explaination.......
- Stanton (SAUYONG at TOROVM1)
-
- ----- OS2REXX CFORUM appended at 18:16:38 on 92/06/30 GMT (by SDETWEIL at DETVMIC4)
- Subject: Executing a C program from a DEATCHED REXX Program
- Ref: Append at 16:26:37 on 92/06/30 GMT (by 64932769 at TOROHON1)
-
- I have a coupleof execs like this too without problem under 2.0
-
- First test I would add TRACE i to the Rexx exec
-
- then DETACH rexx.CMD >somefile 2>&1
-
- When the exec ends look at the trace to see what may have caused
- the problem.
-
- Sam
-
- ----- OS2REXX CFORUM appended at 14:34:22 on 92/07/01 GMT (by SAMI3QU at OS2CUST)
- Subject: Modifying/opening objects with SysCreateObject
-
- I have read in various appends that SysCreateObject can be used to modify
- and open existing WPS objects. I have not been able to do this (the function
- simply returns 0). Would someone please post an example? Thanks.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 15:29:31 on 92/07/01 GMT (by SAMI3QU at OS2CUST)
- Subject: ABORTRETRYCANCEL button-type in RxMessageBox
-
- If I call RxMessageBox and specify a button-type of ABORTRETRYCANCEL, I get
- a "incorrect call to routine" error. If I change to a RETRYCANCEL button, it
- works fine. Has anyone else had this problem?
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 13:27:36 on 92/07/02 GMT (by SHABBY at RCHVMP)
- Subject: ABORTRETRYCANCEL button-type in RxMessageBox
- Ref: Append at 15:29:31 on 92/07/01 GMT (by SAMI3QU at OS2CUST)
-
- Isn't that supposed to be ABORTRETRYIGNORE ? I'm not sure, but that's
- what is in WinMessageBox...
-
- -Chris
-
- ----- OS2REXX CFORUM appended at 16:22:49 on 92/07/02 GMT (by CONT00 at LEXVMK)
- ..... OS2REXX CFORUM modified at 15:45:37 on 92/08/24 GMT (by CONT00 at LEXVMK)
- Subject: Modifying/opening objects with SysCreateObject
- Ref: Append at 14:34:22 on 92/07/01 GMT (by SAMI3QU at OS2CUST)
-
- not documented, not supported, not allowed...
-
- Gregory Czaja, Lexington 8-545-3311 1992/07/02 12:20
-
- ----- OS2REXX CFORUM appended at 17:16:48 on 92/07/02 GMT (by 64932769 at TOROHON1)
- Subject: Executing a C program from a DEATCHED REXX Program
- Ref: Append at 18:16:38 on 92/06/30 GMT (by SDETWEIL at DETVMIC4)
-
- Sam,
- thanks for your suggestion. I did try putting a 'trace' and all I got
- was a SYS1059. The explaination was not very helpfull. The fact that
- the REXX program and "c" program works under OS/2 1.3 but now fails
- under OS/2 2.0 implies something has changed but where....
- I am still open for suggestions....
-
- Stanton (SAUYONG at TOROVM1)
-
- ----- OS2REXX CFORUM appended at 19:08:51 on 92/07/03 GMT (by NBLKCY0 at OS2CUST)
- Subject: ADDRESS CPIC - Samples?
-
- I understand that REXX can support LU6.2 communications through the
- ADDRESS CPIC command. Can anyone provide a sample of this code?
-
- Where can I find documentation on the CPIC implementation in REXX?
-
- John Wilson - Citizens Fidelity Bank
-
- ----- OS2REXX CFORUM appended at 14:55:04 on 92/07/06 GMT (by GARRISON at AUSVM1)
- Subject: ADDRESS CPIC - Samples?
- Ref: Append at 19:08:51 on 92/07/03 GMT (by NBLKCY0 at OS2CUST)
-
- John,
- I'm aware of a couple of sources of info that might be useful to you:
-
- APPC & CPI-C Brief (GG24-3520)
- Extended Services CM Sample Program Diskette (S04G-1031)
-
- The CM Sample Program Diskette contains a pair of REXX CPI-C programs,
- plus a lot more (APPC, System Management, EHLLAPI, ACDI, LUA, SRPI,
- Netbios, 802.2, CMStop, etc.).
-
- There is a CPI-C manual that provides information for the various
- supported languages (C, COBOL, FORTRAN, REXX, etc.), but I haven't been
- able to run down the order number. Perhaps someone else can help?
-
- Mike Garrison
-
- ----- OS2REXX CFORUM appended at 20:32:50 on 92/07/06 GMT (by SAMI3QU at OS2CUST)
- Subject: ABORTRETRYCANCEL button-type in RxMessageBox
- Ref: Append at 13:27:36 on 92/07/02 GMT (by SHABBY at RCHVMP)
-
- You're absolutely right, Chris! The online REXX documentation is incorrect.
- I changed my exec to ABORTRETRYIGNORE and it works great! Thanks.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 20:36:25 on 92/07/06 GMT (by SAMI3QU at OS2CUST)
- Subject: Modifying/opening objects with SysCreateObject
- Ref: Append at 16:22:49 on 92/07/02 GMT (by CONT00 at LEXVMK)
-
- Thanks for the example, Gregory. I had somehow convinced myself that the
- original object could be opened directly, thus my lack of success. Creating
- a Shadow works like charm.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 13:00:45 on 92/07/07 GMT (by CONT00 at LEXVMK)
- ..... OS2REXX CFORUM modified at 15:46:04 on 92/08/24 GMT (by CONT00 at LEXVMK)
- Subject: Modifying/opening objects with SysCreateObject
- Ref: Append at 20:36:25 on 92/07/06 GMT (by SAMI3QU at OS2CUST)
-
- not documented, not supported, not allowed...
-
- Gregory Czaja, Lexington 8-545-3311 1992/07/07 08:39
-
- ----- OS2REXX CFORUM appended at 17:32:55 on 92/07/07 GMT (by NAAC2VK at OS2CUST)
- Subject: Querying Objects
-
- In OS/2 1.3 we created a couple of programs which use
- PrfQueryTitles & PrfQueryDefinition to unload the various Group
- menus a user has created and PrfCreateGroup & PrfAddProgram to
- recreate them over the install of new level of Operating System. I can see
- in the example (FOLDER.CMD) how I can use the SysCreateObject to create
- similiar information in folders. My question - is there a query function
- like WinCreateObject which can be used to query class information (e.g.,
- <WPProgram>.
-
- Joe Jankowski
-
- ----- OS2REXX CFORUM appended at 20:25:31 on 92/07/07 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating Filaname and Ext.
- How can I separate the filaname from the extention in REXX?
- The following doesn't work:
- /* Rexx */
- parse arg filename '.' extention
- say filename
- say ''
- say extention
- exit
-
- When I drop a file from one of my folder, the output is:
- "C:\OS!2 2
-
- 0 Desktop\My Test Folder\Test1.C"
-
- It is split at the first '.' . How can I split it at the extention?
-
- For the same reason the SOM compilers are not supporting the drag-drop.
- HPFS Names.
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 20:54:54 on 92/07/07 GMT (by 64985842 at TOROHON1)
- Subject: Separating Filaname and Ext.
- Ref: Append at 20:25:31 on 92/07/07 GMT (by XXNOVA24 at TORVMCOP)
-
- How about something like this:
-
- pfn = Lastpos('.',filename)
- If pfn > 0
- Then extension = Substr(filename,pfn+1)
- Else extension = ''
-
- Blair Thompson BLAIR at CANVM2 IBM Canada Ltd.
-
- ----- OS2REXX CFORUM appended at 21:29:57 on 92/07/07 GMT (by 86696089 at WARVM2)
- Subject: Separating filename and extension
- Ref: Append at 20:25:31 on 92/07/07 GMT (by XXNOVA24 at TORVMCOP)
-
- There is a better, but I can't quite remember it myself
-
- OS/2 provides variables which hold the full filename, the drive,
- the path, the extension, etc.
-
- I know that the full filename is in the variable called %*,
- but can anyone tell me what the other variables are?
-
- (Something like %*P. for path, %*D, ...)
-
- Andrew Wainwright
- ...
-
- ----- OS2REXX CFORUM appended at 21:58:04 on 92/07/07 GMT (by XXMINC08 at TORVMCOP)
- Subject: Separating filename and extension
- Ref: Append at 21:29:57 on 92/07/07 GMT (by 86696089 at WARVM2)
-
- Geza,
- There is a REXX built-in function which may help you. It is called
- FILESPEC and is used to separate a string into drive, path, and name
- components. Try the following
-
- filename = FILESPEC('name',ARG(1))
- This should give you your 'test.c' in the filename variable, and then
- you can use parse to strip off the extension. Good luck.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 22:07:45 on 92/07/07 GMT (by XXMINC08 at TORVMCOP)
- Subject: SysIni Eats Memory???
- Ref: Append at 21:58:04 on 92/07/07 GMT (by XXMINC08 at TORVMCOP)
- I wrote a little command file to dump the contents of OS2.INI to
- my printer. It is quite simple and uses the SysIni utility function
- to get access to the ini file. It seems to work fine, however every
- time I run it my swapper.dat increases by about 3MB. I boot up my
- machine, open an OS/2 window, run the .cmd file, check the size of
- swapper.dat, run the .cmd file, re-check the size of swapper.dat and
- it has increased by 3MB. If I repeat the last two steps it increases
- by another 3MB, and I can repeat this any number of times I want until
- my partition is all used up. Has anyone else noticed the SysIni function
- or any other rexx procedures using up memory like this??
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 22:14:11 on 92/07/07 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating Filaname and Ext.
- Ref: Append at 20:54:54 on 92/07/07 GMT (by 64985842 at TOROHON1)
-
- Thanks Blair, It works.
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 00:40:52 on 92/07/08 GMT (by XXHAYM01 at TORVMCOP)
- Subject: SysIni Eats Memory???
- Ref: Append at 22:07:45 on 92/07/07 GMT (by XXMINC08 at TORVMCOP)
-
- There have been a couple of fixes released that cause this problem.
- There is a new kernel file that takes care of swapper.dat not reducing
- in size, and some new REXX DLL's that take care of the fact that REXX
- is eating memory and not releasing it. Check on Compu$erve, or better
- OS/2-oriented BBS's.
-
- Tom Koschate
- Hay Management Consultants
- (416) 868-1371
-
- ----- OS2REXX CFORUM appended at 12:16:22 on 92/07/08 GMT (by XXCDSX26 at TORVMCOP)
- Subject: SysIni Eats Memory???
- Ref: Append at 22:07:45 on 92/07/07 GMT (by XXMINC08 at TORVMCOP)
-
- Bill:
-
- This is a known problem and there is an APAR for it (I reported it
- a while back). Unfortunately, the Support Centre has not gotten
- back to me regarding a fix.
-
- However, over on CompuServe (and other fine OS2 BBSs) there is a
- file, REXX20.ZIP in Lib 17, that updates all the REXX DDLs. This
- will fix the problem. Interestingly, an OS/2 user told me about
- the fix while IBM has been quiet.
-
- Michael Harper - Cdn Depository for Securities, Ltd
-
- ----- OS2REXX CFORUM appended at 13:51:22 on 92/07/08 GMT (by SAMI3QU at OS2CUST)
- Subject: SysIni Eats Memory???
- Ref: Append at 12:16:22 on 92/07/08 GMT (by XXCDSX26 at TORVMCOP)
-
- REXX20.ZIP is also available on this BBS in the OS/2 Software Library.
- diskettes, and using XCOPY C:\*.* /S /E.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 14:39:46 on 92/07/08 GMT (by BRYAN at BCRVMPC1)
- Subject: Separating filename and extension
- Ref: Append at 21:29:57 on 92/07/07 GMT (by 86696089 at WARVM2)
-
- %**P = Insert Drive and Path information without last backslash.
- %**D = Insert Drive with ':' or UNC name
- %**N = Insert file name without extension
- %**F = Insert file name with extention
- %**E = Insert extention without leading dot. On HPFS, the
- extention is always what comes after the last dot.
-
- Barry Bryan
-
- ----- OS2REXX CFORUM appended at 14:50:57 on 92/07/08 GMT (by VERSTEEG at UITVM1)
- Subject: Separating filename and extension
- Ref: Append at 21:29:57 on 92/07/07 GMT (by 86696089 at WARVM2)
-
- I think you are referring to %**N (filename) and %**E (extension)
- that can be specified in the parameter field of the program object.
- This can be an alternative for the FILESPEC method mentioned earlier.
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** GO OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 15:25:55 on 92/07/08 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating filename and extension
- Ref: Append at 14:50:57 on 92/07/08 GMT (by VERSTEEG at UITVM1)
-
- It still doesn't work.
-
- /* Rexx */
- parse arg filename
- say filename
- say %**N(filename)
- exit
-
- generates just an error message:
- "C:\OS!2 2.0 Desktop\My Test Folder\Test1.C"
- 4 +++ Say % ** N(filename);
- REX0035: Error 35 running C:\RunHH.Cmd, line 4: Invalid expression
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 16:04:06 on 92/07/08 GMT (by VERSTEEG at UITVM1)
- Subject: Separating filename and extension
- Ref: Append at 15:25:55 on 92/07/08 GMT (by XXNOVA24 at TORVMCOP)
-
- The %**N and %**E go in the parameter field of the program object.
- (create a program object from the program template, it's on the first
- page of the notebook you see when you select open-->settings)
- In the REXX program you can then do a Parse Arg name extension,
- if you passed %**N and %**E as parameters.
-
- Note that %**N and %**E, etc. get set when you drag/drop a file over
- the program icon in question.
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** GO OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 19:12:21 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
- Subject: SysIni Eats Memory???
- Ref: Append at 00:40:52 on 92/07/08 GMT (by XXHAYM01 at TORVMCOP)
-
- Thanks Tom. I did see some fixes for REXX on the OS/2 BBS here in
- Toronto, but I haven't tried them yet. I did try the new kernel fix
- and it didn't make any difference. Guess I'll give the REXX fixes
- a try.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 19:18:31 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
- Subject: SysIni Eats Memory???
- Ref: Append at 12:16:22 on 92/07/08 GMT (by XXCDSX26 at TORVMCOP)
-
- Thanks Michael. I have seen the fixes for REXX around, but have not
- given them a try yet. Guess I'll do that.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 19:19:41 on 92/07/08 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating filename and extension
- Ref: Append at 16:04:06 on 92/07/08 GMT (by VERSTEEG at UITVM1)
-
- Thanks everyone.
- Getting closer what I want. If I use "%**E" "%**N" "%**P"
- I get the Extention+ Name OK, BUT when I have spaces and dots in
- the filename and in the path the parse splits them at the spaces
- and not at " ".
-
- Actually, where did you guys get this %** business? Is it documented?
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 22:05:09 on 92/07/08 GMT (by IL22993 at OS2CUST)
- Subject: How to delete entries from OS2SYS.INI
-
- Does anyone have any suggestions for deleting some keys from the OS2SYS.INI?
-
- I dragged a printer from my Novell server onto the desktop. (Deleted and
- retired total of 3 times). The printers are all deleted however
- PM_SPOOLER_QUEUE_DES ...QUEUE_DD ...QUEUE.DDD and ...PRINTER_D are
- all out there duplicated 3 times, set to LANSPOOL, LANSPOO1, LANSPOO2.
-
- Unfortunatly PM Print Screen chooses one of them to print to.
-
- Is there any way to delete them? the sys ini function in REXX seems to
- not want to update the system ini files.
-
- I really don't want to re-create my system only to delete some remanants
- of some printers.
-
- Thanks....
-
- George Clark, Norton Company
-
- ----- OS2REXX CFORUM appended at 22:29:12 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
- Subject: How to delete entries from OS2SYS.INI
- Ref: Append at 22:05:09 on 92/07/08 GMT (by IL22993 at OS2CUST)
-
- George,
- I haven't tried this, but according to the documentation, the
- following should do the trick.
-
- call SysIni 'SYSTEM', 'APP_NAME'
-
- this is supposed to delete all keys for application APP_NAME.
- Good luck!
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 22:34:49 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
- Subject: Separating filename and extension
- Ref: Append at 19:19:41 on 92/07/08 GMT (by XXNOVA24 at TORVMCOP)
-
- Geza,
- The documentation for these parameters is found as follows.
- Display the popup menu for any program reference object. Choose Open
- Settings, position the cursor in the "Parameters" field, push the Help
- pushbutton. The online help for this "Parameters" field now describes
- each of these options.
-
- Bill Nelson
- Manulife Financial
-
- ----- OS2REXX CFORUM appended at 22:54:40 on 92/07/08 GMT (by PMUELLR at CARVM3)
- Subject: Separating filename and extension
- Ref: Append at 19:19:41 on 92/07/08 GMT (by XXNOVA24 at TORVMCOP)
-
- In this case, I think you'd be better off passing the ENTIRE file name
- to the rexx program, and then splitting it apart with filespec().
- You're not going to be able to tell spaces in the filename from spaces
- in the parameter list otherwise.
-
- filespec() won't give you the extension, but you already have examples
- of how to do this. I might have done:
-
- parse value reverse(wholeFileName) with reverseExt "." .
- ext = reverse(reverseExt)
-
- (assuming you know there IS an extension)
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 03:55:12 on 92/07/09 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating filename and extension
- Ref: Append at 22:34:49 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
-
- Bill,
- Thanks. I will spend a few days to push PF1 . It was so dangrous
- during the EEP what I stopped using it.
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 16:28:28 on 92/07/10 GMT (by NOLINDB at OS2CUST)
- Subject: rexx20 fixes
-
- I applied the REXX20 fixes from this forum and find that PMREXX fails after
- application.
-
- 8 +++ SAY 'ENTER ONE';
- REX0048: ERROR 48 RUNNING C:\STOCK.CMD, LINE 8: FAILURE IN SYSTEM SERVICE
-
- I followed the instructions in REXX.TXT (not too hard to copy 4 files).
- (I booted off floppies, copied files to c:\os2\dll, rebooted.)
-
- Am I missing something or is there a problem?
-
- Ned
-
- ----- OS2REXX CFORUM appended at 20:47:17 on 92/07/10 GMT (by SAMI3QU at OS2CUST)
- Subject: rexx20 fixes
- Ref: Append at 16:28:28 on 92/07/10 GMT (by NOLINDB at OS2CUST)
-
- Ned,
-
- I had the same problem. I had to roll the fix off to get PMREXX apps to
- work again.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 18:54:50 on 92/07/12 GMT (by MRTOM at YKTVMV)
- ..... OS2REXX CFORUM modified at 18:58:17 on 92/07/12 GMT (by MRTOM at YKTVMV)
- Subject: Separating Filaname and Ext.
- Ref: Append at 20:25:31 on 92/07/07 GMT (by XXNOVA24 at TORVMCOP)
- Append at 20:54:54 on 92/07/07 GMT (by 64985842 at TOROHON1)
- Append at 22:54:40 on 92/07/08 GMT (by PMUELLR at CARVM3)
-
- Blair, Patrick,
- Your code will not work if the directory contains a dot and the filename
- does not (C:\TEMP.DIR\FILE, for instance).
-
- Try this:
-
- /* */
- parse arg Fullname
- parse value filespec('NAME', Fullname) with Filename '.' Extension
-
- Tom
-
- ----- OS2REXX CFORUM appended at 11:45:16 on 92/07/13 GMT (by MCGUIRE at GDLVM7)
- Subject: rexx20 fixes
- Ref: Append at 16:28:28 on 92/07/10 GMT (by NOLINDB at OS2CUST)
-
- Yes, known problem. There should be an updated version of REXX20 available
- shortly (probably by the end of the day).
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 16:52:04 on 92/07/13 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Separating Filaname and Ext.
- Ref: Append at 18:54:50 on 92/07/12 GMT (by MRTOM at YKTVMV)
-
- Getting closer , but not right. Try with the following legal HPFS
- names:
-
- Directory (folder Name)
- C:\A.very Long student.csc with ..multiple dots
- FileName:
- spaces and ... dots in the.filename.csc
-
- Adding the printout for your example:
- say fullname
- say filename
- say extension
- Results the following output:
- "C:\A.very Long student.csc with ..multiple dots\spaces and ... dots in
- the.filename.csc"
- spaces and
- .. dots in the.filename.csc"
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
-
- ----- OS2REXX CFORUM appended at 17:22:32 on 92/07/13 GMT (by WZ00533 at OS2CUST)
- Subject: SysCreateObject
-
- Some place on this BBS I saw an explanation of an undocumented parameter
- to SysCreateObject which had something to do with adding the object,
- updating the object and failing if the object existed.
-
- I spent the last hour searching for the append to no avail.
-
- Can someone enlighten me?
-
- Thanks,
-
- Dave Ferrey - Bethlehem Steel Corp - Bethlehem PA
-
- ----- OS2REXX CFORUM appended at 17:34:30 on 92/07/13 GMT (by MCGUIRE at GDLVM7)
- Subject: SysCreateObject
- Ref: Append at 17:22:32 on 92/07/13 GMT (by WZ00533 at OS2CUST)
-
- There is a very lengthy append in this forum (by Mike Lamb) that explains a
- lot of the SysCreateObject usage. There is also some information about the
- extra parameter in the OS/2 2.0 README file.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 17:58:54 on 92/07/13 GMT (by XXCDSX26 at TORVMCOP)
- Subject: SysCreateObject
- Ref: Append at 17:34:30 on 92/07/13 GMT (by MCGUIRE at GDLVM7)
-
- Rick:
-
- Is this a newer REXX20 than 6/17?
-
- Michael Harper - Cdn Depository for Securities, Ltd
-
- ----- OS2REXX CFORUM appended at 18:21:53 on 92/07/13 GMT (by MCGUIRE at GDLVM7)
- Subject: SysCreateObject
- Ref: Append at 17:58:54 on 92/07/13 GMT (by XXCDSX26 at TORVMCOP)
-
- Yes, this update is newer than the 6/17 update.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 19:11:28 on 92/07/13 GMT (by MIKELAMB at KGNVMC)
- Subject: Querying Objects
- Ref: Append at 17:32:55 on 92/07/07 GMT (by NAAC2VK at OS2CUST)
-
- As far as I know there is no Winxxx call that can dump the information
- you would need to recreate an object. Beside information about the
- object being in your INI file it's also got ties into the EA's.
-
- If you were moving a bunch of folks from 1.3 to 2.0 you could write
- a routine that took a dump of 1.3's INI and converted them to Rexx
- calls to recreate groups and program objects.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/13 15:07 EDT
-
- ----- OS2REXX CFORUM appended at 19:14:05 on 92/07/13 GMT (by MIKELAMB at KGNVMC)
- Subject: REXXUTIL Information and Samples
- Ref: Append at 12:37:10 on 92/06/19 GMT (by MIKELAMB at KGNVMC)
-
- I've updated the append referenced to give a few more
- examples of SysCreateObject and it adds descriptions of the newer
- function calls provided by the REXX20 fixes/enhancements (Thanks Rick
- McGuire). Also changed the CONCURRENTVIEW to CCVIEW items mentioned
- earlier in a FORUM (Thanks Dan Kehn, Felix Sawicki).
-
- The sample code contains:
-
- (STARTDOS.CMD)
- Starts a DOS program using specific DOS VDM settings.
- (BOOTDOS.CMD)
- Starts a DOS session, booting from a specific DOS image with
- specific DOS VDM settings.
- (REBUILD.CMD)
- Allows one to rebuild OS/2 system objects, like MAKEINI does.
- (LPTADD.CMD)
- Code using SysIni to add LPT4-9 ports.
-
- As always if you find items of interest using some of the REXXUTIL
- functions please let me know... Thanks...
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/13 15:11 EDT
-
- ----- OS2REXX CFORUM appended at 22:20:08 on 92/07/13 GMT (by MRTOM at YKTVMV)
- Subject: Separating Filaname and Ext.
- Ref: Append at 16:52:04 on 92/07/13 GMT (by XXNOVA24 at TORVMCOP)
-
- Well, that was obviously left as an exercise for further study. :-)
-
- But since you asked, take your pick:
-
- /* */
- parse arg Full
- Name = filespec('NAME', Full)
- Dot = lastpos('.', Name)
- if Dot > 0
- then do; Ext = substr(Name, Dot+1);Name = left(Name, Dot-1); end
- else Ext = ''
- say
- say '>' Name
- say '>' Ext
-
- /* */
- parse arg Full
- parse value reverse(filespec('NAME', Full)) with Ext '.' Name
- Ext = reverse(Ext)
- Name = reverse(Name)
- say
- say '>' Name
- say '>' Ext
-
- Tom
-
- ----- OS2REXX CFORUM appended at 15:02:49 on 92/07/14 GMT (by CS04116 at OS2CUST)
- Subject: Starting a REXX procedure from a DOS session
-
- I have an application that I would like to start a REXX procedure.
- Unfortunately, the application is in DOS.
-
- Is there anyway I can start a REXX procedure from a DOS session?
-
- CS04116
-
- ----- OS2REXX CFORUM appended at 18:09:06 on 92/07/14 GMT (by BRENT at DALVM41B)
- Subject: rexx20 fixes
- Ref: Append at 11:45:16 on 92/07/13 GMT (by MCGUIRE at GDLVM7)
-
- The new REXX20 fix package (V 1.02) is now available for download.
-
- Brent Allen - IBM OS/2 Base Services Support
-
- ----- OS2REXX CFORUM appended at 12:38:02 on 92/07/15 GMT (by MIKELAMB at KGNVMC)
- Subject: REXXUTIL Information and Samples
- Ref: Append at 19:14:05 on 92/07/13 GMT (by MIKELAMB at KGNVMC)
-
- The append I made the other day got truncated so I've fixed that and also
- added a couple more samples:
- - (OBJECTID.CMD)
- Code using SysIni to list OBJECTIDs known to the WorkPlace Shell
- - (FONTS.CMD)
- Code using SysIni to list installed fonts.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/15 08:35 EDT
-
- ----- OS2REXX CFORUM appended at 19:21:00 on 92/07/15 GMT (by TCC3824 at OS2CUST)
- Subject: REXXUTIL
-
- 1) Is there any way to add menu items to a folder using syscreateobject
- or syssetobjectdata?
-
- I am having problems getting the following to work with rexxutil:
- I am using the new rexx20 code as of 7-14-92.
-
- 1) Set a background to a folder, the folder is created ok.
- When I open the folder the background does not show up.
- If I select the background tab in settings the background shows up.
- Ideas? bug?
-
- 2) I have added a program with the VIEW.EXE as the pgm, an inf file
- as the parm and a dir for the working dir.
- When I select the pgm icon an os/2 window opens a closes. no inf display..
-
- If I select a pgm template and add the same settings it works fine.
- Ideas? bug
-
- Kevin McConnell 512-338-7457 Continuum Austin Tx
-
- ----- OS2REXX CFORUM appended at 19:36:40 on 92/07/15 GMT (by SHABBY at RCHVMP)
- Subject: REXXUTIL
- Ref: Append at 19:21:00 on 92/07/15 GMT (by TCC3824 at OS2CUST)
-
- 1) Is there a toggle you have to set to get it out of "Color" mode for
- the background? You can set the background but still have it set to
- a solid color with the radio button there.
-
- -Chris
-
- ----- OS2REXX CFORUM appended at 18:10:52 on 92/07/16 GMT (by CHVY006 at OS2CUST)
- Subject: REXX and RAM
-
- How can a REXX program get a:
- SYS0008: There is not enough storage available to
- process this command. All available storage is in use.
-
- The first thing I did was to check the swapper.dat size and time stamped
- at the time of failure and it was not touched for at least an hour.
- The swapper was less than 1mb and I still had 28mb of DASD free.
- This machine has 10mb of ram.
-
- I most confess that I am using two dll which I register and call a number of
- times.
-
- A litle description of the program's function goes as follows:
- It is a collection of rexx programs that communicate with each other with
- multiple rexx queues (about 6). One DLL performs 3270 EHLLAPI call and the
- other some minor and not critical aesthetic functions.
- This program functions as a 3270 scripting for host access.
-
- The program was almost done until I got that sys0008 message.
- I do get the message under both OS/2 2.0 and OS/2 1.3 on various workstations.
-
- Carlton Brewster, Chevy Chase F.S.B.
-
- ----- OS2REXX CFORUM appended at 19:31:30 on 92/07/16 GMT (by PMUELLR at CARVM3)
- Subject: REXX and RAM
- Ref: Append at 18:10:52 on 92/07/16 GMT (by CHVY006 at OS2CUST)
-
- It doesn't sounds like this is your problem, but a common mistake when
- writing external function dlls is when the dll doesn't return 0.
- Returning a non-zero value from the C function that implements the
- rexx function causes rexx to generate an error - returning 40 means
- syntax error, returning 5 means machine storage exhausted, etc. You
- might want to check your code to make sure you are returning 0
- all the time, unless you specifically want the interpreter to get
- an error in those cases.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 12:37:20 on 92/07/20 GMT (by MCGUIRE at GDLVM7)
- Subject: REXX and RAM
- Ref: Append at 19:31:30 on 92/07/16 GMT (by PMUELLR at CARVM3)
-
- The SYS0008 message is from CMD.EXE, not from Rexx. There are two
- possibilities that I'm aware of:
-
- 1) One of your DLLs is allocating storage and not releasing it, causing the
- process to run out of selectors. While your swapper is still low, there are
- no selectors for additional segments available in the process.
-
- 2) You are invoking your DLLs using the C type calling convention:
-
- foo(a, b, c)
-
- AND the DLLs are returning null strings. Since by Rexx rules, that type of
- instruction is a COMMAND, the null string is passed to CMD.EXE. There is a
- known problem that CMD.EXE starts issuing SYS0008 messages after it has
- received a number of these null commands. To fix the problem, change the
- call to one of the following:
-
- temp = foo(a, b, c)
-
- or
-
- call foo a, b, c
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 18:35:08 on 92/07/20 GMT (by PPBKR at OS2CUST)
- Subject: Querying Objects
- Ref: Append at 17:32:55 on 92/07/07 GMT (by NAAC2VK at OS2CUST)
-
- I am interested in finding a function similiar to PrfQueryProgramTitles
- also. It would be nice if there was a REXXUTIL function called
- SysQueryObject that provided information about objects within a
- particular folder.
-
- I have a folder, that should only contain certain objects, so I need
- a way to query the objectID's of each object within that folder.
-
- If anyone knows of a way, I would be interested in hearing it also.
-
- Thanks,
-
- BK Rogers Phillips Petroleum
-
- ----- OS2REXX CFORUM appended at 22:46:54 on 92/07/20 GMT (by XXWESB22 at TORVMCOP)
- Subject: Starting Programs from Startup.cmd
-
- I am trying to start a windows program using Startup.cmd. I have no
- problems starting it with the command "start /win d:\path\filename"
- but it is then not available from the desktop as an object. Is there
- a way from the startup.cmd file to start an object from the desktop
- even if the desktop has not finished coming up??
-
- ADVthanksANCE
-
- Gareth Jones
- ISM - Information Systems Management
- Regina, SK Phone (306) 781-5109
-
- ----- OS2REXX CFORUM appended at 12:30:45 on 92/07/21 GMT (by MCGUIRE at GDLVM7)
- Subject: Starting Programs from Startup.cmd
- Ref: Append at 22:46:54 on 92/07/20 GMT (by XXWESB22 at TORVMCOP)
-
- You can use SysCreateObject or SysSetObjectData to open an object. For
- example,
-
- call rxfuncadd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
- call sysloadfuncs
- call syssetobjectdata '<WP_OS2SYS>', 'OPEN=DEFAULT;'
-
- Opens the System folder when the system is booted. In general, the object
- should be given an object id or already have one to work. Also, to use
- SysSetObjectData, you'll need the latest REXXUTIL.DLL from REXX20.ZIP.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 17:56:36 on 92/07/21 GMT (by HRIVERA at PKMFGVM5)
- Subject: Minimized VIO window in OS/2 1.3
-
- Is there a way that a REXX CMD can force the OS/2 window it's running
- under to be minimized from within the REXX code itself?
- Thanks!
-
- Hector L. Rivera
-
- ----- OS2REXX CFORUM appended at 19:14:33 on 92/07/21 GMT (by EKARSTEN at DETVMIC4)
- Subject: Trapping Control Break
- Is there away to trap Control Break or turn it off in a REXX procedure?
-
- Eric Karsten
-
- ----- OS2REXX CFORUM appended at 20:27:26 on 92/07/21 GMT (by MCGUIRE at GDLVM7)
- Subject: Trapping Control Break
- Ref: Append at 19:14:33 on 92/07/21 GMT (by EKARSTEN at DETVMIC4)
-
- Signal On Halt or Call On Halt will trap a cntrl-break.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 20:27:58 on 92/07/21 GMT (by SBSTBE4 at OS2CUST)
- Subject: OS2REXX and 3270 ehllapi
-
- Is it possible to use rexx and ehllapi to control a 3270 session? if so, where
- is documented and are there any samples available? Thank you
-
- john r Miranda
-
- ----- OS2REXX CFORUM appended at 20:45:41 on 92/07/21 GMT (by MCGUIRE at GDLVM7)
- Subject: OS2REXX and 3270 ehllapi
- Ref: Append at 20:27:58 on 92/07/21 GMT (by SBSTBE4 at OS2CUST)
-
- EHLLAPI support is available with Extended Services. To access it, you need
- to install the Communications Manager APIs. In the API files, you'll find
- a RXHLLAPI.DOC file, which describes the Rexx EHLLAPI interface. Once you
- have that, the access is pretty as described in the EHLLAPI reference. I
- don't have any examples of this handy, but maybe some kind soul can include
- an example.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 20:51:11 on 92/07/21 GMT (by XXNOVA24 at TORVMCOP)
- Subject: OS2REXX and 3270 ehllapi
- Ref: Append at 20:27:58 on 92/07/21 GMT (by SBSTBE4 at OS2CUST)
-
- Yes. Look around the OS2CM CFORUM.
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 21:05:39 on 92/07/21 GMT (by EKARSTEN at DETVMIC4)
- Subject: Trapping Control Break
- Ref: Append at 20:27:26 on 92/07/21 GMT (by MCGUIRE at GDLVM7)
- Thanks for the quick response!
-
- Eric Karsten
-
- ----- OS2REXX CFORUM appended at 17:56:07 on 92/07/22 GMT (by PRCI041 at OS2CUST)
- Subject: SysCreateObject and Rexx Samples
-
- I just downloaded the new RexxUtils samples in Mike Lamb's earlier append. I
- copied out FOLDER.CMD section of the program and ran it on my machine. It
- creates the folder and adds icons to the folder. Yet, it appears that the
- EXENAME settings doesn't work properly - there is no entry in the program
- name field. Subsequently when you try to run the newly created object, you
- get the settings screen. Am I misunderstanding how the SysCreateObject
- function works (I assume it creates a fully runable object)? When I ran
- the SHADOW.CMD portion, it does create real shadows of the clock, but the
- original object for SYSLEVEL.EXE and its shadow both do not contain any
- data on the first page of the settings.
-
- Mark Polly - Progressive Insurance
-
- ----- OS2REXX CFORUM appended at 21:14:38 on 92/07/22 GMT (by XXNOVA24 at TORVMCOP)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 17:56:07 on 92/07/22 GMT (by PRCI041 at OS2CUST)
-
- Those detailes should be on one line, this is the error.
- You should change the :
-
- setup='OBJECTID=<TEST_SYSL>;',
- 'EXENAME=\OS2\SYSLEVEL.EXE;',
- 'PROGTYPE=FULLSCREEN;'
-
- to the
-
- setup='OBJECTID=<TEST_SYSL>;EXENAME=\OS2\SYSLEVEL.EXE;PROGTYPE=FULLSCREEN
-
- or use the
-
- set1 ='OBJECTID=<TEST_SYSL>;'
- set2 ='EXENAME=\OS2\SYSLEVEL.EXE;'
- set3 ='PROGTYPE=FULLSCREEN;'
- setup=set1|set2|set3
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 12:35:31 on 92/07/23 GMT (by CONT00 at LEXVMK)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 21:14:38 on 92/07/22 GMT (by XXNOVA24 at TORVMCOP)
-
- Change this:
- > setup=set1|set2|set3
- to:
- setup=set1||set2||set3
-
- Gregory Czaja, Lexington 8-545-3311 1992/07/23 08:34
-
- ----- OS2REXX CFORUM appended at 13:04:01 on 92/07/23 GMT (by PERSHNG at YKTVMH)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 21:14:38 on 92/07/22 GMT (by XXNOVA24 at TORVMCOP)
-
- Note that the statement:
-
- setup='OBJECTID=<TEST_SYSL>;',
- 'EXENAME=\OS2\SYSLEVEL.EXE;',
- 'PROGTYPE=FULLSCREEN;'
-
- will insert an extraneous blank between the three clauses, which is
- probably the cause of the problem. The trailing comma tells REXX to
- "glue" the next line onto this line with one intervening space, yielding:
-
- setup='OBJECTID=<TEST_SYSL>;' 'EXENAME=\OS2\SYSLEVEL.EXE;' 'PROGTYPE=FULLSCREEN;'
-
- which is (probably?) wrong in this case.
-
- Mashing this together onto one long string will work, as will the
- explicit use of the concatenation operator (common usage):
-
- setup='OBJECTID=<TEST_SYSL>;',
- ||'EXENAME=\OS2\SYSLEVEL.EXE;',
- ||'PROGTYPE=FULLSCREEN;'
-
- which tells REXX to glue the strings together *without* the spaces.
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 14:16:07 on 92/07/23 GMT (by CHVY006 at OS2CUST)
- Subject: OS2REXX and 3270 ehllapi
- Ref: Append at 20:45:41 on 92/07/21 GMT (by MCGUIRE at GDLVM7)
-
- I'm working with the 32 bit ehllapi for ES and have the following comments:
- 1.It would be nice to be able to call those 3270 functions using either the
- function number or the function name. Example: Call hllapi 'connect' is
- ok but not Call hllapi '1'. Yes I can always front-end the hllapi with a
- preprocessor that does the conversion, but...
- 2.It will be nice to have this interface officially documented with a manual
- to give it some validity.
- 3.I'm sure to find other "features/bugs" but now this is what I've found:
- On functions that return "data strings" no return code is given. For instance:
- Call hllapi 'copy_PS' or Call hllapi 'copy_OIA'
- How would I tell that on a copy_PS function call, the 3270 session was locked
- or inhibited or busy if I don't get back return code just data. Result holds
- the data. We need here another "hllapi global" variable to signal RC on these
- type of calls.
-
- Carlton Brewster, Chevy Chase F.S.B.
-
- ----- OS2REXX CFORUM appended at 16:16:11 on 92/07/23 GMT (by SDETWEIL at DETVMIC4)
- ..... OS2REXX CFORUM modified at 17:39:51 on 92/07/23 GMT (by SDETWEIL at DETVMIC4)
- Subject: OS2REXX and 3270 ehllapi
- Ref: Append at 14:16:07 on 92/07/23 GMT (by CHVY006 at OS2CUST)
-
- As the original developer of this function package, (since 1.1)
- I'd like to answer your questions and see if I can understand
- a little more.
-
- 1.It would be nice to be able to call those 3270 functions using either the
- function number or the function name. Example: Call hllapi 'connect' is
- ok but not Call hllapi '1'. Yes I can always front-end the hllapi with a
- preprocessor that does the conversion, but...
-
- | I hate numbers. Rexx is a TEXT language. If I had made unique
- | functions for each of the matching HLLAPI functions, this would
- | have made it pretty convoluted..
- |
- | Why use numbers? The text makes it more readable, understandable,
- | maintainable, simpler to use, and more easily learned.
- |
- | I'm NOT saying you're wrong (altho I personally think you are,
- | but I'm trying to understand)
-
- 2.It will be nice to have this interface officially documented with a manual
- to give it some validity.
-
- | S04G-1027, ES EHLLAPI manual. Same text as in RXHLLAPI.DOC
-
- 3.I'm sure to find other "features/bugs" but now this is what I've found:
- On functions that return "data strings" no return code is given. For instance:
- Call hllapi 'copy_PS' or Call hllapi 'copy_OIA'
- How would I tell that on a copy_PS function call, the 3270 session was locked
- or inhibited or busy if I don't get back return code just data. Result holds
- the data. We need here another "hllapi global" variable to signal RC on these
- type of calls.
-
- | yep, pretty hard to have two answers with only one return value
- | one should/could use Set_Session_Parms=NWAIT, then use the
- | HLLAPI('WAIT') function to test the state of the device
- | BEFORE the COPY_PS function. You'll have to have this code
- | anyhow to make it reliable, so the thought was that you would
- | check either BEFORE or AFTER if the returned string was a null
- | string.
- |
- | Compare the two logic sets,
- |
- | if length(string)==0 then do /* no data */
- | if special_var=5 then do /* locked */
- | blah blah
- | end
- | end
- |
- | versus
- |
- | if length(string)==0 then do /* no data */
- | if HLLAPI('WAIT')=5 then do /* locked */
- | blah blah
- | end
- | end
-
- Sam
-
- ----- OS2REXX CFORUM appended at 16:37:06 on 92/07/23 GMT (by PRCI041 at OS2CUST)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 13:04:01 on 92/07/23 GMT (by PERSHNG at YKTVMH)
-
- Thanks for the help. I had concatenated the separate lines into one,
- but I did leave a blank space after each semicolon. Removing the blanks
- did the trick.
-
- Mark Polly - Progressive Insurance
-
- ----- OS2REXX CFORUM appended at 14:15:49 on 92/07/24 GMT (by MIKELAMB at KGNVMC)
- ..... OS2REXX CFORUM modified at 18:31:38 on 92/07/24 GMT (by MIKELAMB at KGNVMC)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 16:37:06 on 92/07/23 GMT (by PRCI041 at OS2CUST)
- Ref: Append at 13:04:01 on 92/07/23 GMT (by PERSHNG at YKTVMH)
- Ref: Append at 12:35:31 on 92/07/23 GMT (by CONT00 at LEXVMK)
- Ref: Append at 21:14:38 on 92/07/22 GMT (by XXNOVA24 at TORVMCOP)
- Ref: Append at 17:56:07 on 92/07/22 GMT (by PRCI041 at OS2CUST)
-
- Sorry all, Rick sent me a note offline describing my err...
- I haven't had much time to follow the FORUM. I'll make the change this
- weekend and replace the append in this FORUM. I also have yet
- another example to add to it.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/24 14:31 EDT
-
- ----- OS2REXX CFORUM appended at 14:26:43 on 92/07/24 GMT (by TCC3824 at OS2CUST)
- Subject: REXXUTIL
- Ref: Append at 19:36:40 on 92/07/15 GMT (by SHABBY at RCHVMP)
-
- There is no such option that I can see.
-
- Kevin McConnell 512-338-7457 Continuum Austin Tx
-
- ----- OS2REXX CFORUM appended at 17:13:15 on 92/07/24 GMT (by XXMUTL27 at TORVMCOP)
- Subject: GetEA and extended attributes
- Ref: Append at 16:37:06 on 92/07/23 GMT (by PRCI041 at OS2CUST)
-
- GetEA will allow me to get the value of an extended attribute from
- a file if I know the name of the the attribute. Is there a way (from
- within a REXX program) that I can determine what extended attributes
- (if any) are associated with a given file?
-
- Any help would be appreciated. Thanks in advance
-
- Erik Vander Ahe
- The Mutual Group
-
- ----- OS2REXX CFORUM appended at 18:04:16 on 92/07/24 GMT (by IL11901 at OS2CUST)
- Subject: CommandLine 1.1
-
- Please check out CommandLine 1.1 from Soft & GUI Inc. CommandLine is a hotkey
- PM based application launcher and command prompt, which in addition to inline
- filename completion and file find and command history has an inline REXX
- expressions interpreter. CommandLine lists for $39.95
-
- Soft & GUI Inc
- (718) 769-8017
-
- Steve Dacek - Soft & GUI Inc
-
- ----- OS2REXX CFORUM appended at 22:26:04 on 92/07/24 GMT (by USBC238 at OS2CUST)
- Subject: SysDestroyObject
-
- Using SysCreateObject I created some test WPProgram objects with a
- NODELETE=YES setting to test some desktop security. Now I really
- want to delete the object (I don't want my users to) and I can't find
- a way to do it. I tried to use SysDestroyObject <M_TEST>, which is
- the OBJECTID I gave it when it was created and received an Error 35
- running xxx.cmd, line 8: Invalid expression. REXX Command reference
- has no reference for SysDestroyObject so I don't know if the syntax
- is wrong. I do have the latest REXX20.ZIP files installed. Any ideas?
-
- Charles Boyce - US Bank, Portland OR
-
- ----- OS2REXX CFORUM appended at 18:29:48 on 92/07/25 GMT (by ROK2027 at OS2CUST)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 14:15:49 on 92/07/24 GMT (by MIKELAMB at KGNVMC)
-
- Mike,
-
- Thanks for your time/effort and examples.....
-
- I lost my desktop (again) this week and have now created some rexx procedures
- based on your examples to recreate the CM, ES, UPM and LS folders should I
- have this opportunity in the future.
-
- This involved sitting down at another system that had just been installed
- and copying down all the various info for these folders (ugh..)
-
- Is there anyway for me to send them to this bbs/forum so others won't have
- to reinvent the wheel...?
-
- Lionel Dyck - Rockwell International, Information Systems Center
-
- ----- OS2REXX CFORUM appended at 11:59:55 on 92/07/27 GMT (by XXCDSX26 at TORVMCOP)
- Subject: SysDestroyObject
- Ref: Append at 22:26:04 on 92/07/24 GMT (by USBC238 at OS2CUST)
-
- Charles:
-
- Try moving the object to Drive A: (with a disk in it).
-
- Michael Harper - Cdn Depository for Securities, Ltd
-
- ----- OS2REXX CFORUM appended at 12:33:26 on 92/07/27 GMT (by CONT00 at LEXVMK)
- ..... OS2REXX CFORUM modified at 12:53:13 on 92/07/27 GMT (by CONT00 at LEXVMK)
- Subject: SysDestroyObject
- Ref: Append at 22:26:04 on 92/07/24 GMT (by USBC238 at OS2CUST)
-
- Ahmmmm... How does the call look like ? Some apostrophe missing ?
- This kind of error is NOT related to SysDestroyObject !
-
- Gregory Czaja, Lexington 8-545-3311 1992/07/27 08:32
-
- ----- OS2REXX CFORUM appended at 12:46:42 on 92/07/27 GMT (by MCGUIRE at GDLVM7)
- Subject: SysDestroyObject
- Ref: Append at 22:26:04 on 92/07/24 GMT (by USBC238 at OS2CUST)
-
- Error 35 is a syntax error before you even called the SysDestroyObject
- function. If you actually coded it the way you showed, add quotes around the
- object name:
-
- call SysDestroyObject '<M_TEST>'
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 15:24:00 on 92/07/27 GMT (by USBC238 at OS2CUST)
- Subject: SysDestroyObject
- Ref: Append at 12:33:26 on 92/07/27 GMT (by CONT00 at LEXVMK)
-
- Yes, it was a problem of missing quotes... however, now the command runs with
- out errors, but the object stays on the desktop.
-
- Here is the the file:
-
- /* Destroy.cmd */
-
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- call SysDestroyObject'<M_TEST>'
-
- Here is the file I used to create the object:
-
- /* Refrnce.cmd */
-
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- classname='Mindex'
- title='Test Help Index'
- location='<WP_DESKTOP>'
- setup='INDEX=HELP;OBJECTID=<M_TEST>;NODELETE=YES'
- call BldObj
-
- /* Build Object */
- call charout , 'Building: 'Title
- result = SysCreateObject(classname, title, location, setup)
- if result =1 then call charout , '... Object created'
- else call charout, '... Not created, return code ='result
- return
-
- Charles Boyce - US Bank, Portland OR
-
- ----- OS2REXX CFORUM appended at 16:53:02 on 92/07/27 GMT (by CONT00 at LEXVMK)
- Subject: SysDestroyObject
- Ref: Append at 15:24:00 on 92/07/27 GMT (by USBC238 at OS2CUST)
-
- I've run your very program and it DID delete the created object !
-
- One hint: my REXXUTIL.DLL is dated 7/23/1992... don't remember which
- version is required to support SysDestroyObject.
-
- Gregory Czaja, Lexington 8-545-3311 1992/07/27 12:48
-
- ----- OS2REXX CFORUM appended at 18:02:40 on 92/07/27 GMT (by MCGUIRE at GDLVM7)
- Subject: SysDestroyObject
- Ref: Append at 15:24:00 on 92/07/27 GMT (by USBC238 at OS2CUST)
-
- Not sure what to tell you. I just tried many different variations of what you
- did and the object was successfully removed each time...except for the one
- time I forgot to include the objectid!
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 15:30:47 on 92/07/28 GMT (by USBC238 at OS2CUST)
- Subject: SysDestroyObject
- Ref: Append at 16:53:02 on 92/07/27 GMT (by CONT00 at LEXVMK)
-
- OK, now I am rather perplexed, I have tried to run the destroy
- program again, it runs with no error message, but the object remains
- on the desktop. I tried to run the create program, and it fails
- because the object id already exists (I assume) so I think I am using
- the correct object id in the destroy program. If I try to move the
- object to the a: drive icon I get a minus sign -no can do-. I am
- using the rexx fixes from this bbs and my rexxutil.dll is dated
- 07-01-92 4:29p with a size of 31321 bytes. The REXX20.ZIP is 07-15-92
- size of 175065 bytes. Now, 1)Is there a way to query the system to
- find all object ids? 2) How do I get the rexxutil.dll with the later
- date?3) Are there any other suggestions?
-
- Charles Boyce - US Bank, Portland OR
-
- ----- OS2REXX CFORUM appended at 16:22:54 on 92/07/28 GMT (by MCGUIRE at GDLVM7)
- Subject: SysDestroyObject
- Ref: Append at 15:30:47 on 92/07/28 GMT (by USBC238 at OS2CUST)
-
- 1) The append by Mike Lamb in this forum describing the SysCreateObject
- function includes a program to display all the object ids known to the system.
-
- 2) The latest REXXUTIL.DLL is in the REXX20.ZIP file on this BBS.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 20:51:57 on 92/07/28 GMT (by USBC238 at OS2CUST)
- Subject: SysDestroyObject
- Ref: Append at 16:22:54 on 92/07/28 GMT (by MCGUIRE at GDLVM7)
-
- Thanks Rick, by using Mike's program to display the object ids I
- found that it had an extra character appended to the end (fingers
- flying too fast). I changed the program to reference the correct id
- and it is gone.
-
- Charles Boyce - US Bank, Portland OR
-
- ----- OS2REXX CFORUM appended at 14:11:26 on 92/07/29 GMT (by MIKELAMB at KGNVMC)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 14:15:49 on 92/07/24 GMT (by MIKELAMB at KGNVMC)
-
- New modified append for the REXXUTIL samples. Fixed the problem I caused
- by not including ||'s at the end of my breaking up of the setup strings.
-
- Also I just had to add a few more items...
-
- Added information regarding changing some System Settings (added a
- new section after sample Rexx code). Also added warning in REBUILD.CMD
- sample about replacing Folder objects. Also added new sample ICONRES.CMD
- which builds a folder containing many of the OS/2 V2 installed icons
- using system DLL files, is an example of using ICONRESOURCE setup parm.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/29 10:06 EDT
-
- ----- OS2REXX CFORUM appended at 14:27:01 on 92/07/29 GMT (by MIKELAMB at KGNVMC)
- Subject: SysCreateObject and Rexx Samples
- Ref: Append at 18:29:48 on 92/07/25 GMT (by ROK2027 at OS2CUST)
-
- I've also opened up a question to IBM Support asking them what's the
- "supported" method of recreating these object should someone shred
- them. I tried to look into this and ran into a brick wall as I could
- not find out enough information to rebuild the objects. They are created
- using the older 1.3 Prfxxx calls and are Groups instead of Folder
- objects. I did use the DPRG program from LMU/2 to dump the items and
- you can get a good look at the entries from its output. However to do
- a real good job that was universally useful I'd have to also look at
- the IBMLVL.INI file to find out what was installed and where to really
- recreate the objects. Also the REXXUTILs code does not use any of the
- older Prfxxx calls to build 1.3-like Groups so instead I'd have had to
- make workplace shell folder objects. I was hoping to find a file that
- detailed the entries for ES, UPM, CM, LS, I did find some in *.PIP files
- but not others... Perhaps I'll get an answer from IBM Support...
-
- I'm not sure how these CFORUM files work, I suppose you could do as
- I did and append them here?
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/07/29 10:12 EDT
-
- ----- OS2REXX CFORUM appended at 14:29:27 on 92/07/30 GMT (by ROK2027 at OS2CUST)
- ..... OS2REXX CFORUM modified at 19:38:05 on 92/07/30 GMT (by ROK2027 at OS2CUST)
- Subject: Samples to rebuild (CM, ES, UPM and LAN) folders
- This APPEND was deleted at 15:38:04 on 07/30/92 EST.
-
- ----- OS2REXX CFORUM appended at 02:31:28 on 92/07/31 GMT (by MCC003 at OS2CUST)
- Subject: CM 3270 font sizes
-
- Is there is a way to manipulate the 3270 window font sizes with REXX?
-
- Jim Brunke
-
- ----- OS2REXX CFORUM appended at 02:33:18 on 92/07/31 GMT (by IL22993 at OS2CUST)
- Subject: Samples to rebuild (CM, ES, UPM and LAN) folders
- Ref: Append at 14:29:27 on 92/07/30 GMT (by ROK2027 at OS2CUST)
-
- Lionel...
-
- I take it you are trying to post some REXX code to rebuild the ES folders?
- I am holding my breath... (well not quite) ... One of our managers who is
- still sticking by OS/2 just wiped out his desktop. I have him running
- using "CM" from startup.cmd, but I anxiously await some means of rebuilding.
-
- Good luck!!! (I am sure others will greatly appreciate your efforts... I sure
- will!)
-
- George Clark, Norton Company
-
- ----- OS2REXX CFORUM appended at 14:28:19 on 92/07/31 GMT (by ROK2027 at OS2CUST)
- Subject: Samples to Rebuild CM, ES, LAN and UPM Folders
-
- I have tried to upload this several times and each time receive the following
- message from my OS/2 Window where the send command is issued:
-
- TRANS010 The host has not responded. Switch to the emulator session.
-
- When I switch back to my 3270 session I am not sure what to do and the only
- thing that seems to work is the Esc key. The result seems to be that
- nothing gets uploaded.
-
- I will send my samples to those who wish them via Internet or IBMMail or to
- CompuServe until I achieve success in uploading. Perhaps someone can suggest
- something that will work. My command is/was:
-
- send up.txt c:showtemp text a (ascii crlf lrecl 80
-
- Note: My file is 273 records and i am reluctant to cut/paste 40+ times
- as I might miss something.
-
- Lionel Dyck IBMMAIL: USROKNTN Internet: lbdyck@osreq48.rockwell.com
- IBMLink: ROK2027
-
- Lionel Dyck - Rockwell International, Information Systems Center
-
- ----- OS2REXX CFORUM appended at 17:45:18 on 92/07/31 GMT (by XXROYT05 at TORVMCOP)
- Subject: REXX & DBM
-
- I am trying to write some rexx routines which use DSQCIX and DSQSETUP
- but so far I have not been very successful. Does anyone have some
- sample code which they wouldn't mind sharing. Thanks in advance...
-
- Ralf Mibus - Royal Trustco - Toronto, Canada (416)981-4067
-
- ----- OS2REXX CFORUM appended at 18:45:09 on 92/07/31 GMT (by NAAO3IY at OS2CUST)
- Subject: Samples to rebuild (CM, ES, UPM and LAN) folders
- Ref: Append at 02:33:18 on 92/07/31 GMT (by IL22993 at OS2CUST)
-
- In my experience, the ES folders can be recovered by:
-
- First, shredding them completely, and
- Second, doing a null reinstall (REINST, but don't actually add anything).
-
- It seems that the code gets _very_ confused if the folders already
- exist, but it knows what to do if it can't find them at all.
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 15:56:04 on 92/08/01 GMT (by GBFORNEY at WASVMIC5)
- Subject: REXX & DBM
- Ref: Append at 17:45:18 on 92/07/31 GMT (by XXROYT05 at TORVMCOP)
-
- Here's something I wrote with DSQCIX. It does some date calculations
- and the starts a QM session, sets some QM variables with the
- calculated date values and then runs a "main" menu called MASTER
- in the LANG1 database.
-
- /* Rexx Exec Greg Forney */
- /* QUERY.CMD */
- /* Query Manager Interface */
- Signal Start /* Subroutines come first */
-
- /*------------------------------------------------------------------
- * GetRxQM registers the QM interface in memory
- *------------------------------------------------------------------*/
- GetRxQM:
- rcy = 0
- If rxfuncquery('DSQCIX')<>0
- then rcy=rxfuncadd('DSQCIX','DSQCIX','DSQCIX')
- If rcy <> 0 then call error "DSQCIX Not Available"
- If rxfuncquery('DSQSETUP')<>0
- then rcy=rxfuncadd('DSQSETUP','DSQSETUP','DSQSETUP')
- If rcy <> 0 then call error "DSQCIX Not Available"
- Return
-
- /*------------------------------------------------------------------
- * CheckDSQS exaimines QM interface errors
- *------------------------------------------------------------------*/
- CheckDSQS:
- DSQ_result = DSQ_return_code
- If DSQ_result <> 0 then Do
- Say "Message Id = " DSQ_MESSAGE_ID
- Say " Q Message Id = " DSQ_Q_MESSAGE_ID
- Say " Start Parm Error = "DSQ_START_PARM_ERROR
- End
- return DSQ_result
-
- /*------------------------------------------------------------------
- * CalcDays sets a variable for the date which is 4
- * working days after the current calendar day
- *------------------------------------------------------------------*/
- CalcDays:
- /*------------------------------------------------------------
- * Calculate two days hence in working days
- *------------------------------------------------------------*/
- today=date('S')
- DayOfWeek=date('B')//7
- year = substr(today,1,4)
- Month = substr(today,5,2)
- day = substr(today,7,2)
- Do DOWplus4.DayOfWeek
- Day = right(Day + 1,2,0)
- If Day > DIM.Month Then Do
- Day = 01
- Month = right(Month + 1,2,0)
- IF Month > 12 Then Do
- Year = Year + 1
- Month = right(01,2,0)
- End /* of Month > 12 */
- End /* of Day > DIM.Month */
- End /* of DOWplus4.Dayof Week */
- DBDateplus4 = Year║║"-"║║Month║║"-"║║Day
- /*-------------------------------------------------------------
- * Calculate two weeks hence in working days
- *-------------------------------------------------------------*/
- today=date('S')
- DayOfWeek=date('B')//7
- year = substr(today,1,4)
- Month = substr(today,5,2)
- Day = substr(today,7,2)
- Do 14
- Day = right(Day + 1,2,0)
- If Day > DIM.Month Then Do
- Day = 01
- Month = right(Month + 1,2,0)
- IF Month > 12 Then Do
- Year = Year + 1
- Month = right(01,2,0)
- End /* of Month > 12 */
- End /* of Day > DIM.Month */
- End /* of Do 14 */
- DBDateplus14 = Year║║"-"║║Month║║"-"║║Day
- /*--------------------------------------------------------------
- * Calculate two weeks past in working days
- *--------------------------------------------------------------*/
- today=date('S')
- DayOfWeek=date('B')//7
- year = substr(today,1,4)
- Month = substr(today,5,2)
- Day = substr(today,7,2)
- Do 14
- Day = right(Day - 1,2,0)
- If Day = 0 Then Do
- Month = right(Month - 1,2,0)
- If Month = 0 Then Do
- Year = right(year - 1,2,0)
- Month = 12
- End /* of Month = 0 */
- Day = DIM.Month
- End /* of Day = 0 */
- End /* of Do 14 */
- DBDateminus14 = Year║║"-"║║Month║║"-"║║Day
- return
-
- /*------------------------------------------------------------------
- * Initialize
- *------------------------------------------------------------------*/
- Initialize:
- DOWplus4.=0
- DOWplus4.0=4 /* 0 is Monday */
- DOWplus4.1=6
- DOWplus4.2=6
- DOWplus4.3=6
- DOWplus4.4=6
- DOWplus4.5=6
- DOWplus4.6=5
- DIM.=0
- daysofMonth = 31 28 31 30 31 30 31 31 30 31 30 31
- Do i = 01 to 12
- If i < 10 Then i = right(i,2,0)
- parse var daysofmonth DIM.i daysofmonth
- End
- Year=substr(date('S'),1,4)
- If Year//4 = 0 Then DIM.2 = 29
- Return
-
- Error:
- arg msg
- Say "SOme error happened on Line " sigl
- Say "Query.CMD Error: " msg
- SIgnal Quit
-
- Quit:
- Exit
-
- /* ************************************************** */
- /* Main Program */
- /* ************************************************** */
- Start:
- Signal On Error
-
- Call Initialize
-
- Call CalcDays
-
- /* Get Rexx QM API's*/
- Call GetRxQM
-
- Call DSQCIX 'START','DSQSMODE="INTERACTIVE"','DSQSDBNM = "LANG1"'
- rcy = CheckDSQS()
- Call DSQCIX 'SET GLOBAL','DatePlus4=DBdateplus4'
- rcy = CheckDSQS()
- Call DSQCIX 'SET GLOBAL','DatePlus14=DBdateplus14'
- rcy = CheckDSQS()
- Call DSQCIX 'SET GLOBAL','Dateminus14=DBdateminus14'
- rcy = CheckDSQS()
-
- Call DSQCIX 'RUN MENU MASTER'
- rcy = CheckDSQS()
- Call DSQCIX 'EXIT'
- rcy = CheckDSQS()
- Call Quit
-
- Greg Forney - DVSC
-
- ----- OS2REXX CFORUM appended at 01:51:27 on 92/08/02 GMT (by MIKELAMB at KGNVMC)
- Subject: Samples to Rebuild CM, ES, LAN and UPM Folders
- Ref: Append at 14:28:19 on 92/07/31 GMT (by ROK2027 at OS2CUST)
-
- Try setting your file transfer buffer size for that host session to 2.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/08/01 21:50 EDT
-
- ----- OS2REXX CFORUM appended at 09:31:35 on 92/08/03 GMT (by VERSTEEG at UITVM1)
- Subject: REXX & DBM
- Ref: Append at 17:45:18 on 92/07/31 GMT (by XXROYT05 at TORVMCOP)
-
- Here is a second sample. Note the first line that registers
- REXX/QM variables.
- In this sample query Q1300 does a select * from a nonexisting table.
-
- /* retrieve DSQSQLEC in case of error QRW1300 */
- '@DSQRGSTR'
- call DSQCIX 'START','DSQSMODE=INTERACTIVE','DSQSDBNM="SAMPLE"'
- call DSQCIX 'RUN QUERY Q1300' /* generate SQL0204 */
- call dsqcix 'get current','xyz=DSQSQLEC'
- say xyz /* this will produce: -204 */
- call DSQCIX 'EXIT'
- exit
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** GO OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 15:01:54 on 92/08/06 GMT (by XXROYT05 at TORVMCOP)
- Subject: REXX & DBM
- Ref: Append at 09:31:35 on 92/08/03 GMT (by VERSTEEG at UITVM1)
-
- Thanks for the samples...much appreciated!
-
- Ralf Mibus - Royal Trustco - Toronto, Canada (416)981-4067
-
- ----- OS2REXX CFORUM appended at 22:43:58 on 92/08/06 GMT (by ROK2027 at OS2CUST)
- Subject: Samples to Rebuild CM, ES, LAN and UPM Folders
-
- Here are 4 REXX applications to rebuild Desktop folders after an
- ALT-F1 for Lan Requestor, Communications Manager, Extended Services
- and User Profile Management. I have only included in each folder
- those specific objects that I needed, but this is a good start if
- you want the rest. It just takes time to copy down the information
- from a 'clean' system and then walk back to your workstation and
- enter the appropriate commands for the rebuild. This simplifies
- that.
- Thanks to Mike Lamb of IBM for his examples and documentation.
- Each .cmd file is delimited by >> file.CMD <<
- @
- >> BUILDCM.CMD <<
- @
- /* BUILDCM.CMD: Rebuild CM Folder after Alt-F1 */
- /* modified by Lionel Dyck, Rockwell International */
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
- /* Mike Lamb: MIKELAMB/KGNVMC */
- @
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
- @
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
- @
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a Communications Manager Folder and Program
- O
- bjects...'
- @
- /* All of the routines pass parameters to a subroutine to perform the call */
- @
- classname='WPFolder'
- title='Communications Manager'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<CM>'
- Call BldObj
- @
- Say "Folder Build Complete - starting build of Program Entries"
- @
- classname='WPProgram'
- title='Communications Manager'
- location='<CM>'
- setup='OBJECTID=<CM_CON>;',
- ||'EXENAME=C:\CMLIB\STARTCM.CMD;',
- ||'STARTUPDIR=C:\CMLIB;',
- ||'PROGTYPE=FULLSCREEN;'
- Call BldObj
- @
- Say "Add of Communications Manager Folder is now complete....."
- @
- Exit
- @
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
- @
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
- @
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- @
- Say '';
- Return
- @
- >> BUILDES.CMD <<
- @
- /* BUILDES.CMD: Rebuild ES Folder after Alt-F1 */
- /* modified by Lionel Dyck, Rockwell International */
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
- /* Mike Lamb: MIKELAMB/KGNVMC */
- @
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
- @
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
- @
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a Extended Services Folder and Program
- Object
- s...'
- @
- /* All of the routines pass parameters to a subroutine to perform the call */
- @
- classname='WPFolder'
- title='Extended Services'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<ES>'
- Call BldObj
- @
- Say "Folder Build Complete - starting build of Program Entries"
- @
- classname='WPProgram'
- title='Basic Configuration and Installation'
- location='<ES>'
- setup='OBJECTID=<ES_CON>;',
- ||'EXENAME=C:\OS2\INSTALL\ESCFG.CMD;',
- ||'STARTUPDIR=C:\OS2\INSTALL;',
- ||'PROGTYPE=FULLSCREEN;'
- Call BldObj
- @
- classname='WPProgram'
- title='Add or Remove Features'
- location='<ES>'
- setup='OBJECTID=<ES_RECON>;',
- ||'EXENAME=C:\OS2\INSTALL\REINST.CMD;',
- ||'STARTUPDIR=C:\OS2\INSTALL;',
- ||'PROGTYPE=FULLSCREEN;'
- Call BldObj
- @
- Say "Add of Extended Services Folder is now complete....."
- @
- Exit
- @
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
- @
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
- @
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- @
- Say '';
- Return
- @
- >> BUILDLAN.CMD <<
- @
- /* BUILDLAN.CMD: Rebuild LAN Folder after Alt-F1 */
- /* modified by Lionel Dyck, Rockwell International */
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
- /* Mike Lamb: MIKELAMB/KGNVMC */
- @
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
- @
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
- @
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a LAN Services Folder and Program
- Objects...'
- @
- /* All of the routines pass parameters to a subroutine to perform the call */
- @
- classname='WPFolder'
- title='LAN Services'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<LAN_SERV>'
- Call BldObj
- @
- Say "Folder Build Complete - starting build of Program Entries"
- @
- classname='WPProgram'
- title='LAN Messaging'
- location='<LAN_SERV>'
- setup='OBJECTID=<LAN_MSG>;',
- ||'EXENAME=C:\IBMLAN\NETPROG\NETSEND.EXE;',
- ||'STARTUPDIR=C:\IBMLAN\NETPROG;',
- ||'PROGTYPE=FULLSCREEN;'
- Call BldObj
- @
- classname='WPProgram'
- title='LAN Requester'
- location='<LAN_SERV>'
- setup='OBJECTID=<LAN_REQ>;',
- ||'EXENAME=C:\IBMLAN\NETPROG\NET.EXE;',
- ||'STARTUPDIR=C:\IBMLAN\NETPROG;',
- ||'PROGTYPE=FULLSCREEN;'
- Call BldObj
- @
- classname='WPProgram'
- title='LAN Services Installation and Configuration'
- location='<LAN_SERV>'
- setup='OBJECTID=<LAN_INST>;',
- ||'EXENAME=C:\IBMLAN\INSTALL\LANINST.EXE;',
- ||'STARTUPDIR=C:\IBMLAN\INSTALL;',
- ||'PROGTYPE=PM;'
- Call BldObj
- @
- Say "Add of LAN Services Folder is now complete....."
- @
- Exit
- @
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
- @
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
- @
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- @
- Say '';
- Return
- @
- >> BUILDUPM.CMD <<
- @
- /* BUILDUPM.CMD: Rebuild UP_MGMT Folder after Alt-F1 */
- /* modified by Lionel Dyck, Rockwell International */
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
- /* Mike Lamb: MIKELAMB/KGNVMC */
- @
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
- @
- /*The basic call is listed next. */
- /*rc=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)*/
- @
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a User Profile Management Folder and Program
- Objects...'
- @
- /* All of the routines pass parameters to a subroutine to perform the call */
- @
- classname='WPFolder'
- title='User Profile Management'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<UP_MGMT>'
- Call BldObj
- @
- Say "Folder Build Complete - starting build of Program Entries"
- @
- classname='WPProgram'
- title='Logoff'
- location='<UP_MGMT>'
- setup='OBJECTID=<LOGOFF>;',
- ||'EXENAME=C:\MUGLIB\LOGOFF.EXE;',
- ||'PARAMETERS=/L;',
- ||'STARTUPDIR=C:\MUGLIB;',
- ||'PROGTYPE=PM;'
- Call BldObj
- @
- classname='WPProgram'
- title='Logon'
- location='<UP_MGMT>'
- setup='OBJECTID=<LOGON>;',
- ||'EXENAME=C:\MUGLIB\LOGON.EXE;',
- ||'STARTUPDIR=C:\MUGLIB;',
- ||'PROGTYPE=PM;'
- Call BldObj
- @
- classname='WPProgram'
- title='User Profile Management'
- location='<UP_MGMT>'
- setup='OBJECTID=<UPM_ACCT>;',
- ||'EXENAME=C:\MUGLIB\UP_MGMTACCTS.EXE;',
- ||'STARTUPDIR=C:\MUGLIB;',
- ||'PROGTYPE=PM;'
- Call BldObj
- @
- Say "Add of User Profile Management Folder is now complete....."
- @
- Exit
- @
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
- @
- /* Build object using REPLACE as duplicateflag */
- result = SysCreateObject(classname, title, location, setup, 'R')
- @
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
- @
- Say '';
- Return
-
- Lionel Dyck - Rockwell International, Information Systems Center
-
- ----- OS2REXX CFORUM appended at 02:15:48 on 92/08/07 GMT (by JL07784 at YMTVM8)
- Subject: How to check the Diskette drive status, ready or not ready ?
-
- I want to check the diskette drive status in REXX program without
- special program or utilities. I don't want to display OS/2 critical error
- handler screen. So I need to check the diskette was inserted into
- drive or not.
- I know the stream command as;
- stream('A:','S')
- but it returns NULL strings (OS/2 J1.32) and 'UNKNOWN' (OS/2 J2.0).
- And I tried as;
- stream('A:\test.dat','C','QUERY EXISTS')
- returns NULL after critical error handler screen (OS/2 J.132) and
- NULL without critical error handler (OS/2 J2.0). Unfortunately,
- this product will be used both OS/2 J1.3 and OS/2 J2.0.
- Please tell me the correct way !
- Thank you advance.
-
- Solution Platform Development
- Yamato Laboratory, Japan
- M. Yamamoto
-
- ----- OS2REXX CFORUM appended at 12:47:45 on 92/08/10 GMT (by UDSS013 at OS2CUST)
- Subject: Samples to Rebuild CM, ES, LAN and UPM Folders
-
- | |
- | TRANS010 The host has not responded. Switch to the emulator session. |
- | |
-
- This usually means that the VTAM LOGMODE that you used to connect to IBMLink
- isn't capable of file transfer. Specifically, the query bit must be on in
- the logmode table (PSERVIC). The first two bytes of PSERVIC must be 0280.
-
- You host network support folks should be able to supply you with a logmode
- that will enable file transfer.
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 14:04:02 on 92/08/10 GMT (by MIKELAMB at KGNVMC)
- Subject: Samples to Rebuild CM, ES, LAN and UPM Folders
- Ref: Append at 22:43:58 on 92/08/06 GMT (by ROK2027 at OS2CUST)
-
- Before anyone goes and used Lionel's code to rebuild objects please
- remember that the code has hardcoded locations for programs "C:" for
- instance for some objects. However since things like LS can be installed
- to other drives you might have to "tweak" with the code to get it
- to build the objects you require. To make the code more robust it could
- look at the \IBMLVL.INI file to determine the location of the products,
- or optionally the PATH statement.
-
- Michael A. Lamb (MIKELAMB @ KGNVMC) 1992/08/10 09:48 EDT
-
- ----- OS2REXX CFORUM appended at 14:40:43 on 92/08/10 GMT (by MRTOM at YKTVMV)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 02:15:48 on 92/08/07 GMT (by JL07784 at YMTVM8)
-
- Use SysDriveInfo in REXXUTIL. If the returned value is '', there's
- no disk in the drive.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 00:17:12 on 92/08/11 GMT (by IL59746 at OS2CUST)
- Subject: Controlling OS/2 & Workplace Shell from REXX
-
- I am trying to write a REXX exec to automate some our systems
- performace charting. As a part of this automation I have a need to
- controll the Comm Manager Emulators. I need to enable my program to
- log into a VM host, check the reader, receive any files, and download
- (receive) them to the PC. It is my understanding that REXX can
- control any part of OS/2 and any program running under it. I would
- need some material that shows how. Also I would need some references
- to for the Comm Manager where I could look up the calls REXX can make
- to controll the sessions.
-
- I also got the impression that I can controll DOS & Windows programms
- running under OS/2 using REXX, so I'm looking for any tutorial's or
- references available on this subject as well. If anyone out there
- has any experience with something similar, I would very much like to
- talk to you. I am new to REXX, & OS/2, and I am under pressure from
- my management to get this done fast (aren't we all).
- At this point I'm not even sure that what I'm trying to do is
- possible. Any advice or help would be greatly appreciated. Thank you.
-
- ----- OS2REXX CFORUM appended at 01:17:14 on 92/08/11 GMT (by CNADLER at WMAVM1)
- Subject: Controlling OS/2 & Workplace Shell from REXX
- Ref: Append at 00:17:12 on 92/08/11 GMT (by IL59746 at OS2CUST)
-
- What you want for host control is the RXHLLAPI.DOC that is in your
- \CMLIB directory after you REINST Extended Services with the API
- header functions. The full EHLLAPI reference is available as a
- separate publication fo rfull details on that interface (the RXHLLAPI
- file just taks about the REXX-EHLLAPI interface).
-
- Cliff Nadler GO TEAM OS/2!
- Systems Integration and Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 16:48:07 on 92/08/13 GMT (by XXROYT05 at TORVMCOP)
- Subject: Multi-threaded operation
-
- I have written several routines which download files from the host
- and then update DBM. In an effort to reduce the overall time req'd,
- I would like to begin downloading the next file while DBM is being
- updated by the previous file. In this fashion, very little time will
- be waisted waiting for one process to finish before the next one
- begins. Is this possible with REXX? If so, can anyone provide sample
- code which I could use as a reference? Many thanks...
-
- Ralf Mibus - Royal Trustco - Toronto, Canada (416)981-4067
-
- ----- OS2REXX CFORUM appended at 17:27:08 on 92/08/13 GMT (by GBFORNEY at WASVMIC5)
- Subject: Multi-threaded operation
- Ref: Append at 16:48:07 on 92/08/13 GMT (by XXROYT05 at TORVMCOP)
-
- Quick and dirty: You should separate the download and update
- code. Each update can be STARTed from the download program at
- the appropriate time:
-
- /* Example DownLoad Prgm */
- Call DownLoad('data_1')
- "START C:\MYDBAPPS\MYUPDATE.CMD data_1"
- Call Download('data_2')
- etc........
-
- Greg Forney bigred@vnet.ibm.com
-
- ----- OS2REXX CFORUM appended at 20:24:10 on 92/08/13 GMT (by SAMI3QU at OS2CUST)
- Subject: REXX futures
-
- Rick McGuire,
-
- I saw the REXX FTN today and have a couple of questions.
-
- 1) In your presentation you said it would be a couple of years before all the
- PM, object-oriented, WYSIWYG stuff became available. Will individual
- enhancements be made available when they are complete, or will we have to
- wait for the entire package? Can you release some sort of schedule for
- these enhancements?
-
- 2) REXX under OS/2 seems to be deviating from it's VM and MVS counterparts.
- I know of at least one function (INDEX) that is not implemented in OS/2
- REXX. I know we have the POS function, but this is still a discrepency.
- We also have the various I/O functions (LINEIN, LINEOUT, etc.) that are
- implemented as built-in functions instead of operating-system extensions.
- What direction is REXX taking in terms of consistency between the various
- implementations? I know that the differences in the OS's dictate what can
- or can't be done to a large degree, but I would think that the concept of
- a common REXX base with operating-system extensions (for I/O and such)
- presents a more consistent look and feel.
-
- Thanks for any info.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 21:25:50 on 92/08/13 GMT (by IL22868 at OS2CUST)
- ..... OS2REXX CFORUM modified at 21:38:56 on 92/08/13 GMT (by IL22868 at OS2CUST)
- Subject: Multi-threaded operation
- This APPEND was deleted at 17:38:55 on 08/13/92 EST.
-
- ----- OS2REXX CFORUM appended at 00:11:19 on 92/08/14 GMT (by UDSS013 at OS2CUST)
- Subject: Controlling OS/2 & Workplace Shell from REXX
-
- | (receive) them to the PC. It is my understanding that REXX can |
- | control any part of OS/2 and any program running under it. I would |
- | need some material that shows how. Also I would need some references |
-
- I have written a program that uses HLLAPI from REXX to login to this OS2BBS
- and download either all of the notes or the just the new notes and place
- them in a file on the OS/2 workstation. Feel free to use this as sample
- code for your application. The file can be retrieved on the Hilbert
- Computing BBS at (913) 829-2450 -- 9600 bps 8N1. If you have any questions,
- you can leave them to Gary Murphy on that board and I will answer them. The
- file is called OS2BBS.ZIP.
-
- Others who wish to download and use this (unsupported) code, feel free.
-
- Gary "This was composed with an offline reader/writer" Murphy
-
- (Apologies to Wayne Holmes)
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 00:14:55 on 92/08/14 GMT (by GPRICHAR at LSAVMIC1)
- Subject: Multi-threaded operation
- Ref: Append at 16:48:07 on 92/08/13 GMT (by XXROYT05 at TORVMCOP)
-
- I've written routines that 'overlap' upload (in my case) with a PC-
- based extract. File 1 is extracted then uploaded while file 2 is being
- extracted, etc.I have three REXX procedures, SCHEDULR, CONVERT, &
- UPLOAD. SCHEDULR has two important associated arrays for filename and
- file status. Each of the elements is initialized as follows:
-
- filename.1='c:\path\file.one'
- filename.2='c:\path\file.two' ... up to filename.10 in my case.
-
- fstatus.='!CNV' /* so all elememnts have this value */
-
- Code meanings: !CNV -> not converted yet
- CCCC -> being converted
- CNVD -> converted
- UUUU -> uploading
- UPLD -> uploaded, done!
-
- Other variables:
-
- CONVERTING='NONE'
- UPLOADING='NONE'
- UPLD_CNT=0
-
- Procedure outline:
-
- RC=REXXQUE('create','SCHEDQ')
- RC=REXXQUE('set', 'SCHEDQ')
- Do until UPLD_CNT=10
- if CONVERTING='NONE' | UPLOADING='NONE' then /*ready for some work */
- rc=CHECK_STATUS()
- rc=print_status()
- msg=LINEIN('QUEUE:')/* SCHEDULR will wait here for Q input */
- say 'Q msg received: ' msg
- parse var msg newstatus fileno
- if newstatus='UPLD' then
- do
- upld_cnt=upld_cnt+1
- uploading='NONE'
- fstatus.fileno=newstatus
- end
- else
- if newstatus='CNVD' then
- do
- converting='NONE'
- fstatus.fileno=newstatus
- end
- end
- rc=REXXQUEUE('Delete','SCHEDQ')
- exit 0
-
- CHECK_STATUS:
-
- do fi = 1 to 10
- if fstatus.fi = '!CNV' then /* file needs converting? */
- DO /* yes! */
- if converting='NONE' then /* CONVERT.CMD active? */
- do /* No! */
- 'start /FS /B /C /MIN convert.cmd parms'
- fstatus.fi='CCCC'
- converting=fstatus.fi
- if uploading <> 'NONE' then /* UPLOAD.CMD active? */
- leave /* yes, check queue */
- end/* no, check next file */
- end
- else
- if fstatus.fi = 'CNVD' then
- DO
- if uploading='NONE' then
- do
- 'start /FS /B /C /MIN upload.cmd parms'
- uploading=filename.fi
- fstatus.fi='UUUU'
- if converting <> 'NONE' then
- leave
- end
- end
- end
- return 0
-
- PRINT_STATUS:
-
- /* whatever format you want - I show each filenames and status */
- /* as well as CONVERTING and UPLOADING */
- return 0
-
- The procs UPLOAD.CMD & CONVERT.CMD have the following structure:
-
- arg file fileno ...... /* whatever info you need from SCHEDULR */
-
- /*
-
- DO YOUR PROCESSING HERE
-
- */
-
- rc=REXXQUEUE('set','SCHEDQ')
- queue 'xxxx' fileno /* xxxx='UPLD' for UPLOAD.CMD */
- /* 'CNVD' for CONVERT.CMD */
- exit 0
-
- I open a 3270 window and an OS/2 window with very small font set in
- each, exec SCHEDULR and bring up WINDOW LIST. I can then monitor
- the sessions as they get created and watch the PRINT_STATUS output.
- Note that in the OS/2 START command, you can specify a string to
- use as the name of the session. It's easy to supply the filename
- you are passing to the STARTed CMD so that WINDOW LIST will display
- the names of the files being processed.
-
- for example:
-
- filename=parts.dat
- 'start "Uploading' filename '" /FS /B /C /MIN UPLOAD.CMD' parms
-
- The WINDOW LIST and the minimized OS/2 session ICON title will
- display Uploading parts.dat
-
- SCHEDULR will simultaneously convert 1 file & upload 1 file as long
- as a file is ready for each operation. Since uploading takes longer
- than converting, in my case, I have a subroutine which sorts the file
- names before starting based on their size, smallest to largest. This
- way, UPLOAD never waits on CONVERT, except for the 1st file.
-
- I'm sure you can adapt the above for your use. I also sure that there's
- many other ways to do it. I'd be interested to suggestions for
- improvement. This is my first in-depth use of REXX and it has become
- my favorite language to code in. Good luck!
-
- Gary Richardi
- IBM Development & Integration Services, Los Angeles
-
- ----- OS2REXX CFORUM appended at 12:02:27 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
- Subject: REXX futures
- Ref: Append at 20:24:10 on 92/08/13 GMT (by SAMI3QU at OS2CUST)
-
- 1) To really meet the goals of an object oriented Rexx, the entire package
- is needed. The biggest requirement we need to satisfy right is the need for
- a "Visual Rexx" type of product. I'm not able to talk about schedules yet,
- other than just the "general timeframe" type of statements I made in the
- FTN.
-
- 2) The Rexx language is currently under the control of an SAA Architecture
- board that determines what the definition of Rexx is and what features are
- part of the common implementations. The starting point for the SAA defintion
- is the Mike Cowlishaw book, "The REXX Language". This is Mike's formalization
- of the Rexx language that appeared after the first implementation was
- available on CMS. When Mike wrote this book, he applied some 20-20 hindsight
- to what had been implemented on CMS and determined that some features really
- did not belong as part of a formalized Rexx language definition. Some
- features were redundant (such as INDEX()), not extensible (such as Parse
- Numeric), or difficult to rigorously define in a way that was truely useful
- (JUSTIFY() is an example of this). These features are considered CMS
- "extensions" to the REXX language.
-
- "The REXX Language" also included some features that hadn't been implemented
- on any platforms yet. The most notable new feature was a set of native I/O
- functions (linein(), lineout(), and others). The OS/2 implementation was the
- first IBM REXX interpreter to support these, and these functions will also
- be added to the other REXX interpreters in the future.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 12:44:45 on 92/08/14 GMT (by PERSHNG at YKTVMH)
- Subject: REXX futures
- Ref: Append at 20:24:10 on 92/08/13 GMT (by SAMI3QU at OS2CUST)
-
- Note that the "official" (SAA) REXX language definition is "Systems
- Application Architecture, Common Programming Interface: Procedures
- Language Level 2 Reference", SC24-5549. I believe that, for better or
- worse, the OS/2 variant of REXX follows this definition almost to the
- letter, whereas the CMS implementation contains a number of useful
- "extensions" that are not in the SAA definition.
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 13:22:47 on 92/08/14 GMT (by IL10966 at OS2CUST)
- Subject: FTN Samples
-
- Rick,
-
- Yesterday's FTN was great! I was wondering if you could post your
- ObjectVision .OVD file and the REXX code it used here or on CompuServe.
- It looks like a good quick example I could share with others.
-
- Kevin L. Herstad, Fort Wayne Community Schools
-
- ----- OS2REXX CFORUM appended at 14:02:53 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
- Subject: FTN Samples
- Ref: Append at 13:22:47 on 92/08/14 GMT (by IL10966 at OS2CUST)
-
- No problem. I've had a number of requests for this already, so I'll put it
- both here and on CompuServe.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 15:18:10 on 92/08/14 GMT (by SAMI3QU at OS2CUST)
- Subject: REXX futures
- Ref: Append at 12:02:27 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
-
- Rick,
-
- Thanks for the information. I wasn't aware of the particulars as far as
- the various implementations are concerned. I've been writing REXX code on
- VM and MVS a lot longer than OS/2 and have the tendency to think of the VM
- implementation as the "standard". It will be a great day when we don't need
- EXECIO anymore!
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 17:43:59 on 92/08/14 GMT (by IL19543 at OS2CUST)
- Subject: REXX futures
- Ref: Append at 12:02:27 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
-
- Rick, or someone,
- I enjoyed you REXX FTN the other day. I have one question -when, or will,
- REXX be ported to AIX?
- Thanks,
-
- Mike Long - CARD Iowa State University - PC/LAN Analyst
-
- ----- OS2REXX CFORUM appended at 18:01:30 on 92/08/14 GMT (by SRPIE05 at OS2CUST)
- Subject: Communication between REXX programs on separate workstations
-
- Does anyone know of a way to communicate between 2 REXX programs running
- on separate machines on a TR network? We currently just have the separate
- machines monitor a file on a server. It would be nice to perform this
- communication via a named pipe or a shared queue. Can we do this with REXX?
-
- Thanks.
-
- Thane Smith - Salt River Project
-
- ----- OS2REXX CFORUM appended at 18:09:44 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
- Subject: REXX futures
- Ref: Append at 17:43:59 on 92/08/14 GMT (by IL19543 at OS2CUST)
-
- We currently don't have any plans in place to make it available on AIX,
- although the port from OS/2 to AIX would not be particularly difficult to
- do. I'm not saying we won't ever do it, but currently we don't have any
- thing "in plan" for AIX.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 18:14:07 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
- Subject: Communication between REXX programs on separate workstations
- Ref: Append at 18:01:30 on 92/08/14 GMT (by SRPIE05 at OS2CUST)
-
- A named pipe could be used, but Rexx can only access a named pipe on the
- client end currently (i.e., is unable to do the create and connect operations),
- you may need to have an intermediate server that the two Rexx programs can
- connect to.
-
- Another alternative is the Rexx CPICOMM communications interface. This is
- part of Communications Manager in Extended Services or can also be obtained
- as part of the Network Services/2 product (for 1.3 systems). This provides
- the SAA Communications API, and can even talk to Rexx programs on VM, MVS
- and OS/400 systems, since they all support the same CPICOMM interface.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 19:22:09 on 92/08/14 GMT (by SRPIE05 at OS2CUST)
- Subject: Communication between REXX programs on separate workstations
- Ref: Append at 18:14:07 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
-
- The CPICOMM function sounds like exactly what I need. I can't seem to find
- any mention of it in any documentation I have (REXX or ES). Is there a
- special manual that explains the use of this and/or how to use it with REXX?
-
- Thanks.
-
- Thane Smith - Salt River Project
-
- ----- OS2REXX CFORUM appended at 20:04:34 on 92/08/14 GMT (by MCGUIRE at GDLVM7)
- Subject: Communication between REXX programs on separate workstations
- Ref: Append at 19:22:09 on 92/08/14 GMT (by SRPIE05 at OS2CUST)
-
- Several hundred pounds of manuals in my office, and I never seem to have the
- one I need <G>. I did find a section on the OS/2 Rexx interface in the
- SAA CPI Communcations Reference that describes how to access the Rexx support
- (manual number SC26-4399-03). This manual includes references to
- the NS/2 manuals, and I believe that there are equivalents for
- Extended Services/2 also. The current level of the SAA reference is
- SC26-4399-05.
-
- I just took a peek over in the Communications Manager forum, and there is a
- CM Sample Programs Diskette available that contains documentation and
- sample code for using the CPICREXX support. The order number is S04G-1031.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 00:08:49 on 92/08/17 GMT (by UDSS013 at OS2CUST)
- Subject: REXX futures
-
- | I enjoyed you REXX FTN the other day. I have one question -when, or will |
- | REXX be ported to AIX? |
-
- I second the motion. The ksh script language is not what I have in mind
- when I think of a modern scripting language. A lot of times, I will write
- the REXX code under OS/2 and process AIX data on an NFS-mounted drive, just
- so I can get the work out. I would LOVE to have a native REXX port for AIX.
-
- Rumor has it that there is an IBM internal version of REXX for AIX. If so,
- I would encourage you to release it, even as an added cost program product.
- If there isn't one available, I would think that the 32-bit REXX for OS/2
- should be a straightforward port.
-
- Gary "An ISU Alum" Murphy
-
- Again, apologies to Wayne Holmes.
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 16:39:35 on 92/08/17 GMT (by NAAO3IY at OS2CUST)
- Subject: REXX -- today's date only???
-
- Am I missing something, or has Mr. Cowlishaw committed the folly
- of including support for approximately twelvety-'leven date formats
- in REXX and then quite spoilt the effect by making them accessible
- only to obtain today's date?
-
- If so, it's no big problem for me -- I have routines in REXX that
- convert back and forth between dates in the Gregorian or Julian
- Calendars and Julian Dates, but it seems so _silly_ to have all the
- necessary code for date arithmetic already in any REXX
- implementation, but unaccessible to the REXX programmer. It is a minor
- annoyance, too, that amoung all the date formats included, the Julian
- Date (which, after all, has been the standard for centuries) is not one.
-
- By the way, for those of you who don't know, the Julian Calendar
- and the Julian Date have nothing in particular to do with one
- another; they were just, by an unfortunate historical coincidence,
- both named at roughly the same time after two different men named
- "Julius". Also, the Julian Date is not yy.ddd (as if things weren't
- confused enough before some addlepate decided to muddy the waters by
- introducing this ringer); rather, the Julian Date is the number of
- days elapsed since January 1, 4713 BC (Julian Calendar).
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 17:08:12 on 92/08/17 GMT (by WOAN at AUSVM6) -
- Subject: REXX futures
- Ref: Append at 00:08:49 on 92/08/17 GMT (by UDSS013 at OS2CUST)
-
- I assume that people realize that a third party REXX product
- which is generally the standard for REXX on UNIX workstations
- is available from the Workstation Group for AIX?
-
- No flame wars, but if you haven't already, you might look at
- PERL, TCL, PYTHON, or any of a host of other freely available
- languages available for AIX/UNIX. That way you can trade
- scripts with you other UNIX colleagues around the world and
- take advantage of such things as X/Motif interfaces,
- direct access to a variety of third party database products,
- and tons of freely available code.
-
- Ron, WOAN AT AUSTIN
-
- ----- OS2REXX CFORUM appended at 05:00:34 on 92/08/18 GMT (by JL07784 at YMTVM8)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 14:40:43 on 92/08/10 GMT (by MRTOM at YKTVMV)
-
- Thank you Tom,
- But I think REXXUTIL is not included in the OS/2 REXX package.
- RXUTILS is very useful, but it will be run in IBM internal.
- This program will be run in the customer, so they must not have
- REXXUTILS. I assume that our customers install REXX.
- And I don't want to write any special program to check the drive
- status. Do you have other good idea ?
- Thank you.
-
- M. Yamamoto
-
- ----- OS2REXX CFORUM appended at 12:57:11 on 92/08/18 GMT (by PERSHNG at YKTVMH)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 05:00:34 on 92/08/18 GMT (by JL07784 at YMTVM8)
-
- No -- REXXUTIL *is* included with OS/2 2.0 (or, at least, a very large
- subset of the IUO package). Of course, if you are developing something
- for a customer, then you need to test it against the PID version of
- REXXUTIL.
-
- On an OS/2 2.0 system, go to the "Information" folder, open the "REXX
- Information" book, and look in the TOC for "REXXUTIL".
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 13:03:32 on 92/08/18 GMT (by IL10966 at OS2CUST)
- ..... OS2REXX CFORUM modified at 00:22:05 on 92/08/21 GMT (by IL10966 at OS2CUST)
- Subject: FTN Samples
- This APPEND was deleted at 20:22:04 on 08/20/92 EST.
-
- ----- OS2REXX CFORUM appended at 14:50:41 on 92/08/18 GMT (by HQ4NMAH at OS2CUST)
- Subject: Concatenating strings in REXX
-
- I need to concatenate 2 strings together to come up with a file name. The
- user will supply the first 8 characters of the file name and I will supply
- the last 3 characters which will always be constant. Is there a STRCAT or
- some kind of concat function??
-
- mark Hixson
-
- ----- OS2REXX CFORUM appended at 14:55:41 on 92/08/18 GMT (by VERSTEEG at UITVM1)
- Subject: Concatenating strings in REXX
- Ref: Append at 14:50:41 on 92/08/18 GMT (by HQ4NMAH at OS2CUST)
-
- Try this:
- /* assuming userinput contains the input from the user already */
- filename=userinput'.EXT'
- or
- filename=userinput||'.EXT'
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** 1,000,000 OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 01:06:15 on 92/08/19 GMT (by JL07784 at YMTVM8)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 12:57:11 on 92/08/18 GMT (by PERSHNG at YKTVMH)
-
- Thank you for your append. I'm sorry for my insufficient append.
- I know REXXUTIL is included with OS/2 2.0, but is *NOT* included
- with OS/2 1.3. My program must run both operating system.
- So I cannot use REXXUTIL such like SysDriveInfo() functions.
- Does standard REXX-OS/2 have such function ?
- Thank you.
-
- M. Yamamoto
-
- ----- OS2REXX CFORUM appended at 01:12:29 on 92/08/19 GMT (by BABKA at GDLVM7)
- Subject: Concatenating strings in REXX
- Ref: Append at 14:50:41 on 92/08/18 GMT (by HQ4NMAH at OS2CUST)
-
- Oh, how we love straight men! <G> This is one of the things REXX is
- made for! To concatenate two strings, just put them together. Now,
- before you accuse me of restating the obvious, let me give you an
- example
-
- If the variable 'filename' has the file name your user provided, and you
- want to add '.ABC' to the end of it, just write:
-
- (1) new_filename = filename'.ABC'
-
- or, you can use the explicit concatenation operator, ||, like this:
-
- (2) new_filename = filename || '.ABC'
-
- Obviously, if you had another variable instead of '.ABC', you'd need to
- use the second form (e.g. filename || ext). Otherwise, REXX would see
- filenameext as one variable name. Just for completeness, if you want to
- put two strings together with a blank in between, you have several
- choices:
-
- (3) new_string = string1 string2
- (4) new_string = string1' 'string 2
- (5) new_string = string1' ' || string2
- etc., etc.,...
-
- So, for direct concatenation, use either direct abuttal (1) or the ||
- operator (2). For concatenation with a blank, use the blank operator
- (3).
-
- Jim Babka
-
- ----- OS2REXX CFORUM appended at 03:26:04 on 92/08/19 GMT (by IL26761 at HONE84)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 05:00:34 on 92/08/18 GMT (by JL07784 at YMTVM8)
-
- REXXUTIL is included with the OS/2 system I believe.
-
- Jack Hiatt Marc Life Atlanta Ga.
-
- ----- OS2REXX CFORUM appended at 12:59:31 on 92/08/19 GMT (by PERSHNG at YKTVMH)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 01:06:15 on 92/08/19 GMT (by JL07784 at YMTVM8)
-
- No, the "standard" REXX that comes with 1.3 does not have those functions.
-
- I don't know enough about OS/2 to suggest a work-around. Perhaps you
- should try asking in one of the other OS/2 forums, making it clear that
- (1) it has to work on 1.3 and (2) IUO software is not an option.
-
- (Unless you can swing some sort of deal to "sell" a copy of the 2.0 version
- of REXXUTIL to your 1.3 customer -- it probably works under 1.3...)
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 18:07:09 on 92/08/19 GMT (by GBFORNEY at WASVMIC5)
- Subject: How to check the Diskette drive status, ready or not ready ?
- Ref: Append at 12:59:31 on 92/08/19 GMT (by PERSHNG at YKTVMH)
-
- REXXUTIL is 32 bit and will *not* work under 1.3.
-
- Greg Forney bigred@vnet.ibm.com
-
- ----- OS2REXX CFORUM appended at 23:51:51 on 92/08/19 GMT (by SDETWEIL at DETVMIC4)
- ..... OS2REXX CFORUM modified at 23:06:44 on 92/08/20 GMT (by SDETWEIL at DETVMIC4)
- Subject: Concatenating strings in REXX
- Ref: Append at 01:12:29 on 92/08/19 GMT (by BABKA at GDLVM7)
-
- I agree with everything Jim said, with one additional
- note.
-
- For future readability and maintenance, PLEASE, PLEASE, PLEASE
- do NOT use the direct abuttal technique when using literals.
-
- a = 'something'test
- a = something'test'
- This will burn someone later
-
- Use the abuttal operator
-
- a = 'something' || test
- a = something || 'test'
-
- This makes your intent clear and avoids this pitfall...
-
- Sam
-
- ----- OS2REXX CFORUM appended at 00:09:02 on 92/08/21 GMT (by UDSS013 at OS2CUST)
- Subject: Concatenating strings in REXX
-
- | For future readability and maintenance, PLEASE, PLEASE, PLEASE |
- | do NOT use the direct abuttal technique when using literals. |
-
- I do that ALL THE TIME. I consider that one of the neat semantics of REXX.
- Sure, it took a little while to get used to looking at the code, but I like
- it sooooo......
-
- PLEASE, PLEASE, PLEASE don't change the language definition to make this
- illegal!
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 01:41:22 on 92/08/21 GMT (by SDETWEIL at DETVMIC4)
- Subject: Concatenating strings in REXX
- Ref: Append at 00:09:02 on 92/08/21 GMT (by UDSS013 at OS2CUST)
-
- The language won't change, so there's no problem there..
-
- Just remember later when someone hands you 2-5k lines of rexx
- code why it is so hard to debug...
-
- (ps. I wrote the prototype of the OS/2 rexx interpreter so
- I do occasionally know something about rexx)
-
- Sam
-
- ----- OS2REXX CFORUM appended at 12:41:26 on 92/08/21 GMT (by MRTOM at YKTVMV)
- Subject: Concatenating strings in REXX
- Ref: Append at 01:41:22 on 92/08/21 GMT (by SDETWEIL at DETVMIC4)
-
- It all depends on what you're used to. I don't use || unless it's
- needed, so when I look at someone else's code where it's used and not
- needed, it's distracting. If I've inherited that code, I usually
- pull the unnecessary ||s out.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 13:47:57 on 92/08/21 GMT (by VERSTEEG at UITVM1)
- Subject: Concatenating strings in REXX
- Ref: Append at 12:41:26 on 92/08/21 GMT (by MRTOM at YKTVMV)
-
- I agree. Take the following sample.
-
- /* */
- a='ABC'
- z='XYZ'
- aa = a'-'z
-
- I prefer this over:
-
- az = a||'-'||z
-
- It's shorter and more readable IMHO.
- Only when you want to concatenate a and z you would need:
- az = a||z
-
- Anton Versteeg - ESAT PWS CoC Uithoorn, NL *** 1,000,000 OS/2 2.0 ***
-
- ----- OS2REXX CFORUM appended at 13:58:21 on 92/08/21 GMT (by SDETWEIL at DETVMIC4)
- Subject: Concatenating strings in REXX
- Ref: Append at 13:47:57 on 92/08/21 GMT (by VERSTEEG at UITVM1)
-
- Well, as one can see this is a matter of style...
-
- Each opinion is correct..oh well
-
- Sam, I hate az = a'-'z'+'b'*'c'/'d
-
- ----- OS2REXX CFORUM appended at 15:11:11 on 92/08/21 GMT (by RSBAKER at ATLVM1)
- Subject: Concatenating strings in REXX
- Ref: Append at 13:47:57 on 92/08/21 GMT (by VERSTEEG at UITVM1)
-
- > I prefer this over:
- >
- > az = a||'-'||z
-
- Yes, but we whitespace fanatics would write this as:
-
- az = a || '-' || z
-
- This looks clearer to me, but then it is largely a matter of taste.
-
- Randy Baker
-
- ----- OS2REXX CFORUM appended at 15:18:06 on 92/08/21 GMT (by SAMI3QU at OS2CUST)
- Subject: Minor problem with SysSetObjectData
-
- I'm using the SysSetObjectData function to start some programs and have
- encountered a minor problem (at least I think it's a problem). I have a
- Program Reference that runs a DOS application in a window. I used the
- SysSetObjectData function to set the MAXIMIZED=YES attribute so the app will
- start in a maxmimized window. This works just fine when I double-click on
- the icon. However, if I start the app using SysSetObjectData with a setup
- string of "OPEN=DEFAULT", the PR loses the MAXIMIZED=YES attribute (not just
- on that invocation, but permanently). This is not a major problem and can be
- easily circumvented by changing the setup to "OPEN=DEFAULT;MAXIMIZED=YES", but
- I'm concerned that other settings may be lost that I just haven't noticed yet.
- Thanks in advance for any help or info.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 15:29:22 on 92/08/21 GMT (by NBLKCY0 at OS2CUST)
- Subject: Using SysCreateObject to set DOS_VERSION
-
- I am trying to create a program object for 123 3.1+ and need to specify
- multiple programs in the DOS_VERSION setting. All attempts have resulted
- in only the first DOS_VERSION setting being recognized.
-
- Can anyone provide an example of how I can set this up?
-
- I need to set 123.exe,3,40,255 and 123dos.exe,3,40,255 in a single
- SysCreateObject command.
-
- John Wilson - Citizens Fidelity Bank
-
- ----- OS2REXX CFORUM appended at 15:54:59 on 92/08/21 GMT (by XXCDSX26 at TORVMCOP)
- Subject: Using SysCreateObject to set DOS_VERSION
- Ref: Append at 15:29:22 on 92/08/21 GMT (by NBLKCY0 at OS2CUST)
-
- John:
-
- I believe you can specify the DOS_VERSION as "123*.EXE,3,40,255" (or
- *.*,3,40,255 if you really wanted to).
-
- Michael Harper - Cdn Depository for Securities, Ltd
-
- ----- OS2REXX CFORUM appended at 17:13:26 on 92/08/21 GMT (by NAAO3IY at OS2CUST)
- Subject: Concatenating strings in REXX
- Ref: Append at 15:11:11 on 92/08/21 GMT (by RSBAKER at ATLVM1)
-
- I tend to split the difference. I use || in REXX statements, but direct
- abuttment in commands:
-
- A = B || ' ';
-
- but
-
- "COPY "name".C "name".BAK";
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 17:13:40 on 92/08/21 GMT (by NAAO3IY at OS2CUST)
- Subject: Concatenating strings in REXX
- Ref: Append at 15:11:11 on 92/08/21 GMT (by RSBAKER at ATLVM1)
-
- (no text entered)
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 17:15:33 on 92/08/21 GMT (by CONT00 at LEXVMK)
- Subject: Using SysCreateObject to set DOS_VERSION
- Ref: Append at 15:29:22 on 92/08/21 GMT (by NBLKCY0 at OS2CUST)
-
- Try to separate the entries for DOS_VERSION with '0A'x (line-feed)...
-
- Gregory Czaja, Lexington 8-545-3311 1992/08/21 13:14
-
- ----- OS2REXX CFORUM appended at 20:03:42 on 92/08/27 GMT (by XXMUTL27 at TORVMCOP)
- Subject: GetEA and extended attributes
- Ref: Append at 17:13:15 on 92/07/24 GMT (by XXMUTL27 at TORVMCOP)
-
- GetEA will allow me to get the value of an extended attribute from
- a file if I know the name of the the attribute. Is there a way (from
- within a REXX program) that I can determine what extended attributes
- (if any) are associated with a given file?
-
- Any help would be appreciated. Thanks in advance
-
- ---------------------------------------------------------------------
-
- About a month ago I asked the following question. Unfortunately
- (for me anyways), I've had no response. Even a reply of "no, can't
- be done" would be better than nothing.
-
- Again, thanks for any help.
-
- Erik Vander Ahe
- The Mutual Group
- Waterloo, Ontario
-
- ----- OS2REXX CFORUM appended at 11:20:32 on 92/08/28 GMT (by MCGUIRE at GDLVM7)
- Subject: GetEA and extended attributes
- Ref: Append at 20:03:42 on 92/08/27 GMT (by XXMUTL27 at TORVMCOP)
-
- No, it can't be done currently, although a REXXUTIL function to return the
- list is a candidate for a future release.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 13:10:27 on 92/08/28 GMT (by XXMUTL27 at TORVMCOP)
- Subject: GetEA and extended attributes
- Ref: Append at 11:20:32 on 92/08/28 GMT (by MCGUIRE at GDLVM7)
-
- Thanks for your reply Rick. I thought that that's what the reply
- would be, but I wanted to make sure. It is disappointing though. Can
- you give some kind of time frame as to when such a function might be
- available?
-
- Thanks
-
- Erik Vander Ahe
- The Mutual Group
- Waterloo, Ontario
-
- ----- OS2REXX CFORUM appended at 13:39:59 on 92/08/28 GMT (by MCGUIRE at GDLVM7)
- Subject: GetEA and extended attributes
- Ref: Append at 13:10:27 on 92/08/28 GMT (by XXMUTL27 at TORVMCOP)
-
- Can't really give you a time frame yet, since I'm not really sure myself!
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 19:27:45 on 92/08/28 GMT (by IL12431 at OS2CUST)
- Subject: Evaluating contention performance
-
- Please refer to my append with this same header in the Database Manager forum.
- I'm looking for an API, preferably REXX, that permits me to get the sum and
- average of record/table lock contentions managed by the DBM.
-
- Dave Scheffer
-
- ----- OS2REXX CFORUM appended at 20:09:45 on 92/08/30 GMT (by PMUELLR at CARVM3)
- Subject: GetEA and extended attributes
- Ref: Append at 13:10:27 on 92/08/28 GMT (by XXMUTL27 at TORVMCOP)
-
- You could do call EAUTIL to 'split and preserve' (I believe /S /R /P)
- and then read through the EA file yourself. Kludgey and slower than
- an external rexx function to enumerate the EAs, but do-able.
-
- Patrick Mueller - IBM Cary
-
- ----- OS2REXX CFORUM appended at 10:42:25 on 92/08/31 GMT (by 83829325 at VALVM1)
- Subject: rex0043 and sqldbs
-
- I need to use REXX to define a collating sequence to DBM, but whenever
- I write 'call SQLDBS 'CREATE DATABASE XXXX'" I receive a rex0043 error
- saying that they can't find the routine. I have seen than I have
- sqlar.dll in sqllib\dll, and I have also the path OK, and I call
- rxfuncadd('sqldbs','sqlar','sqldbs) in my program just before sayin the
- 'call sqldbs...'
-
- What on earth am I doing wrong???
-
- ----- OS2REXX CFORUM appended at 12:31:23 on 92/08/31 GMT (by CNADLER at WMAVM1)
- Subject: rex0043 and sqldbs
- Ref: Append at 10:42:25 on 92/08/31 GMT (by 83829325 at VALVM1)
-
- Did you check the return from the RxFuncAdd? It may have returned an
- error that you are not catching, and if so, will probably point to the
- real error.
-
- Cliff Nadler GO TEAM OS/2!
- Systems Integration and Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 16:17:28 on 92/08/31 GMT (by IL32772 at OS2CUST)
- Subject: Edit files via Rexx
-
- How can I update an line in a file with rexx? I have been able to
- read lines from files, config.sys for example, and write a line, but
- not replace the line read. I am attempting to use LINEIN and LINEOUT
- but am only able to reset the position to line 1, not line 10, for
- example. The intent is to be able to load code and directories to a
- system, update the config.sys when needed, and confirm the updates
- using one rexx command.
-
- Randy Cairns
-
- ----- OS2REXX CFORUM appended at 17:31:11 on 92/08/31 GMT (by NAAO3IY at OS2CUST)
- Subject: Edit files via Rexx
- Ref: Append at 16:17:28 on 92/08/31 GMT (by IL32772 at OS2CUST)
-
- You can't do what you want in REXX -- but you can't do it in any other
- language, either. Text files in OS/2 (and DOS, for that matter) are just
- glops of bytes with hex 0D0A between the "lines". The most you could do,
- therefore, would be to update individual characters, without changing the
- size of the lines.
-
- You can either suck the whole thing into memory and then write it all
- out again or else create a new file and copy your input file to it, with the
- changes you want, and then scratch the original and rename the new one to
- the old name.
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 18:46:11 on 92/08/31 GMT (by NIBMDAVD at RALVMS)
- Subject: file i/o and stems
-
- I'm am trying to perform updates on batches of files using rexx. But the
- linein/lineout functions seem to be incredibly slow.
-
- What I would like to do is write an external function which will perform
- all my file i/o in one fell swoop, either reading it from a file into a
- stem, or writing from a stem into a file. This is what I end up doing
- anyway...using linein/lineout and a DO loop.
- A similar function exists on the host with IOX. I've been really
- spoiled using that, but now I have to work on OS/2.
-
- - Does something like this already exist? Has anybody already written it?
-
- - Where do I go to find an example of an external function passing a
- stem variable?
-
- David Erickson, NIBMDAVD at RALVMS
-
- ----- OS2REXX CFORUM appended at 19:30:00 on 92/09/01 GMT (by NAAO3IY at OS2CUST)
- Subject: file i/o and stems
- Ref: Append at 18:46:11 on 92/08/31 GMT (by NIBMDAVD at RALVMS)
-
- The EXECIO function of CMS and TSO REXX is a kludge that got added on
- to the REXX processors because no provision had been made for I/O apart
- from PULL and SAY. It's not part of the language. LINEIN and LINEOUT
- (and STREAM and CHARIN and CHAROUT) are, and will be added to CMS and
- TSO REXX at the next major cycle, if they have not already been.
-
- LINEIN and LINEOUT don't seem particularly slow to me. I can copy over 100KB
- in about six seconds, which seems fast enough for anything I'd want to process
- without benefit of a real compiler in the first place....
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 17:19:55 on 92/09/02 GMT (by 86660551 at NHBVM4)
- Subject: file i/o and stems
- Ref: Append at 18:46:11 on 92/08/31 GMT (by NIBMDAVD at RALVMS)
- You could simulate the stack option of EXECIO by reading the
- entire file at once using charin then manipulating it in memory
- I am doing this from memory - the code may not be syntactically correct
- File=Charin(myfile,1,Chars(Myfile))/* read the whole thing in */
- Crlf='0D0A'x ; Outfile=''
- Do Forever
- If File ='' Then Leave /* End of file */
- Parse value File with inline (crlf) File /* gets the next line */
- Do what you want to do
- Outfile = Outfile Crlf Newline
- End
- Call Charout(newfile,1,Length(Outfile))
-
- I have not used the concatenation symbol - can't find it on my current
- terminal emulator
-
- Roy Millea
-
- ----- OS2REXX CFORUM appended at 19:48:31 on 92/09/02 GMT (by BTTUCKER at ATLVM1)
- Subject: Edit files via Rexx
- Ref: Append at 17:31:11 on 92/08/31 GMT (by NAAO3IY at OS2CUST)
-
- Here's a neat way to do what you want - I"ll show you how to read
- in a file and be able to operate on each line individually, and
- then we'll discuss how to add or delete lines...
-
- filename='F:\SUB\FILE.EXT'
-
- j=1
- do while lines(filename)<>0
- filein.j=linein(filename)
- j=j+1
- end /* do */
- filein.0=j
-
- Now you have a stemmed variable (array) of lines-o-text. You may
- now use a loop to go through these array elements looking for something,
- alter any text line, etc.
-
- The trick is in how you add/delete lines. While processing through
- the lines, write them out to another stemmed variable. (Iterate
- your counter...) Don't write the deletions, add in the additions.
- Then your desired output file is contained in the second array.
-
- Then you:
-
- out_file='F:\SUB\FILE.EXT'
- do j=1 to file_out.0
- rc=lineout(out_file,file_out.j)
- end /* do */
-
- Now you've done what you wanted... BT
-
- ----- OS2REXX CFORUM appended at 19:52:35 on 92/09/02 GMT (by BTTUCKER at ATLVM1)
- ..... OS2REXX CFORUM modified at 20:03:49 on 92/09/02 GMT (by BTTUCKER at ATLVM1)
- Subject: file i/o and stems
- Ref: Append at 18:46:11 on 92/08/31 GMT (by NIBMDAVD at RALVMS)
-
- |The charin function can read it in one swell foop, but you are
- the stuck with writing your own code to manipulate the large
- stringy object you get... BT
-
- | sorry, wrong function...
-
- ----- OS2REXX CFORUM appended at 20:31:40 on 92/09/02 GMT (by UDSS013 at OS2CUST)
- Subject: Edit files via Rexx
-
- | How can I update an line in a file with rexx? I have been able to |
- | read lines from files, config.sys for example, and write a line, but |
-
- If the file is not too big (under 1000 lines), then I would read the entire
- contents of the file into a REXX stem variable. You can then manipulate
- the in-storage copy as you wish and write it back out.
-
- You may also want to check out the SysFileSearch routine in REXXUTIL to
- assist. I was thinking about some code to update CONFIG.SYS and was going
- to read it into a stem and use the SysFileSearch to find the line (e.g.
- LIBPATH=) that I was interested in. (OK. OK. I don't code for speed <G>).
-
- If you need some help with stem variables, etc., let me know and I will
- work up some sample code what I get back into the office (09/21).
-
- Gary Murphy
-
- ----- OS2REXX CFORUM appended at 13:17:26 on 92/09/04 GMT (by BTTUCKER at ATLVM1)
- Subject: Edit files via Rexx
- Ref: Append at 20:31:40 on 92/09/02 GMT (by UDSS013 at OS2CUST)
-
- Before you do anything, see:
- OS2REXX CFORUM appended at 19:48:31 on 92/09/02 GMT (by BTTUCKER at ATLVM1)
-
- BT
-
- ----- OS2REXX CFORUM appended at 17:42:52 on 92/09/04 GMT (by SHAKOOR at DALHQIC2)
- Subject: A beginners question.
-
- I have a client who created a dialog box using toolkit 2.0 dialog
- editor. He wants to know how to use/load this dialog box from within
- his REXX program.
-
- Does anyone have any sample code for something similar. Any ideas
- help or hints on what all is involved will be greatly appreciated.
-
- Thanks!
- Shahab Shakoor T/L 421-8032
-
- ----- OS2REXX CFORUM appended at 00:16:07 on 92/09/05 GMT (by AMBC006 at MARTLINK)
- Subject: REXX as an application driver for DTL
- Ref: Append at 12:23:56 on 92/06/11 GMT (by NAAD356 at OS2CUST)
-
- If you go to OS/2 Tools, chose OS/2 Documents, and select the APPCMVS option
- you'll get a selection list of programs for the MVS APPC. You will be
- interested in APPCMVS2 'DMINTER'. This set of samples has an example of a
- Rexx program that invokes the DTL stuff. The DTL compiler was on the 1.3
- Toolkit, but I have not seen it on the 'beta' 2.0 kit. There was a Red Book
- on the Dialog Manager and it also had an example. Being a VM/MVS type using
- the Dialog Tag Language is of interest to me. The DMINTER is the first
- working sample I have seen. - Good Luck.
-
- Michael Suszko, Jr (A. M. Best Co., Oldwick NJ)
-
- ----- OS2REXX CFORUM appended at 02:19:33 on 92/09/10 GMT (by RNICHOLS at SYDVM1)
- Subject: Installation Package
-
- I am currently working on a project that involves producing a
- cooperative processing application between a PS/2 running OS/2 V2.0
- and an AS/400.
-
- The PS/2 application will be required to be installed at a number of
- remote sites and as such I would like to write an installation
- package to do this.
-
- The package will primarily need to perform the following tasks:
- - Create directories
- - Copy files
- - Update CONFIG.SYS
- - Create workplace shell object for the application
- - Create database manager definitions
- - Create communications manager network definitions
-
- I would like to use REXX to write this package and am also prepared to
- use C if required. The package does not need to provide a GUI as a
- text interface is sufficient. It is also assumed that OS/2 V2.0 and
- Extended Services have been installed correctly.
-
- Does anyone have any experience in writing installation packages and if
- so would they be prepared to share the code as I would like to
- produce this package as quickly as possible.
-
- Information on how to interface with communications manager in
- particular would be greatly appreciated. Are there API's to install
- network definitions or do I interact directly with .CFG and .NDF files
- from my REXX program. If commuinications manager configuration proves
- to be too difficult then it will have to be done manually.
- Thanks in advance.
-
- Richard Nicholson SYDVM1(RNICHOLS)
-
- ----- OS2REXX CFORUM appended at 12:41:54 on 92/09/10 GMT (by CNADLER at WMAVM1)
- Subject: Installation Package
- Ref: Append at 02:19:33 on 92/09/10 GMT (by RNICHOLS at SYDVM1)
-
- ES 1.0 has a whole volume on programmable configuration using REXX.
- "Extended Services for OS/2: Programmable Configuration Reference",
- order number S04G-1003-00. You will also want to have the latest fixes
- for REXX (REXX20), and if you look back in this forum, you'll find an
- append by Mike Lamb in Kingston describing how to create workplace shell
- objects (it's a long append, but welll worth it).
-
- Cliff Nadler GO TEAM OS/2!
- Systems Integration and Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 13:01:17 on 92/09/10 GMT (by ETTRITCH at TOROLAB5)
- Subject: Registering External C functions
- Ref: None
-
- I am attempting to register and use some external C functions.
- The registration is successful, and when the functions are called
- from within a REXX program the interpreter does find the code.
- The only problem is that the arguments passed to the function contain
- nonsensical data (for example the Argc value is in the millions).
- Does anyone know what could be causing the problem? Do I need to
- set aside memory for these arguments? I can't help feeling I've
- missed a step somewhere, but I am following the documentation.
- The functions being registered are in an EXE file, and the interpreter
- is being started via RexxStart.
- Any advice/suggestions would be welcome.
-
- Sarah Ettritch
-
- ----- OS2REXX CFORUM appended at 13:09:43 on 92/09/10 GMT (by FCOC079 at OS2CUST)
- Subject: Registering External C functions
- Ref: Append at 13:01:17 on 92/09/10 GMT (by ETTRITCH at TOROLAB5)
-
- First, are your 'C' functions to be used as Rexx external functions? If so,
- your 'C' code must be compiled and linked as a DLL, the function entry points
- must be EXPORTed (in a .DEF file), and be sure to use the _System linkage type
- (most easily achieved by using the macro "RexxFunctionHandler"). For a good
- example of how to implement an external function in 'C', look at the sample
- 'C' code supplied in the 2.0 Toolkit under the Rexx samples directory
- "\toolkt20\rexx\samples\rexxutil".
-
- Or are these functions part of an EXE program which invokes interpreter via
- RexxStart and wants its functions available to invoked exec?
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 13:41:54 on 92/09/10 GMT (by SAMI3QU at OS2CUST)
- Subject: Starting applications in the foreground
-
- Using SysCreateObject or SysSetObjectData, is it possible to start an
- application in the foreground? Thanks.
-
- Mark Thompson - Coal Services Corp. St. Louis, MO
-
- ----- OS2REXX CFORUM appended at 14:03:01 on 92/09/10 GMT (by FCOC079 at OS2CUST)
- Subject: Rexx features
-
- I'm not sure if the owners of Rexx graze in this forum, but if so, I thought
- this would be an efficient way to get some (unsolicited) feedback to them.
-
- I've been using Rexx on OS/2 for about two years and have found it to be
- a great implementation of the language. In the course of using it, a couple
- of items have come to light as "deficiencies" in the implementation. They
- certainly aren't show stoppers, but to remedy them would increase the
- usability of Rexx in OS/2 even more.
-
- After having used MVS Rexx for a few years, it was great to see Rexx on OS/2.
- In fact, there are lots of nice features in OS/2 Rexx which would be nice to
- see on the other platforms (arbitrarily named queues, stream i/o, etc.). But
- after making extensive use of the Rexx stack service API in MVS (IRXSTK), I
- was really surprised to find no queue/stack api in OS/2. This limits the
- ability of Rexx and non-Rexx programs to communicate multiple data items to
- each other. Without API access to the queue, stems are about the only choice.
- But this is not an option if the non-Rexx program is not in the same process
- as the Rexx program. It's surprising to see such a powerful implementation
- of Rexx fall short on such a basic and usable feature.
- Also, as far as queue access via Rexx built-in functions is concerned, here
- are a few enhancements which would be of great use:
-
- 1) Have the "Queued()" function accept a queue name as an argument, therefore
- eliminating the need to use "RxQueue()" to set and reset the current queue.
- e.g. - "Say Queued('dataq')" would tell how many elements are on the queue
- called "data", "Say queued('session')" tells how many on the session
- queue, etc.
-
- 2) Have the "LineIn()" and "LineOut()" functions be able to arbitrarily
- address a specific Rexx queue (also eliminating the need to set and reset
- the current Rexx queue with "RxQueue()"). For example, to copy one queue to
- another:
-
- Do Queued('dataq1')
- e = LineIn('queue:dataq1')
- Call LineOut 'queue:dataq2', e
- Call LineOut 'queue:dataq1',e
- End
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 14:03:41 on 92/09/10 GMT (by CONT00 at LEXVMK)
- Subject: Starting applications in the foreground
- Ref: Append at 13:41:54 on 92/09/10 GMT (by SAMI3QU at OS2CUST)
-
- No - background only... It would steal the focus from the active window
- otherwise.
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/10 10:02
-
- ----- OS2REXX CFORUM appended at 15:08:38 on 92/09/10 GMT (by ETTRITCH at TOROLAB5)
- Subject: Registering External C functions
- Ref: Append at 13:09:43 on 92/09/10 GMT (by FCOC079 at OS2CUST)
-
- My 'C' functions are part of an EXE which invokes the interpreter
- using RexxStart and wants its functions available to the invoked
- exec. Is there anything special that I have to do? I will take
- a look at the toolkit samples.
-
- Sarah Ettritch
-
- ----- OS2REXX CFORUM appended at 16:00:05 on 92/09/10 GMT (by FCOC079 at OS2CUST)
- Subject: Registering External C functions
- Ref: Append at 15:08:38 on 92/09/10 GMT (by ETTRITCH at TOROLAB5)
-
- The 'C' functions should be declared with "_System" linkage. I know that
- Optlink (default in C-Set/2 I think) does give incorrect results (i.e. argc
- large number, etc.). If you use RexxFunctionHandler macro to declare function,
- this specifies "_System" linkage for you.
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 16:09:10 on 92/09/10 GMT (by ABLI001 at OS2CUST)
- Subject: Concatenating strings in REXX
- Ref: Append at 23:51:51 on 92/08/19 GMT (by SDETWEIL at DETVMIC4)
-
- Why are you worried that implied abuttal will pose future problems?
- It is part of SAA (see SC26-4358-3 page 11 and 19) and is in any textbook
- that you pick up in a public library. In fact you probably won't see any usage
- of || in textbooks.
-
- ->Rich
-
- ----- OS2REXX CFORUM appended at 19:28:42 on 92/09/10 GMT (by ETTRITCH at TOROLAB5)
- Subject: Registering External C functions
- Ref: Append at 16:00:05 on 92/09/10 GMT (by FCOC079 at OS2CUST)
-
- Dave, I used _system linkage and now everything works like a
- charm. Thanks for the help, you saved me a lot of time. I never
- would have known what the problem was if it hadn't been for you.
- Great service!
-
- Sarah Ettritch
-
- ----- OS2REXX CFORUM appended at 20:02:27 on 92/09/10 GMT (by IL71329 at OS2CUST)
- Subject: os/2 rexx date function
-
- Is there any known REXX date function routines that when given a value,
- it can tell you the day of week, day of year, compare 2 dates and return
- differential, etc.
-
- Becky Epping Country Companies Ins. Bloomington, IL
-
- ----- OS2REXX CFORUM appended at 17:37:39 on 92/09/11 GMT (by NAAO3IY at OS2CUST)
- Subject: os/2 rexx date function
- Ref: Append at 20:02:27 on 92/09/10 GMT (by IL71329 at OS2CUST)
-
- REXX has marvelous date support -- but for today's date only.
-
- Razzafrazzum!
-
- Howsomedever, here are algorithms to convert any date from 4713 B.C. through
- 19,999 A.D. to the Julian Date, a serial number of days since January 1,
- 4713 B.C. (Dates B.C. are input and output as minus numbers.) Either the
- Julian Calendar (no relation to the Julian date -- they were merely both named,
- by an unfortunately coincidence, after men named Julius) or the Gregorian
- Calendar can be used. Transition from the Julian Calendar to the Gregorian
- Calendar defaults to Julian Date 2299161, skipping from October 5, 1582 to
- October 15, but can be set to other dates, most commonly Julian Date 2361222,
- skipping from September 3, 1752 to September 14, as in England and the
- colonies. (If you are only dealing with current dates, you can ignore all this
- and just use the default.)
-
- /* Convert a date from YMD to Julian */
- Arg YMDY YMDM YMDD Trans;
- If Trans = '' then Trans = 2299161;
- AY = YMDY;
- If YMDY < 0 then Y = YMDY + 4717; Else Y = YMDY + 4716;
- If YMDM < 3 then do; M = YMDM + 12; Y = Y - 1; AY = AY - 1; End; Else M = YMDM;
- D = (1461 * Y) % 4 + (153 * (M + 1)) % 5 + YMDD - 1524;
- G = D + 2 - AY % 100 + AY % 400 - AY % 4000;
- If G >= Trans then Return G; Else Return D;
-
- /* Convert a date from Julian to YMD */
- Arg J Trans;
- If Trans = '' then Trans = 2299161;
- If J < Trans then
- A = J;
- Else do;
- AA = J - 1721120;
- AC = AA % 1460969; AB = 31 * AC; AA = AA - AC * 1460969;
- AC = AA % 146097; AB = AB + 3 * AC; AA = AA - AC * 146097;
- If AA = 146096 then AB = AB + 3; Else AB = AB + AA % 36524;
- A = J + (AB - 2);
- End;
- B = A + 1524; C = (20 * B - 2442) % 7305; D = 1461 * C % 4;
- EE = B - D; E = 10000 * EE % 306001;
- YMDD = EE - 306001 * E % 10000;
- If E >= 14 then YMDM = E - 13; Else YMDM = E - 1;
- If YMDM > 2 then Y = C - 4716; Else Y = C - 4715;
- If Y < 1 then YMDY = Y - 1; Else YMDY = Y;
- Return YMDY YMDM YMDD;
-
- You can perform any date calculation by converting to the Julian Date,
- performing straight arthmetic, and then converting back. You can get the day
- of the week by taking the remainder of the Julian Date divided by 7 and
- assigning 0 = Monday through 6 = Sunday.
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 04:12:33 on 92/09/14 GMT (by XXSHLW02 at TORVMCOP)
- Subject: Hidden REXX Code
- I have a requirement to implement an application startup that involves
- an OS/2 (Easel) app, and WP and E-Mail (both of which are currently
- Windows apps). I am very pleased with the REXXUTIL functions to start
- the WIN/OS2 sessions, but would also like to manage the complete e-mail
- start up parameters and pass the user-name and password. I will be able
- to delete the information at logoff, but want to prevent disclosure by
- placing the real Program Object in the hidden folder. Unfortunately this
- is for nought if the REXX exec which manipulates all this can be read by
- a knowledgable user. I have had discussions at past OS/2 Tech Seminar's
- on using the "translate" parameter to pre-parse the exec (exec-name //T)
- and also had the impression that if I was willing to manage re-compiles
- when REXX maintenance was applied that there was a way to actually remove
- the REXX source from the file (if the EAs which store the parsed version
- were left intact). I have been trying this with no luck. Is this
- possible (if not recommended!).
- I understand that the parsed code is not intended to be a defined
- interface of REXX, and that code changes could force a re-compile,
- but we will be managing software levels on the client machines
- (several hundred) carefully and can live with that. Is there a date &
- time stamp conflict that I must thwart? How does the interpreter decide
- whether to use the pre-compiled version?
- My alternative is to get REALLLY dirty with SOM interfaces (I presume)
- that provide equivalent interfaces to the
- WorkPlace shell, and the resulting product would be too complex for
- the customer to maintain. Any suggestions on how I can securely
- distribute an exec ( not allow the source to be read and modified )?
-
- Bruce Popham (SHL Systemhouse - Wpg)
-
- ----- OS2REXX CFORUM appended at 16:31:34 on 92/09/14 GMT (by PGM$298 at ATLVM2)
- Subject: Executing a C program from a DEATCHED REXX Program
- Ref: Append at 17:16:48 on 92/07/02 GMT (by 64932769 at TOROHON1)
-
- I was just browsing this forum and saw your append. This may be too
- late to be of help to you but maybe others are having the same
- difficulty. I have seen the exact symptoms you described. The
- resolution is to change the application type of your C program to
- WINDOWCOMPAT.
-
- Clark, S. W. (Steve)
-
- ----- OS2REXX CFORUM appended at 17:03:21 on 92/09/14 GMT (by PRICESG at GDLVM7)
- Subject: Rexx features
- Ref: Append at 14:03:01 on 92/09/10 GMT (by FCOC079 at OS2CUST)
-
- Yes, Dave, we do monitor this forum for suggestions, problems, etc. As
- you have noticed, though, we're not always very prompt! Sorry. Your
- queuing suggestions are now "on the list" (actually, they were already
- there, but now they have more priority placed on them). The contents
- of future release of REXX in OS/2 are worked out between the OS/2
- system folks and REXX Development.
-
- Thanks for the comments. Feedback is always welcome.
-
- Steve (merrily we graze along) Price SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 19:52:21 on 92/09/14 GMT (by CONT00 at LEXVMK)
- Subject: Hidden REXX Code
- Ref: Append at 04:12:33 on 92/09/14 GMT (by XXSHLW02 at TORVMCOP)
-
- If you consider some additional maintenance overhead, I'd suggest you
- look at a little known but very powerful feature (available since 1.3.)
- of REXX: Macro Spaces.
- This is the place the interpreter keeps the tokenized program after
- loading it into memory. What makes the MacroSpace (let's call it MS for
- a moment :-) concept very attractive, is the set of programming interfaces.
- The basic features are:
- - you can load a file into the MS - it will be tokenized and kept there
- available for every program which will issue a (REXX) call for a name
- under which it was loaded (it may be different than the original file
- name). Since you can specify an "order" for such macro, you can force
- all programs to use the MS-version instead of the real file stored
- on your disk.
- - the current content of the MS can be "saved" into a library file.
- The library file equals basically to what you see in extended attributes
- but it can be easily moved to another machine (as long as they are on
- the same REXX level) and THIS is YOUR chance !
- The content of the library file is not easy readable - if you put some
- encryption on your password data, they will be safe.
- - you can "load" the content of the library file into the MS having all
- your programs ready to run instantly.
- - in addition you have API for querying the MS and deleting from MS.
-
- So, all you need is a small loader program which will load saved library
- file and call he first program...
- The APIs are available in REXXUTIL from REXX or directly from C.
- Happy REXXing !
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/14 15:33
-
- ----- OS2REXX CFORUM appended at 22:52:58 on 92/09/14 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Hidden REXX Code
- Ref: Append at 19:52:21 on 92/09/14 GMT (by CONT00 at LEXVMK)
-
- Gregory,
- Just the old request again,
- You don't happened to have a small example handy to teach us,
- do you?
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 13:50:29 on 92/09/15 GMT (by FCOC079 at OS2CUST)
- Subject: Rexx features
- Ref: Append at 17:03:21 on 92/09/14 GMT (by PRICESG at GDLVM7)
-
- Thanks for the response Steve. It's good to see that the items were already
- on a list.
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 16:17:58 on 92/09/15 GMT (by CONT00 at LEXVMK)
- Subject: Hidden REXX Code
- Ref: Append at 22:52:58 on 92/09/14 GMT (by XXNOVA24 at TORVMCOP)
-
- No, I didn't, but I kludged one for you :-)... Feel free !
-
- Note: REXX20 fixes needed (dated at least June 1992 !)
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/15 12:13
-
- /* <------------------------- cut here -----------------------------> */
- /*** REXXTEST.CMD ****************************************************/
- /*** Rexx Exec for Testing REXXXUTIL functions - By Greg Czaja ***/
- /*** based on RXTEST.CMD for RXUTILS - By Tom Rogers ***/
- /*********************************************************************/
- Parse Arg arg
- if arg='MACRO' then do
- Parse Source . . my_name .
- say /* note: the program name is the macro name, not the original name ! */
- say 'Hey, we are executing 'my_name' from the macrospace.'; say
- say 'Press any key to exit...'
- call SysGetKey 'NOECHO'
- exit
- end
-
- Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SYSLOADFUNCS'
- Call SysLoadFuncs;
-
- /**********************************************************************
- ***** The following section tests RexxUtil functions dealing ******
- ***** with the REXX Macrospace. ******
- **********************************************************************/
- Call SysCls
- say 'Testing erasing all macros from the macrospace...'
- say SysClearRexxMacroSpace()
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing loading REXXTEST.CMD into macrospace as REXX2 !'
- say SysAddRexxMacro('REXX2', 'REXXTEST.CMD', 'BEFORE')
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing saving REXX2 macro as REXX2.MAC...'
- '@ERASE REXX2.MAC';
- say SysSaveRexxMacroSpace('REXX2.MAC')
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing dropping REXX2 macro...'
- say SysDropRexxMacro('REXX2')
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing loading REXX2 from REXX2.MAC...'
- say SysLoadRexxMacroSPace('REXX2.MAC')
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Running REXX2 (from MacroSpace)...'
- call REXX2 'MACRO'
- say; say 'You are back to running REXXTEST.CMD now!'
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing changing position of REXXTEST...'
- say SysReorderRexxMacro('REXX2', 'AFTER')
- say; call SysGetKey 'NOECHO'
- call SysCls; say
- say 'Testing query and order by seeing if REXX2 macro exists...'
- say SysQueryRexxMacro('REXX2')
- say; call SysGetKey 'NOECHO'
- exit
-
- /* <------------------------- cut here -----------------------------> */
-
- ----- OS2REXX CFORUM appended at 23:40:08 on 92/09/15 GMT (by AAAF0CY at OS2CUST)
- Subject: Using SysCreateObject to set DOS_VERSION
- Ref: Append at 15:29:22 on 92/08/21 GMT (by NBLKCY0 at OS2CUST)
-
- Between DOS_VERSION items, you need to insert a line feed character. For
- example to set DOS_VERSION for ABC.EXE and XYZ.EXE you would use the REXX
- string:
- 'SET DOS_VERSION=C:\ABC.EXE,4,0,255<XX>C:\XYZ.EXE,4,0,255'
- Where the <XX> is entered by holding the ALT key and pressing 10 on the keypad
- to create the linefeed character.
- A tip I found helpful when testing this is to intentially put an error in the
- setup string information in the SysCreateObject call, then when you make the
- call, the dialog box shows up that tells you there is an error in the setup and
- allows you to view the settings, then you can check them for accuracy.
-
- Jim Sauber, MN Mutual
-
- ----- OS2REXX CFORUM appended at 03:43:01 on 92/09/16 GMT (by XXSHLW02 at TORVMCOP)
- Subject: Hidden REXX Code
- Ref: Append at 16:17:58 on 92/09/15 GMT (by CONT00 at LEXVMK)
-
- I appreciate the samples, as my initial efforts at looking at the
- MacroSpace API's led me to conclude that the creation of the macro
- space (and loading of it later) would require "C" routines, which the
- also would prefer to avoid.. However...(sorry about this). In being so
- responsive to ever increasing demands for new function there is quite a
- mix-up in the REXX20 package of DLLs. I initially started with a set of
- enhancements that had some documentation on WPS functions, but was
- missing calls like SysSetObjectData (? from memory).. I found an even
- more current version of the REXX20 package, but it does not seem to
- have the MacroSpace calls.. I will call Atlanta now and try and get the
- most current code from there.. Will update you on status.
-
- Thanks a lot for all the assistance!!
- Note: the module dates I am running are:
- rexx DLL 248192 7-08-92 4:04p
- rexxapi DLL 33351 7-01-92 4:29p
- rexxinit DLL 1468 6-30-92 9:49a
- rexxutil DLL 31321 7-01-92 4:29p
-
- Bruce Popham (SHL Systemhouse - Wpg)
-
- ----- OS2REXX CFORUM appended at 12:23:41 on 92/09/16 GMT (by CONT00 at LEXVMK)
- Subject: Hidden REXX Code
- Ref: Append at 03:43:01 on 92/09/16 GMT (by XXSHLW02 at TORVMCOP)
-
- Ooops ! Sorry for the confusion, I thought the MacroSpace functions were
- in REXXUTIL dated on/after June 16, 1992. If they aren't there, they will
- be (probably) in the service pack... Rick McGuire would be more competent
- person.
- You have still the option of using the C APIs - the 2.0 toolkit has a few
- samples, it is not difficult.
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/16 08:10
-
- ----- OS2REXX CFORUM appended at 14:06:55 on 92/09/16 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Hidden REXX Code
- Ref: Append at 16:17:58 on 92/09/15 GMT (by CONT00 at LEXVMK)
-
- Thanks, Gregory,
- but my files are dated:
- Directory of C:\OS2\DLL
-
- 7-08-92 4:04p 248192 0 REXX.DLL
- 7-01-92 4:29p 33351 0 REXXAPI.DLL
- 6-30-92 9:49a 1468 0 REXXINIT.DLL
- 7-01-92 4:29p 31321 0 REXXUTIL.DLL
-
- and when I try to execute the TEXXTest,
-
- Testing erasing all macros from the macrospace...
- 25 +++ Say SysClearRexxMacroSpace();
- REX0043: Error 43 running D:\tmp\REXXTest.CMD, line 25: Routine not found
-
- message is what I get.
-
- Maybe I have to wait for the Service Pack.(?)
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 15:11:54 on 92/09/16 GMT (by XXSHLW02 at TORVMCOP)
- Subject: Hidden REXX Code
- Ref: Append at 12:23:41 on 92/09/16 GMT (by CONT00 at LEXVMK)
-
- I have essentially the same problem as documented in append 311 by my
- compatriat at Nova.. As I understand it, the service pack is still
- some time away (3-4 weeks at best?). Without muddying the waters
- and releasing a third copy of the REXXUTIL since GA is it possible
- to gain access on a restricted basis (The customer is wanting
- to roll out the application asap, and would not be willing to
- wait that long). The probable result will be that we leave the
- security processing visible (it is obscure at best, and only would allow
- a user to find out his own mail password (something most users know
- anyway..). Thanks again for your help, The knowledge that we can deliver
- the required function without another "C" module for the customer to
- own is great!
-
- Bruce Popham (SHL Systemhouse - Wpg)
-
- ----- OS2REXX CFORUM appended at 15:39:16 on 92/09/16 GMT (by CONT00 at LEXVMK)
- Subject: Hidden REXX Code
- Ref: Append at 14:06:55 on 92/09/16 GMT (by XXNOVA24 at TORVMCOP)
-
- I'm afraid, you have (to wait)... Sorry for the confusion !-(
- I decided not to remove the sample - you could use it when you get the
- updated REXXUTIL.DLL.
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/16 11:37
-
- ----- OS2REXX CFORUM appended at 18:49:54 on 92/09/16 GMT (by PPBKR at OS2CUST)
- Subject: Using SysCreateObject to set NETWARE_RESOURCES
-
- The install program for OS/2 Netware Requester adds the DOS setting
- "NETWARE_RESOURCES" to the list of available settings in the DOS
- SETTINGS panel. It's value can be NONE, PRIVATE, or GLOBAL.
-
- I would like to use SysCreateObject to change it's value. For example,
- I have a REXX program that will add a DOS program object to a folder and
- I am successfully modifying several of it's DOS settings using
- SysCreateObject. However, I haven't been able to change the
- NETWARE_RESOURCES variable.
-
- The setup string that I'm using looks something like this:
-
- SET NETWARE_RESOURCES=GLOBAL;
-
- I've also tried SET NETWARE_RESOURCES=2; (using a number didn't work either).
-
- Has anyone else tried to modify this setting via SysCreateObject? If so, how?
- Thanks in advance for your assistance!
-
- BK Rogers Phillips Petroleum
-
- ----- OS2REXX CFORUM appended at 20:08:47 on 92/09/16 GMT (by CONT00 at LEXVMK)
- Subject: Using SysCreateObject to set NETWARE_RESOURCES
- Ref: Append at 18:49:54 on 92/09/16 GMT (by PPBKR at OS2CUST)
-
- This may be similar to the problems with another DOS setting:
- VIDEO_MODE_RESTRICTION, which requires the value to be padded to the right
- with blanks to be exactly 15 characters.
- You may try 7 since PRIVATE is that long, i.e.
- SET NETWARE_RESOURCES=GLOBAL ; <-- extra blank.
-
- If you display the DOS_SETTINGS for NETWARE_RESOURCES, can you guestimate
- how many characters the shadowing takes in the drop-down combobox ?
- (sorry, dont't have NETWARE installed myself...)
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/16 15:56
-
- ----- OS2REXX CFORUM appended at 21:50:37 on 92/09/16 GMT (by PPBKR at OS2CUST)
- Subject: Using SysCreateObject to set NETWARE_RESOURCES
-
- Padding the value to 7 characters did the trick. All valid selections worked:
-
- SET NETWARE_RESOURCES=NONE ;
- SET NETWARE_RESOURCES=PRIVATE;
- SET NETWARE_RESOURCES=GLOBAL ;
-
- Thanks for the info!
-
- BK Rogers Phillips Petroleum
-
- ----- OS2REXX CFORUM appended at 12:48:28 on 92/09/17 GMT (by MCGUIRE at GDLVM7)
- Subject: Hidden REXX Code
- Ref: Append at 12:23:41 on 92/09/16 GMT (by CONT00 at LEXVMK)
-
- Those extra functions are not going to be part of a service pack, but are
- rather candidates for a future release.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 13:57:59 on 92/09/17 GMT (by IL69655 at OS2CUST)
- Subject: Beginner's Questions
-
- I am trying to write my first REXX procedure and am having
- great difficulties with the following:
-
- 1. It seems that REXX does not recognize the old test
- IF EXIST filename THEN.... Does anyone know of a
- way to test for the existense of a file?
-
- 2. It also seems that the old GOTO label statement does
- not work in REXX (error message says label cannot be found).
- I used the SIGNAL function instead for branching to a
- label. This works- but is this the correct instruction
- to use in REXX?
-
- Any help would be greatly appreciated.
-
- John Salientes, The World Bank, Wash.DC
-
- John Salientes, The World Bank, Wash.DC
-
- ----- OS2REXX CFORUM appended at 14:22:00 on 92/09/17 GMT (by MRTOM at YKTVMV)
- Subject: Beginner's Questions
- Ref: Append at 13:57:59 on 92/09/17 GMT (by IL69655 at OS2CUST)
-
- 1. if stream(file, 'C', 'QUERY EXISTS') <> '' then /* file exists */
-
- 2. Signal will work, but if your program needs signal your program
- probably needs to be rewritten. Signal can be avoided the majority
- of the time.
-
- Tom
-
- ----- OS2REXX CFORUM appended at 15:23:20 on 92/09/17 GMT (by GBFORNEY at WASVMIC5)
- Subject: Beginner's Questions
- Ref: Append at 13:57:59 on 92/09/17 GMT (by IL69655 at OS2CUST)
-
- 1) Use the Stream command "Query Exists" to inquire if a file is
- present:
-
- If Stream(filen,'C','Query Exists') = '' Then
- Do
- /* File is missing */
- End
- Else
- Do
- /* File is available */
- End
-
- 2) Yes, Signal is the right thing to use in place of GOTO. However
- Rexx was designed to strongly discourage any use of arbitrary
- branching at all.
-
- Greg Forney bigred@vnet.ibm.com
-
- ----- OS2REXX CFORUM appended at 16:43:25 on 92/09/21 GMT (by ABLI001 at OS2CUST)
- Subject: commands in PM mode
-
- Here's a quickie. Try creating a REXX .cmd file:
- /* */
- 'cmd'
- Nothing useful about such a 'batch' file you say?
- Start a PM session (use desktop if you want) by typing
- start pmrexx xx (where xx is the name of your .cmd file)
- and a windowed command session comes up.
- What is interesting is that you can run fullscreen commands under it
- and then scroll backwards through the output. (How does it capture the
- output? Wish I could write an APPC program to do it from CICS).
- It is limited in ways though, e.g. it doesn't understand ANSI in the
- prompt so you may want to change it in your .cmd file
-
- ->Rich Corbett; ABC Liquors, Inc., Orlando, FL (NASPA: CORBRIC7)
-
- ----- OS2REXX CFORUM appended at 18:02:02 on 92/09/21 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Desktop recreation.
- Gregory,
- Where is the REXX file to recreate all the objects?
- I can't recall the name.
- Actally I'd like to get the OBJECTID values.
- Thanks,
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 19:08:23 on 92/09/21 GMT (by CONT00 at LEXVMK)
- Subject: Desktop recreation.
- Ref: Append at 18:02:02 on 92/09/21 GMT (by XXNOVA24 at TORVMCOP)
-
- INI.RC is located in \OS2 directory on your boot drive and contains all
- standard objects sans OBJECTIDs.
- The program which recreates those is located on CServe, IBMOS2 forum,
- library 8 (REXX), file name RECREA.CMD (it's free :-).
-
- BTW: to get all currently defined OBJECTIDs use:
- Call SysIni 'USER', 'PM_Workplace:Location', 'All:', 'objectids.';
- stem objectids. will contain them all... Enjoy !
-
- Gregory Czaja, Lexington 8-545-3311 1992/09/21 15:04
-
- ----- OS2REXX CFORUM appended at 19:38:27 on 92/09/21 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Desktop recreation.
- Ref: Append at 19:08:23 on 92/09/21 GMT (by CONT00 at LEXVMK)
-
- Thanks, Gregory, but:
- I wrote s small program:
-
- /* Greg */
- Call SysIni 'USER', 'PM_Workplace:Location', 'All:', 'objectids.';
-
- say objectids.0
-
- do i=0 to i=objectids.0
- say objectids.i
- end;
-
- My output is 67 twice.
- What do I do wrong again?
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 19:57:15 on 92/09/21 GMT (by PPBKR at OS2CUST)
- Subject: Desktop recreation.
-
- Geza,
-
- Your DO loop needs some work> Correct: do i=0 to objectids.0
- NOT: do i=0 to i=objectids.0
- Try this:
-
- Call SysIni 'USER', 'PM_Workplace:Location', 'All:', 'objectids.';
-
- say objectids.0
-
- do i=1 to objectids.0
- say objectids.i
- end;
-
- BK Rogers Phillips Petroleum
-
- ----- OS2REXX CFORUM appended at 20:16:53 on 92/09/21 GMT (by IL32772 at OS2CUST)
- Subject: Com Mgr control
-
- Can I control/start a 3270 or 5250 session with rexx? The Programmable Configur
- ation Reference provides information to configure Com Mgr with rexx but not
- mange sessions. The Com Mgr System Management Programming reference indicates
- using C or other languages to establish and monitor sessions, etc. Can Rexx be
- use for this? I assume the answer is no since it's not listed as a language.
-
- Randy Cairns
-
- ----- OS2REXX CFORUM appended at 20:33:13 on 92/09/21 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Desktop recreation.
- Ref: Append at 19:57:15 on 92/09/21 GMT (by PPBKR at OS2CUST)
-
- Thanks, BK,
- I knew I was missing someting.
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 22:41:24 on 92/09/21 GMT (by NAAO3IY at OS2CUST)
- Subject: Com Mgr control
- Ref: Append at 20:16:53 on 92/09/21 GMT (by IL32772 at OS2CUST)
-
- See \CMLIB\RXHLLAPI.DOC
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ
-
- ----- OS2REXX CFORUM appended at 02:04:20 on 92/09/22 GMT (by SDETWEIL at DETVMIC4)
- Subject: commands in PM mode
- Ref: Append at 16:43:25 on 92/09/21 GMT (by ABLI001 at OS2CUST)
-
- How does it do it? It redirects STDOUT/ERR pack to PMREXX which
- draws it in its window.. nothing particularly hard. Oh, the source
- for PMREXX IS in the toolkit samples..
-
- There IS a APPC pgm that does this in the IBMEWS software, AREXEC
-
- Sam
-
- ----- OS2REXX CFORUM appended at 20:14:37 on 92/09/23 GMT (by ABLI001 at OS2CUST)
- Subject: commands in PM mode
- Ref: Append at 02:04:20 on 92/09/22 GMT (by SDETWEIL at DETVMIC4)
-
- Thanks for the info.!
- By the way, I don't have access to the toolkit since we are an "end user" shop
- and don't pay those prices for things which aren't "necessary" for users.
- The version of AREXEC that I downloaded (from another BBS) didn't have source;
- and didn't allow any input, so it may not be possible to redirect STDIN in all
- cases. (?? is the source available?)
-
- ->Rich Corbett; ABC Liquors, Inc., Orlando, FL (NASPA: CORBRIC7)
-
- ----- OS2REXX CFORUM appended at 16:12:54 on 92/09/25 GMT (by STHOWELL at DALHQIC2)
- Subject: Passing a stem variable to an external function . . .
-
- In the following REXX.cmd, you can pass the stem variable (x.)
- to an internal procedure; however, if I try to do the same
- thing except to an external procedure, it does not work. Am
- I doing something wrong, or is this a limitation of REXX?
- -----------------------------------------
- x.1=1; x.2=2; x.3=3
- call test
- say x.4 x.5 x.6
- exit
-
- test: procedure expose x.
- say x.1 x.2 x.3
- x.4=4; x.5=5; x.6=6
- return
- -----------------------------------------
- result: 1 2 3
- 4 5 6
-
- Thanks,
- Steve Howell
-
- ----- OS2REXX CFORUM appended at 19:12:31 on 92/09/25 GMT (by XXMUTL27 at TORVMCOP)
- Subject: Starting objects serially
-
- I'd like to write a Rexx program to:
- i) connect to a network drive
- ii) create an object to start a program (winword.exe) from the
- network drive with specific DOS Settings
- iii) open the object (i.e. invoke winword)
- iv) when done with application (exits winword) then disconnect from
- the network drive.
-
- I've managed to do the first three without any difficulty, its the
- fourth step that's causing me problems. When using the OPEN=DEFAULT
- setting with SysCreateObject, the program is invoked as another task.
- What I want is to return to my Rexx script only when the application
- is finished so that I can release the resource. This is important
- because we are using a counter on the server to limit resource usage.
- For example, we have six WinWord licences, four Excel licences and
- one Lotus 1-2-3 license for twelve users. Therefore the resources need
- to be released when the user is done with them. Hence, I need to
- serialize the open process. Any help would be appreciated.
-
- Erik Vander Ahe The Mutual Group
- Waterloo, Ontario
-
- ----- OS2REXX CFORUM appended at 21:01:05 on 92/09/25 GMT (by NAAO3IY at HONE85)
- Subject: VREXX and OOREXX
-
- Are these two the same thing, or is VREXX just PM goodies for
- current REXX, with OOREXX a new REXX yet to come?
-
- ----- OS2REXX CFORUM appended at 23:24:39 on 92/09/25 GMT (by IL11901 at OS2CUST)
- Subject: commands in PM mode
- Ref: Append at 16:43:25 on 92/09/21 GMT (by ABLI001 at OS2CUST)
-
- (no text entered)
-
- Steve Dacek - Soft & GUI Inc
-
- ----- OS2REXX CFORUM appended at 23:26:18 on 92/09/25 GMT (by IL11901 at OS2CUST)
- Subject: commands in PM mode
- Ref: Append at 16:43:25 on 92/09/21 GMT (by ABLI001 at OS2CUST)
-
- Please check out CommandLine 2.0. It's a hotkey,
- PM based prompt and app. launcher.
-
- Steve Dacek - Soft & GUI Inc
-
- ----- OS2REXX CFORUM appended at 18:39:28 on 92/09/27 GMT (by PRICESG at GDLVM7)
- Subject: VREXX and OOREXX
- Ref: Append at 21:01:05 on 92/09/25 GMT (by NAAO3IY at HONE85)
-
- Different things. VREXX is an extension package for today's REXX. OO
- REXX is a working name for a major step in the evolution of the
- language. VREXX is available now as an unsupported package in the
- Employee Written Software program. OO REXX is at best many months
- away, and has not been formally announced (which means it might never
- see the light of day if some major problem arises). OO REXX is being
- worked on by REXX Development and some other people around IBM with
- special skills.
-
- Steve Price IBM SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 13:36:43 on 92/09/28 GMT (by PERSHNG at YKTVMH)
- Subject: Passing a stem variable to an external function . . .
- Ref: Append at 16:12:54 on 92/09/25 GMT (by STHOWELL at DALHQIC2)
-
- It's a "limitation" of REXX -- EXPOSE doesn't work across external calls.
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 19:30:29 on 92/09/28 GMT (by AYP1Q01 at OS2CUST)
- Subject: Starting objects serially
- Ref: Append at 19:12:31 on 92/09/25 GMT (by XXMUTL27 at TORVMCOP)
-
- Yes, I am interested in this, too, for exactly the same reasons. Lacking the
- ability to serially execute these functions, is there any way to monitor the
- status of other tasks (in order to set up dependencies)?
-
- Any input, comments, groundswell of support, or piqued interest would be
- appreciated.
-
- Steve Bassler, Allegheny Power
-
- ----- OS2REXX CFORUM appended at 19:37:18 on 92/09/28 GMT (by AYP1Q01 at OS2CUST)
- Subject: Starting objects serially
- Ref: Append at 19:12:31 on 92/09/25 GMT (by XXMUTL27 at TORVMCOP)
-
- Yes, I am interested in this, too, for exactly the same reasons. If it is
- indeed impossible to execute these functions serially, is there any way to
- monitor the status of other tasks, for the purpose of setting up dependencies?
-
- Any input, comments, groundswell of support, or piqued interest would be
- appreciated. Thanks.
-
- Steve Bassler, Allegheny Power
-
- ----- OS2REXX CFORUM appended at 20:08:33 on 92/09/28 GMT (by IL48722 at OS2CUST)
- Subject: CPI-C functions for REXX
-
- Anybody know where I can find a set of CPI-C functions for REXX??
-
- I want to write a fairly simple-minded APPC requester to test a
- mainframe application I'm writing, but I'd rather not have to write
- it in C if I can avoid it (for one thing, the C compiler is not
- cheap, for another, writing C is not my idea of a good time).
-
- A REXX CPI-C package would be ideal for what I have in mind.
-
- Any leads would be very much appreciated.
-
- Bob Beilstein, Manugistics, Inc. (315) 458-0723
-
- ----- OS2REXX CFORUM appended at 20:59:45 on 92/09/28 GMT (by PRICESG at GDLVM7)
- Subject: CPI-C functions for REXX
- Ref: Append at 20:08:33 on 92/09/28 GMT (by IL48722 at OS2CUST)
-
- Such a deal I have for you....Extended Services provides a CPI-C to
- REXX interface. You initialize it with the command CPICREXX and
- then you can do it the same as on the other SAA platforms:
- ADDRESS CPIC 'CMINIT.....'
- I'm not very familiar with the actual coding of the CPIC verbs. There
- are some sample programs to be had--I think a question in OS2CM CFORUM
- will flush them out. The official documentation of CPIC in general as
- well as the REXX info is in the SAA CPI-C reference, SC26-4399.
-
- Steve Price SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 05:29:15 on 92/09/29 GMT (by IL78711 at OS2CUST)
- Subject: VREXX and OOREXX
- Ref: Append at 18:39:28 on 92/09/27 GMT (by PRICESG at GDLVM7)
-
- I like what I see in Visual Rexx. However I am cautious about using it for
- any significant development. Why is it unsupported?? I would like it to be
- included in the OS/2 base. This implementation looks like it required quite
- a bit of hardwork and computer skill. Is there something about it that we
- should know? in other words why is it not supported. It clearly meets a very
- strategic requirement.
-
- Marvin Lichtenthal
-
- ----- OS2REXX CFORUM appended at 13:52:07 on 92/09/29 GMT (by IL48722 at OS2CUST)
- Subject: CPI-C functions for REXX
- Ref: Append at 20:59:45 on 92/09/28 GMT (by PRICESG at GDLVM7)
-
- Such a deal, indeed!
-
- Funny thing, though -- NONE of the documentation I got with ES 1.0
- mentions that CPI-C calls are available from REXX! In fact, the
- Sales Manual entry for Extended Services says:
-
- * APPC is support[sic] by C (including IBM C SET/2), COBOL and Macro
- Assembler
-
- I'll ask over on the OS2CM CFORUM for further information.
-
- Thanks!
-
- Bob Beilstein, Manugistics, Inc. (315) 458-0723
-
- ----- OS2REXX CFORUM appended at 12:50:11 on 92/09/30 GMT (by RBLAM at YKTVMV)
- Subject: VREXX and OOREXX
- Ref: Append at 05:29:15 on 92/09/29 GMT (by IL78711 at OS2CUST)
-
- I was a bit surprised that so many users in IBM liked VREXX when I
- posted it to the internal tools disk. VREXX was originally written
- only as a demonstration program for some other internal tools. I
- received a lot of feedback on improving the package and I implemented
- quite a few user suggestions. The present version offers quite a
- bit of functionality with very easy-to-use function calls.
-
- Although several marketing people approached me about making VREXX
- available, there was never any formal product plan. VREXX WAS
- used to write some installation tools for a number of custom software
- contracts with external customers.
-
- Given the high level of use internally, I thought a large number of
- external customers could also benefit if it were released.
- I felt the best way to get VREXX out to customers was to release it
- through the EWS program. It's free and available immediately, although
- without support (all EWS programs are offered without support).
-
- I don't know of any plans to include VREXX with future releases of
- OS/2, but you could lobby your marketing representative to have it
- included. A large base of users is a strong argument...
-
- I hope this at least partly answers your question, and I also hope
- you find VREXX useful. Thanks!
-
- - Dick Lam
-
- ----- OS2REXX CFORUM appended at 14:13:34 on 92/09/30 GMT (by XXMUTL27 at TORVMCOP)
- Subject: Starting objects serially
- Ref: Append at 19:37:18 on 92/09/28 GMT (by AYP1Q01 at OS2CUST)
-
- I also have a second reason for wanting to serialize a program started
- with SysCreateObject. This is easiest to explain with an example.
-
- I have an OS/2 Window object available on my desktop. Opening it starts
- CMD.EXE. If I subsequently "open" the same OS/2 Window object the
- original one is placed in the foreground. Typing "e" (NOT "start e")
- starts the System Editor. Displaying the task list would show that
- "OS/2 Window" has been replaced by "E.EXE". Also, double-clicking on
- the OS/2 Window object now brings the System Editor to the foreground.
-
- If a call to SysCreateObject could be serialized, then I would expect
- the same behaviour. However, if a solution to the net use problem were
- to preclude this, I could live with that.
-
- I also thought of checking running tasks to see if the program started
- was still running. If not then do the "net use d: /d". However, I'd
- prefer a "cleaner" solution.
-
- Erik Vander Ahe
- The Mutual Group
-
- ----- OS2REXX CFORUM appended at 19:22:15 on 92/09/30 GMT (by SBSTBEG at OS2CUST)
- Subject: VREXX and OOREXX
- Ref: Append at 12:50:11 on 92/09/30 GMT (by RBLAM at YKTVMV)
-
- Dick,
- I like the VREXX alot, have shown it to a couple of guy's here, and you
- might think I was showing them mana from heaven. It's great for those quick
- and dirty programs. After only two days, I have converted several of my
- command line interface programs to use VREXX. I would like to see it ofically
- supported, and included in future releases. Unless I'm missing something, it
- would be nice to have an option to size some of the windows, such as the
- various input, and selection boxes. Keep up the excellent work!!!
-
- Bill Stephens
-
- ----- OS2REXX CFORUM appended at 20:56:38 on 92/09/30 GMT (by BONILLA at KGNVMZ)
- Subject: VREXX and OOREXX
- Ref: Append at 05:29:15 on 92/09/29 GMT (by IL78711 at OS2CUST)
-
- Marvin, as the author has indicated in his append, VREXX is not
- a product. It is one of a number of programs or mini-applications
- that were developed by some of our employees for their own use or
- for other employees to use. The OS2EWS program is an attempt to
- release these programs for the use of OS/2 customers who might
- find them useful. They are released with an AS-IS warranty, are
- offered at no charge to the customer and are not supported by the
- company. If you find them useful, we are happy. While they have
- been used extensively in general, within IBM, they have not been
- subjected to the rigorous testing that products face. Our hope
- is that some customers will find them useful.
-
- John Bonilla
-
- ----- OS2REXX CFORUM appended at 06:07:33 on 92/10/01 GMT (by IL78711 at OS2CUST)
- Subject: VREXX and OOREXX
- Ref: Append at 20:56:38 on 92/09/30 GMT (by BONILLA at KGNVMZ)
-
- Vrexx2 is too good not to be used by IBM customers. It gives OS/2 a very
- significant competitive advantage. Without being a product some customers
- will hesitate to use it.
-
- ----- OS2REXX CFORUM appended at 14:18:03 on 92/10/01 GMT (by CONT00 at LEXVMK)
- Subject: VREXX and OOREXX
- Ref: Append at 06:07:33 on 92/10/01 GMT (by IL78711 at OS2CUST)
-
- If you are looking for supported, nice, quite powerful, easy to use
- PM interface - without the need to program yourself the PM/C stuff, look
- for PL1 for OS/2. Wouldn't it be nice if REXX had a similar one, in
- supported manner ?
- (PL1OS/2 is great, if only the price were lower...)
-
- Gregory Czaja, Lexington 8-545-3311 1992/10/01 10:14
-
- ----- OS2REXX CFORUM appended at 19:44:25 on 92/10/01 GMT (by V$IGREGO at BCRVM7)
- Subject: Maximum size LINEIN can read
-
- Does anyone know what the maximum size in bytes LINEIN can read ???
- Chris
-
- ----- OS2REXX CFORUM appended at 20:20:43 on 92/10/01 GMT (by MCBRIDEC at WMAVM7)
- Subject: SysFileTree utility question
-
- (warning: somewhat long append...)
-
- I did not find any other appends about this topic so here is my
- question. When I use the SysFileTree function in a Rexx program
- with the following syntax, I do not get the expected results:
-
- call SysFileTree 'C:\*.*', 'file', 'FO', '+****', '-****'
-
- The online documentation says that the second set of attribute
- characters should turn off the A (archive) flag. Everything
- else about the command seems to work correctly -- the "file"
- stem has a list of all files in the root directory that have
- the archive flag set. However, as I understand it, this command
- should also reset the archive flag to off because of the "-" in
- the archive field of the last argument (I cannot remember what
- the documentation named the arguments). Am I doing something
- wrong? If I run the ATTRIB C:\*.* command before and after
- executing my program all of the files attribute remain unchanged.
-
- I reduced the .cmd file to the following, but still no luck.
-
- /*-----------------------------------------------------------------*/
- /* Load the Rexx Utility functions */
- /*-----------------------------------------------------------------*/
- call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
- call SysLoadFuncs
-
- /*-----------------------------------------------------------------*/
- /* Find all file in C:\ that have archive flag set and clear it. */
- /*-----------------------------------------------------------------*/
- call SysFileTree 'C:\*.*', 'file', 'FO', '+****', '-****'
-
- do i = 1 to file.0
- say i':' file.0
- end
-
- exit
-
- The program will indeed print out all files in C:\ that have
- the archive flag set. But the flag will remain unchanged after
- execution.
-
- Sorry for the long append.
-
- Cliff McBride - Gaithersburg, MD
-
- ----- OS2REXX CFORUM appended at 21:48:36 on 92/10/01 GMT (by IL32772 at OS2CUST)
- Subject: Com Mgr control
- Ref: Append at 22:41:24 on 92/09/21 GMT (by NAAO3IY at OS2CUST)
-
- Thanks for the reply, I have used visited the hllapi doc before. What I
- did not make clear was manage: can I use a REXX interface to start a 3270/5250
- session that is not active, or fails for some reason and I need to stop and res
- tart the session. The Hllapi only handles active sessions, not inactive sessio
- n starting. Hopefully this make more sense.
-
- Randy Cairns
-
- ----- OS2REXX CFORUM appended at 00:30:43 on 92/10/02 GMT (by IL19543 at OS2CUST)
- Subject: Does VREXX trap out on your XGA?
-
- I have tried VREXX samples on several machines. VGA PS/2's work just great,
- but on a XGA machine we get a SYS3175 error on exit from the sample.
- Does this happen on your XGA or is it isolated to this one particular machine?
-
- This VREXX looks very nice, I will have to spend the time to learn all of
- REXX to make full use of this tool.
- Thanks,
-
- Mike Long - CARD Iowa State University - PC/LAN Analyst
-
- ----- OS2REXX CFORUM appended at 12:56:12 on 92/10/02 GMT (by XXMUTL27 at TORVMCOP)
- Subject: SysFileTree utility question
- Ref: Append at 20:20:43 on 92/10/01 GMT (by MCBRIDEC at WMAVM7)
-
- I've had the same problem, but trying to clear the read-only bit. My
- workaround was to use attrib, but you do notice a performance lag while
- OS/2 loads attrib.
-
- Erik Vander Ahe
- The Mutual Group
-
- ----- OS2REXX CFORUM appended at 13:03:42 on 92/10/02 GMT (by XXMUTL27 at TORVMCOP)
- Subject: Does VREXX trap out on your XGA?
- Ref: Append at 00:30:43 on 92/10/02 GMT (by IL19543 at OS2CUST)
-
- I too have had VREXX generate a SYS3175. It is reproducable. If my REXX
- program has a syntax error, ending the program, then subsequent
- executions of any other REXX program that attempts to use VREXX will
- trap out. Although my machine is not hung, OS/2 will not shutdown. An
- IPL does fix the problem. For example:
-
- call RxFuncAdd SysLoadFuncs,RexxUtil,SysLoadFuncs
- call SysLoadFuncs
- call RxFuncAdd HLLAPI,SAAHLAPI,HLLAPISRV
- call RxFuncAdd VInit,VREXX,Vinit
- rc = VInit()
- if rc = 'ERROR' then signal CleanUp
- signal on error name CleanUp
- signal on failure name CleanUp
- signal on halt name CleanUp
- signal on syntax name CleanUp
-
- say 'I forgot a quote at the end of this line.
-
- CleanUp:
- call HLLAPI 'Disconnect'
- call VExit
- exit
-
- Erik Vander Ahe
- The Mutual Group
-
- ----- OS2REXX CFORUM appended at 13:41:25 on 92/10/02 GMT (by XXSHLW02 at TORVMCOP)
- Subject: VREXX and OOREXX (& PL/1)
- Ref: Append at 14:18:03 on 92/10/01 GMT (by CONT00 at LEXVMK)
-
- I have been awaiting PL/1 for OS/2, and have not seen an announcement..
- Are you referring to a non-IBM product, or is this not yet
- available in Canada?
-
- Bruce Popham (SHL Systemhouse - Wpg)
-
- ----- OS2REXX CFORUM appended at 14:26:06 on 92/10/02 GMT (by TCC3824 at OS2CUST)
- Subject: Does VREXX trap out on your XGA?
- Ref: Append at 13:03:42 on 92/10/02 GMT (by XXMUTL27 at TORVMCOP)
-
- I have the same problem! Running p75 with 8514 & XGA.
-
- VREXX IS GREAT!! I HAVE SHOWN IT TO 20+ DEVELOPERS IN MY SHOP AND THERE
- IS MUCHO INTEREST!! HOPE TO SEE THIS AS A SUPPORTED PRODUCT.
- IT TOOK ME ABOUT AN HOUR TO CONVERT 5 TEXT BASED REXX MENUS TO DIALOGS THAT
- I AM NOW USING FOR ONE OF MY TOOLS.
-
- Kevin McConnell 512-338-7457 Continuum Austin Tx
-
- ----- OS2REXX CFORUM appended at 16:41:03 on 92/10/02 GMT (by CONT00 at LEXVMK)
- Subject: VREXX and OOREXX (& PL/1)
- Ref: Append at 13:41:25 on 92/10/02 GMT (by XXSHLW02 at TORVMCOP)
-
- Sorry, don't know the ivory number...
-
- Today, IBM announces SAA PL/I Package/2, a 32-bit IBM developed
- implementation of PL/I on OS/2 2.0. It will GA (in the USA) Sept 25.
- It implements:
-
- * The SAA PL/I CPI (SC23-4381)
- + plus a few additional features from S/370 OS PL/I Version 2
- Release 3 (e.g. FETCH, the macro facility)
- - minus a few items
- * A truck-load of new function, addressing hundreds of user
- requirements permitting exploitation of OS/2 including the
- Presentation Manager.
- * VSAM-like record level I/O for indexed, relative and
- consecutive data sets in addition to STREAM I/O and printer
- destined (host or local) files
- * Syntax and semantic checking of OS PL/I V2R3 language (e.g.
- multitasking language) that is yet not part of SAA PL/I.
- * Selected features of ANS 87 PL/I
-
- Minimum recommended configuration:
-
- * PS/2 386SX or better (or compatible) + Math coprocessor
- * 8MB RAM
- * 10MB free disk space
-
- Publications:
-
- PL/I Package/2 Fact Sheet GC26-3090
- PL/I Package/2 Licensed Program Specifications GC26-4821
- PL/I Package/2 Installation SX26-3822
-
- PL/I Package/2 Programming Guide SC26-4822
- PL/I Package/2 Language Reference SC26-4823
- PL/I Package/2 Reference Summary SX26-3793
- PL/I Package/2 Language Environment Run-Time Messages SC26-3133
- (Package of above 4 books) SBOF-3014
-
- Please pass the great news to your friends and colleagues.
-
- Gregory Czaja, Lexington 8-545-3311 1992/10/02 12:37
-
- ----- OS2REXX CFORUM appended at 13:44:47 on 92/10/05 GMT (by PERSHNG at YKTVMH)
- Subject: VREXX and OOREXX (& PL/1)
- Ref: Append at 16:41:03 on 92/10/02 GMT (by CONT00 at LEXVMK)
-
- The ivory letter number is 292-501.
-
- One "feature" that Gregory omitted is the price tag: $2750.
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 17:18:15 on 92/10/05 GMT (by NAAO3IY at HONE82)
- ..... OS2REXX CFORUM modified at 03:36:40 on 92/10/06 GMT (by HOPKINS at AUSVM8)
- Subject: oops, try again, no text in append -ken
- Ref: Append at 21:48:36 on 92/10/01 GMT (by IL32772 at OS2CUST)
-
- ----- OS2REXX CFORUM appended at 17:44:25 on 92/10/05 GMT (by PETERHS at DKIBMVM2)
- Subject: How to create WPPRINT class-object using REXXUTIL (SysCreate..)
-
- I would like to create a Printer Object (class=WPPRINT) using the
- SysCreateObject call from REXX. But I can't find documentation on
- the attribut SETUP, which is the key to make a LAN Printer
- object.
-
- Please Help. Peter Holm, Denmark.
-
- ----- OS2REXX CFORUM appended at 19:12:56 on 92/10/05 GMT (by NAAO3IY at OS2CUST)
- Subject: Com Mgr control
- Ref: Append at 21:48:36 on 92/10/01 GMT (by IL32772 at OS2CUST)
-
- "Inactive session" is a bit ambiguous. You can use HLLAPI to log on
- (at least to 3270 -- I don't know the 5250 world), but you can't use
- it to go to Communications Manager and issue a start. However, you
- could use REXX to start Communications Manager itself, and you should
- be able to arrange matters so that that would cover 99.9% of cases.
-
- John Kennedy -- Hoechst Celanese, Bridgewater, NJ (The OS/2 Hobbit)
-
- ----- OS2REXX CFORUM appended at 13:56:32 on 92/10/06 GMT (by HITTR at OS2CUST)
- Subject: syscreateobject and linefeed problem
-
- The syscreateobject is not taking the linefeed in the setup='set dos_version li
- ne. I have tried two ways to do this, one by assigning a variable to '0A'x and
- then putting the variable in the line. The other method is putting an alt num
- eric keypad 10. The variables are set (classname, location, setup, title)
- and a procedure is called with the syscreateobject. I am getting the setup
- from an object that was created just prior to the one with the line feed.
-
- If I make the cmd file to only build the one object, it still gets the setup
- from the the previous object created successfully. If it is run on a machine a
- fter a fresh bootup, the SETUP is not taken at all. The setup items in the ico
- n are all blank/default.
-
- By the way, the goal is to create Lotus 123 3.1+ icon with the lotus exes and c
- oms in the dos_version section of the dos settings. Any help would be greatly
- appreciated.
-
- Bob Hitt, Missouri Highway & Transportation Department
-
- ----- OS2REXX CFORUM appended at 15:09:00 on 92/10/06 GMT (by PERSHNG at YKTVMH)
- Subject: VREXX and OOREXX (& PL/1)
- Ref: Append at 13:44:47 on 92/10/05 GMT (by PERSHNG at YKTVMH)
-
- I got a copy of PL/I-for-OS/2 (PL/I/2 ?), and it looks like it is a
- really super implementation. The best thing is that the compiler
- actually admits that its programs will operate in an "environment" that
- is defined by the operating system (OS/2 with PM) rather than by PL/I;
- so, it appears to be absolutely straightforward to interface with the
- system facilities. (Now, if only the PL/I-for-CMS compiler would admit
- that it is operating in a CMS environment... :-)
-
- Indeed, there's a "truck-load of new function".
-
- John A. Pershing Jr.
-
- ----- OS2REXX CFORUM appended at 15:18:30 on 92/10/06 GMT (by JERKEWIT at DALVM41B)
- Subject: SysFileTree not finding $file
- Greetings, I have come upon a peculiar result in using
- SysFileTree. I have a directory with 15 files, 7 of which
- start with a $. If I issue SysFileTree "C:\mydir\*" stem
- I do not retrieve the files that start with a $. However,
- when I issue SysFileTree "C:\mydir\$*" stem I do get the
- $ files. I wish to retrieve ALL files, How do I do this?
- or is this an insect of sorts?
-
- thanx for any help
- Peter Jerkewitz @ DALVM41B
-
- ----- OS2REXX CFORUM appended at 15:31:38 on 92/10/06 GMT (by ALIU at BOSTON) -
- Subject: Thanks - Trying to get file info
-
- I just wanted to write a note of thanks to all those helpful folks
- who took the time to send me notes on obtaining directory information
- on PC files. The sample program fragments and programming advice was
- very helpful indeed. For those interested, I finally settled on using
- the QUERYINFO function. It may also interest you to know the customer
- was very impressed with the capabilities of the REXX/2 language, and
- is trying to learn REXX himself (He's only had prior experience with
- mainframes.) on the PC! Thanks again!
-
- Art Liu (ALIU @ BOSTON)
- IBM Services Company
- Client Server Practice
-
- ----- OS2REXX CFORUM appended at 17:20:04 on 92/10/06 GMT (by MCGUIRE at GDLVM7)
- Subject: SysFileTree not finding $file
- Ref: Append at 15:18:30 on 92/10/06 GMT (by JERKEWIT at DALVM41B)
-
- I'm unable to reproduce this problem on either FAT or HPFS, so I'm not sure
- what to tell you. You might want to try using the filespec 'C:\mydir\*.*'
- instead.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 18:19:04 on 92/10/06 GMT (by JERKEWIT at DALVM41B)
- Subject:SysFileTree not finding $
- If I issue SysFileTree "\\PLUTO\RSC\mydir\*" stem
- I get all the files, including $TEST.Fil.
- When I issue the same thing to a local HPFS drive
- I do not get the $ files. Am running GA OS/2 2.0.
-
- If I issue SysFileTree "C:\mydir\?T*" stem
- I get the expected results.
-
- thanx for any help Rick
- Peter Jerkewitz @ DALVM41B
-
- ----- OS2REXX CFORUM appended at 19:09:37 on 92/10/06 GMT (by CONT00 at LEXVMK)
- Subject: syscreateobject and linefeed problem
- Ref: Append at 13:56:32 on 92/10/06 GMT (by HITTR at OS2CUST)
-
- The following code illustrates what you should do:
- setup=,
- 'SET DOS_VERSION=EXE2BIN.COM^,5^,0^,255'||'0A'X||xxxxx^,5^,0^,255;'||,
- 'SET DOS_DEVICE=C:\OS2\MDOS\ANSI.SYS'||','||'C:\OS2\MDOS\EGA.SYS';
- It translates to:
- - to separate multivalue entries for the same SET_DOS... use either
- '0A'x or ','(which gets translated to newline),
- - to separate values for an entry (separator appears externally as ","
- on the settings page), use "^,". The carat "^"(shift-6) is used as an
- escape character switching off the translation of ",".
- (BTW: you have to use "^" for semicolons if used as a value in a setup
- string).
-
- Since you don't mention the 5-th parameter of SysCreateObject, I assume
- that you don't have the current REXXUTIL.DLL - look for REXX20 update.
- The problem with setup string being taken over from the last valid object
- create was fixed by SOMFIX some time ago (May ?).
- Also look for an append in this forum by MIKELAMB at KGNVMC dated
- 92/06/19 at 12:37:10.
-
- Gregory Czaja, Lexington 8-545-3311 1992/10/06 14:56
-
- ----- OS2REXX CFORUM appended at 19:46:35 on 92/10/06 GMT (by MCGUIRE at GDLVM7)
- Subject: SysFileTree not finding $
- Ref: Append at 18:19:04 on 92/10/06 GMT (by JERKEWIT at DALVM41B)
-
- Ok, got it working (or failing actually...I could have sworn that that disk
- was formatted HPFS the first time!). I traced through the Rexx code, and it
- looks like these files aren't even being returned by the DosFindNext code.
- This looks like a file system problem.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 00:20:32 on 92/10/07 GMT (by BCHI040 at OS2CUST)
- Subject: VREXX2 Problems, Access violation VREXX.DLL
-
- I just downloaded a very nice PM interface for REXX lots of
- functionality but I have one problem I can only run my rex
- application only one time. Any time after teh first execution I
- receive a Program generated an access violation at 16f101fc VREXX.DLL
- 0001.
-
- I hope there is a solution to this because I really like the idea of
- a PM interface for REXX.
-
- Jerry Hittle, Hawaii Medical Service Ass'n P.O. Box 860 Hon Hi 96808
-
- ----- OS2REXX CFORUM appended at 02:53:58 on 92/10/07 GMT (by IL41468 at HONE81)
- Subject: VREXX2 Problems, Access violation VREXX.DLL
- Ref: Append at 00:20:32 on 92/10/07 GMT (by BCHI040 at OS2CUST)
-
- Jerry:
- Did you call VExit at the end of your routine? If you don't Vrexx is locked
- to you until you boot again.
-
- J.M.Schaeffer ('John' AIMS Sandy, Utah)
-
- ----- OS2REXX CFORUM appended at 11:08:38 on 92/10/07 GMT (by SSYYED at GNKVM2)
- Subject: SYSCREATEOBJECT SYSSETOBJECTDATA
-
- I cannot create an object correctly when using a SETUP string
- greater than 256 Characters. Either the object is not created
- with the right program, or with default DOS SETTINGS,,
-
- While SETOBJECTDATA resets all DOS SETTINGS and only uses
- what is passed (as opposed to modifying),
-
- Are these working properly ?? Is there a way around these ?
-
- Thanks
- Sohail Syyed
-
- ----- OS2REXX CFORUM appended at 14:14:07 on 92/10/07 GMT (by CONT00 at LEXVMK)
- Subject: SYSCREATEOBJECT SYSSETOBJECTDATA
- Ref: Append at 11:08:38 on 92/10/07 GMT (by SSYYED at GNKVM2)
-
- The new version of PMWIN (available in 32bit GRE: in beta now and in
- Service PAck) lifts the limit on the 256 character setup string.
-
- Gregory Czaja, Lexington 8-545-3311 1992/10/07 10:12
-
- ----- OS2REXX CFORUM appended at 17:17:35 on 92/10/07 GMT (by BCHI040 at OS2CUST)
- Subject: VREXX2 Problems, Access violation VREXX.DLL
- Ref: Append at 02:53:58 on 92/10/07 GMT (by IL41468 at HONE81)
-
- Here is the test.cmd file that I am having problems with, still locks up....
- '@echo off'
- call RxFuncAdd 'VInit', 'VREXX', 'VINIT'
- initcode = VInit()
- if initcode = 'ERROR' then signal CLEANUP
-
- signal on failure name CLEANUP
- signal on halt name CLEANUP
- signal on syntax name CLEANUP
-
- item.0 = 9
- item.1 = 'D:\dbiw\ddl\TBGRP.DDL'
- item.2 = 'D:\dbiw\ddl\TBGBNFT.DDL'
- item.3 = 'D:\dbiw\ddl\TBBSUMM.DDL'
- item.4 = 'D:\dbiw\ddl\TBIWMBR.DDL'
- item.5 = 'D:\dbiw\ddl\TBSBNFT.DDL'
- item.6 = 'D:\dbiw\ddl\TBSFIN.DDL'
- item.7 = 'D:\dbiw\ddl\TBSUBS.DDL'
- item.8 = 'D:\dbiw\ddl\TBPRV.DDL'
-
- item.9 = 'D:\dbiw\ddl\TBOPER.DDL'
-
- call VCheckBox 'Select Item(s)', item, selection, 1
-
- do i = 1 to selection.0
- say(selection.i)
- end
- call VMsgBox 'Selected item(s)', selection, 1
-
- call VExit
-
- CLEANUP:
- call VExit
- exit
-
- If you have any suggestions let me know. Thanks...
-
- Jerry Hittle, Hawaii Medical Service Ass'n P.O. Box 860 Hon Hi 96808
-
- ----- OS2REXX CFORUM appended at 17:41:12 on 92/10/07 GMT (by XXSEAR12 at TORVMCOP)
- Subject: Starting objects serially
- Ref: Append at 19:12:31 on 92/09/25 GMT (by XXMUTL27 at TORVMCOP)
-
- Here's another vote for a solution.
-
- We need to be able to run DOS applications especially 123 in the LAN environment
- Can anyone help ?
-
- Matt Armata, Sears Canada Inc.
-
- .
-
- ----- OS2REXX CFORUM appended at 18:58:22 on 92/10/07 GMT (by BCHI040 at OS2CUST)
- Subject: Does VREXX trap out on your XGA?
- Ref: Append at 13:03:42 on 92/10/02 GMT (by XXMUTL27 at TORVMCOP)
-
- I to have had some problems with SYS3175 errors. If I run the demo progrms they
- work fine but when I create a small test.cmd to try one function and I do incl
- ude the call VExit I crash upon exit with a SYS3175. Once the error is issued
- I can no longer shutdown I have to CTRL-ALT-DEL to IPL the system.
-
- Here is my test.cmd code
-
- /* TEST.CMD */
- '@echo off'
- call RxFuncAdd 'VInit', 'VREXX', 'VINIT'
- initcode = VInit()
- if initcode = 'ERROR' then signal CLEANUP
- signal on failure name CLEANUP
- signal on halt name CLEANUP
- signal on syntax name CLEANUP
- Signal on error name CLEANUP
- item.0 = 9
- item.1 = 'D:\dbiw\ddl\TBGRP.DDL'
- item.2 = 'D:\dbiw\ddl\TBGBNFT.DDL'
- item.3 = 'D:\dbiw\ddl\TBBSUMM.DDL'
- item.4 = 'D:\dbiw\ddl\TBIWMBR.DDL'
- item.5 = 'D:\dbiw\ddl\TBSBNFT.DDL'
- item.6 = 'D:\dbiw\ddl\TBSFIN.DDL'
- item.7 = 'D:\dbiw\ddl\TBSUBS.DDL'
- item.8 = 'D:\dbiw\ddl\TBPRV.DDL'
- item.9 = 'D:\dbiw\ddl\TBOPER.DDL'
- call VCheckBox 'Select Item(s)', item, selection, 1
- do i = 1 to selection.0
- say(selection.i)
- end
- call VMsgBox 'Selected item(s)', selection, 1
- CLEANUP:
- call VExit
- Exit
-
- I really like this tool and hope to find a solution. I also hope IBM realizes
- the potential of this tool and makes it part of the production OS/2.
-
- Thanks
-
- Jerry Hittle, Hawaii Medical Service Ass'n P.O. Box 860 Hon Hi 96808
-
- ----- OS2REXX CFORUM appended at 19:43:03 on 92/10/07 GMT (by MUELLER at AUSVM6)
- Subject: SYSCREATEOBJECT SYSSETOBJECTDATA
- Ref: Append at 14:14:07 on 92/10/07 GMT (by CONT00 at LEXVMK)
-
- Is there a way to set the Desktop - Settings Background Display mode
- (Normal, Tiled or Scaled,) under the 32bGRE?
-
- On GA the default is always Scaled.
-
- J e r r y MUELLER@AUSVM6.VNET.IBM.COM
-
- ----- OS2REXX CFORUM appended at 00:10:44 on 92/10/08 GMT (by IL41468 at HONE84)
- Subject: VREXX2 Problems, Access violation VREXX.DLL
- Ref: Append at 17:17:35 on 92/10/07 GMT (by BCHI040 at OS2CUST)
-
- Jerry:
- In the code you are executing VExit twice. Try it pulling out the first call
- VExit. Rexx drops through a label. I don't know if this will work but try it
- and see.
-
- J.M.Schaeffer ('John' AIMS Sandy, Utah)
-
- ----- OS2REXX CFORUM appended at 00:11:35 on 92/10/08 GMT (by IL41468 at HONE84)
- Subject: Does VREXX trap out on your XGA?
- Ref: Append at 18:58:22 on 92/10/07 GMT (by BCHI040 at OS2CUST)
-
- Jerry:
- How far to you get in the REXX procedure. Does the say selection.i work?
- do you get the VMsgBox window?
-
- J.M.Schaeffer ('John' AIMS Sandy, Utah)
-
- ----- OS2REXX CFORUM appended at 17:42:10 on 92/10/08 GMT (by NAAG8T6 at OS2CUST)
- Subject: Does VREXX trap out on your XGA?
- Ref: Append at 18:58:22 on 92/10/07 GMT (by BCHI040 at OS2CUST)
-
- I have the same problem - SYS3175 trying to test a VREXX procedure. I am
- also using XGA. I was testing VMultBox. Sometimes the box appears but more
- often the session crashes with SYS3175 and then I haven't found how to
- recover without reboot (and then it mostly happens again...). I run the
- VExit code if it gets there (the SYS3175 screen makes it hard to tell if
- it really ran or not).
-
- I also would like to vote for IBM extending this freeware into a product
- along the lines of Visual Basic.
-
- Bruce Ferrero @ Aetna, Middletown, CT
-
- ----- OS2REXX CFORUM appended at 20:10:26 on 92/10/08 GMT (by ALIU at BOSTON) -
- ..... OS2REXX CFORUM modified at 21:12:02 on 92/10/08 GMT (by ALIU at BOSTON) .
- Subject: Can I use PC Support APIs in REXX program?
- *** Fixed Typos - Ughhh!!! ***
- *** Fixed Wrong Manual Number ***
- ======================================================================
- The following was originally posted in PC CFORUM under IBMS3X Forum.
- I'm hoping someone can help out here as well.
- ======================================================================
- Hi!
-
- We've got a question relating to using PC Support APIs in a REXX
- program on a PS/2 running OS/2 V2.0 and AS/400 PC Support.
-
- Our team is performing services contract work for a customer, and
- one of our to do's is to write a REXX program to
- automate upload of an ASCII file (containing sales order data) on
- a PS/2 to a data queue on their AS/400, performing ASCII to EBCDIC
- conversion in the process.
-
- Specifically, we're looking at using the QSNDDTAQ API to accomplish
- the sending of the file to the data queue, but I suppose my question
- can be generalized to using PC Support APIs in languages other than
- REXX and PASCAL. (See p. 14-29 of the PC Support API Reference manual,
- | SC41-8254.) As a last bit of confusion / difficulty, QSNDDTAQ seems to
- expect a Field Name for data to send, while I have a PC File to send to
- | the queue.
-
- The AS/400 PC Support API Reference Manual states that
- | these APIs can be used "in any programming language" that runs on
- the PS/2. The examples in the manual relate only to C and PASCAL.
- REXX/2 can use routines in OS/2 DLLs, but I don't see any references
- to those things in the manual. And, unlike RFROMPC, it's not a .EXE
- file, so that our REXX/2 program can't just call it externally (or
- so I think).
-
- And before anyone else asks, we can't use RFROMPC, because the PS/2 file
- | will contain only new sales order data on each incoming sales order.
- Using RFROMPC will cause an OVERWRITE of the member on the AS/400; We
- need to APPEND in that case. Sending to a data queue is better, since
- their AS/400 CL programs can then process them off the queue, and
- avoid obliterating any previous sales order data.
-
- So my questions are: How does one use these APIs in a language other
- than C and PASCAL? In particular, how does one use them with REXX/2?
- Any one else have experience in using REXX/2 and PC Support APIs have
- any comments to make on this?
-
- Thanks in advance for your comments!
-
- Art S. Liu (ALIU @BOSTON)
- IBM Services Company
- Client Server Practice
- Waltham, MA
-
- ----- OS2REXX CFORUM appended at 20:19:53 on 92/10/08 GMT (by VOYAGER at GDLVM7)
- Subject: Can I use PC Support APIs in REXX program?
- Ref: Append at 20:10:26 on 92/10/08 GMT (by ALIU at BOSTON)
-
- The first solution that comes to mind is to write an
- program in C or PASCAL that uses the APIs, and can
- be called from REXX.
-
- Another solution would be to create a DLL containing
- new functions that use the APIs, then register these
- with REXX.
-
- Robert Maiolini
-
- ----- OS2REXX CFORUM appended at 22:20:44 on 92/10/08 GMT (by DEV2625 at HONE83)
- Subject: Passing a stem variable to an external function . . .
- Ref: Append at 16:12:54 on 92/09/25 GMT (by STHOWELL at DALHQIC2)
-
- As extensions to our product we pass the base of the complex
- to a C extension in a Dll. Once we have the name, we loop through
- the RexxVariablePool which returns all variables from the root.
-
- Frank V. Castellucci ¢COL Systems|
-
- ----- OS2REXX CFORUM appended at 01:04:06 on 92/10/09 GMT (by AAAF0CY at OS2CUST)
- Subject: VREXX and OOREXX
- Ref: Append at 20:56:38 on 92/09/30 GMT (by BONILLA at KGNVMZ)
-
- As an IBM customer, I appreciate the effort being put forth to bring
- some of these programs to us. Internally, IBM has some of the
- brightest minds around and you hit it on the head when you said these
- types of products give IBM a competitive advantage. Just keep them
- coming!!!!
-
- Jim Sauber, MN Mutual
-
- ----- OS2REXX CFORUM appended at 01:11:26 on 92/10/09 GMT (by AAAF0CY at OS2CUST)
- Subject: Starting objects serially
- Ref: Append at 19:12:31 on 92/09/25 GMT (by XXMUTL27 at TORVMCOP)
-
- We have been trying to do this exact thing too for the exact same
- reasons. I talked with IBM development and there response was that
- the SysCreateObject call didn't work this way. I then went looking in
- other directions and came across a program called STARTD in
- STARTD.ZIP. It is a C pgm that does the same thing, but allows you to
- create the window as a child window so that the parent will be
- notified when the child terminates. Unfortunately, this works only
- for OS/2 windows and not DOS windows. I am pursuing this now and will
- try to let you know what I find.
-
- Jim Sauber, MN Mutual
-
- ----- OS2REXX CFORUM appended at 13:25:53 on 92/10/09 GMT (by ALIU at BOSTON) -
- Subject:What Forum to append to? RE: PC/Support APIs & REXX/2
-
- Hi,
-
- It seems I've appended to inappropriately to this forum (Apologies
- to the readers for the inappropriateness of the question here...)
-
- Can someone recommend an appropriate FORUM for this question???
- Replies to my reader if you wish to contact me offline on this.
-
- Art S. Liu (ALIU @BOSTON)
- IBM Services Company
- Client Server Practice
- Waltham, MA
-
- ----- OS2REXX CFORUM appended at 14:34:00 on 92/10/09 GMT (by SBCY006 at OS2CUST)
- Subject: Rexx Procedure run from the CONFIG.SYS
-
- We a have a LOGIN.EXE program we have been calling frmo the CONFIG.SYS for
- people to use when they login to our Netware server. We put it in the CONFIG.SY
- S so that they would be logged in before the startup folder runs. The
- problem was if they made a mistake on Login then the process ended and startup
- continued. I wrote a small Rexx that gave them three tries and some information
- on what they did wrong. My problem now is that I am having a problem running a
- Rexx procedure from the CONFIG.SYS. I did try a
- CALL=D:\OS2\CMD.EXE /K "LOGME.CMD"
- but the /K parm did not work and the Rexx procedure was not called. I did get a
- CMD session but I could not even run the rexx manually for some reason.
-
- Two Questions
- 1) Can I get a Rexx Procedure to run from the CONFIG.SYS
- 2) How ?
-
- Matthew Moran- County of Santa Barbara - SBCY006/HONE83
-
- ----- OS2REXX CFORUM appended at 14:47:01 on 92/10/09 GMT (by MRTOM at YKTVMV)
- ..... OS2REXX CFORUM modified at 14:59:34 on 92/10/10 GMT (by MRTOM at YKTVMV)
- Subject: Rexx Procedure run from the CONFIG.SYS
- Ref: Append at 14:34:00 on 92/10/09 GMT (by SBCY006 at OS2CUST)
-
- | What the *heck* am I thinking about? As pointed out below, REXX is
- | not active until the OS/2 shell comes up. You can't run a REXX
- | program from CONFIG.SYS.
-
- | I have a non-REXX program that gets run from the CONFIG.SYS as follows:
- CALL=D:\OS2\CMD.EXE /C CORELOCK.CMD
- This works. I wouldn't think that the differences from your example
- (/C instead of /K, no quotes) would make any difference, but try it
- this way and see if it helps. Also note that running programs via
- CMD.EXE this way can act strangely on XGA systems; the actual results
- can range from spurious error messages during CONFIG.SYS processing to
- the system refusing to boot.
-
- Tom Bridgman
- CORE and OS/2 Services - Watson
-
- ----- OS2REXX CFORUM appended at 18:11:51 on 92/10/09 GMT (by FRMLSPA at HONE84)
- Subject: How to delete entries from OS2SYS.INI
- Ref: Append at 22:29:12 on 92/07/08 GMT (by XXMINC08 at TORVMCOP)
-
- There is also a program EDTINI on the OS2BBS which lets you open
- and edit your OS2.INI and OS2SYS.INI (delete being one of the options).
- I haven't used it to change anything, just to "look around".
-
- Scott Atwell - Analyst Programmer - Farmland Industries, Kansas City, MO
-
- ----- OS2REXX CFORUM appended at 18:12:20 on 92/10/09 GMT (by FRMLSPA at HONE84)
- Subject: Starting a REXX procedure from a DOS session
- Ref: Append at 15:02:49 on 92/07/14 GMT (by CS04116 at OS2CUST)
-
- You can start a DOS session from an OS/2 session but not vice-versa.
- It would be possible to have a .CMD file kick off DOS sessions and a REXX program.
- The only other approach I can think of is to start an OS/2 process
- which is just a batch file which loops checking for the existance of
- a particular file. Have your DOS session create the "flag file" and the
- looping batch file kick off the REXX task when the file exists (and take
- care of deleting it so it doesn't continually keep starting your REXX
- program.
-
- Scott Atwell - Analyst Programmer - Farmland Industries, Kansas City, MO
-
- ----- OS2REXX CFORUM appended at 19:22:21 on 92/10/09 GMT (by CTRIPP at CARVM3)
-
- Subject: PM Applications
-
- Does anyone have an interest/requirement to
- develop PM applications using REXX?
-
- If so, please send me a note at USIBMKSA @ IBMMAIL or
- through Internet to CJONES @ CARVM3.VNET.IBM.COM
-
- Thanks in advance............
-
- CHUCK TRIPP
- IBM PRGS
- UI Tools Technical Office
- Cary, NC 27511
-
- Phone: 919-469-6551
-
- ----- OS2REXX CFORUM appended at 21:15:02 on 92/10/09 GMT (by V$IGREGO at BCRVM7)
- Subject: RC(1002)
-
- I am getting this RC(1002) error from rexx. The program has run before
- without any problem... Any ideas any one ? Chris
-
- ----- OS2REXX CFORUM appended at 21:49:41 on 92/10/09 GMT (by XXNOVA24 at TORVMCOP)
- Subject: PM Applications
- Ref: Append at 19:22:21 on 92/10/09 GMT (by CTRIPP at CARVM3)
-
- Since I can't send messages across the border, I'm posting it here.
- For quick and dirty apps, I'm interested in V-PM-Rexx
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583 Fax (403)-290-5900
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 22:29:11 on 92/10/09 GMT (by FCOC079 at OS2CUST)
- Subject: RC(1002)
- Ref: Append at 21:15:02 on 92/10/09 GMT (by V$IGREGO at BCRVM7)
-
- In what context are you getting the error? Issuing an environment (OS/2)
- command from within a Rexx program? Trying to invoke your Rexx program?
- ????
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 00:09:44 on 92/10/10 GMT (by BCHI040 at HONE81)
- Subject: VREXX2 Problems, Access violation VREXX.DLL
- Ref: Append at 00:10:44 on 92/10/08 GMT (by IL41468 at HONE84)
-
- Thanks, That seemd to help. But I still have some questions
-
- 1. If the REXX ABENDS due to syntax error and I must reboot to run again.
-
- 2. If I set the SIGNAL on Syntax name Cleanup VExit is called and I have no
- debug syntax error messages and I still get a SYS3170 error
-
- 3. Is there any other way to reset or release the VREXX.DLL
-
- I really like the functions that VREXX offer I just wish they were integrated into
- REXX a little better.
-
- Jerry Hittle Hawaii Medical Service Assn.
-
- ----- OS2REXX CFORUM appended at 00:15:41 on 92/10/10 GMT (by AMBC006 at MARTLINK)
- Subject: Rexx Procedure run from the CONFIG.SYS
- Ref: Append at 14:47:01 on 92/10/09 GMT (by MRTOM at YKTVMV)
-
- If you are running a Rexx exec from the Config.sys I would be extremely
- interested in knowing how you're doing it. I have been able to execute
- command files (inisave.cmd and the like) but unless something has changed
- recently I've never been able to execute a Rexx exec. I define a Rexx
- exec as a command file that has a /* */ in the first line. Until recently
- I've kept a simple 'hello.cmd' in my config.sys that simply redirect the
- output of a 'Say "hello" time()' to a file, and I never found my hello line.
- I thought that rexx wasn't available until the startup went thru the
- 'LoadOneTime' of the SYS_DLLS for REXXINIT. I've considered using the
- Rexinit.EXE that came in the Remote Installation to get rexx running but
- haven't had the time -- yet.
-
- Michael Suszko, Jr (A. M. Best Co., Oldwick NJ)
-
- ----- OS2REXX CFORUM appended at 23:17:37 on 92/10/10 GMT (by FFX1016 at OS2CUST)
- Subject: VREXX2: Good Job
-
- I've just started playing with VREXX2 and I think is one of the best
- things that happened to OS/2 since going 32bit. I think this product
- should become a part of the base system and fully supported. It seems
- to be the most logical extension of OS/2 base system. I'am using
- VREXX to convince our sys programmers how easy OS/2
- installation/customization is! Hope you keep improving on this. Thanks.
-
- Sanjay Jeer
-
- ----- OS2REXX CFORUM appended at 09:55:18 on 92/10/11 GMT (by G13 at TELVM1) --
- Subject: COBOL program registration
- How do i register a COBOL (either DLL or EXE) program as an
- external function to be called from REXX ?? Has a COBOL program
- to indicate somehow in its source that it is going to be used as
- an external function ? An example, please ! ! !
- Thanks in advance,
- Eugene Deborin.
-
- ----- OS2REXX CFORUM appended at 18:49:22 on 92/10/11 GMT (by FCOC079 at OS2CUST)
- Subject: COBOL program registration
- Ref: Append at 09:55:18 on 92/10/11 GMT (by G13 at TELVM1) --
-
- Nothing special needs to be done. If your external function is a DLL, just
- register it by using the RxFuncAdd function. If your external function is an
- EXE, use the RexxRegisterFunctionEXE call from within your code. What COBOL
- are you using, MicroFocus ???
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 10:20:26 on 92/10/12 GMT (by 70653267 at EHONE)
- Subject: REXX macro space execution
- I'm running under 1.3
- My Goal is to execute a REXX Function in the Macro Space.
- I generated a Macro Lib File "SAVE.CMD" with RxMacroSave, it works Fine |
- (This Lib File contains one Function "RXTEST".
- I loaded this File and the "RXTEST" test Function with RxMacroLoad,
- it works Fine |
- Now I'm trying to execute this "RXTEST" function with the REXXSAA func.
- Unfortunately it does not work. The return code is always -3.
- here is my Code :
-
- src = RxMacroErase();
- src = RxMacroLoad (0,NULL,"SAVE.CMD");
-
- src=REXXSAA ( (SHORT) 1,
- (PRXSTRING) arg,
- (PSZ) "RXTEST",
- (PRXSTRING) NULL,
- (PSZ) NULL,
- (SHORT) RXFUNCTION,
- (PRXSYSEXIT) NULL,
- (PSHORT) &srexxrc,
- (PRXSTRING) &rexxretval );
-
- What have I missed ?
- thanks in advance for your help
-
- ----- OS2REXX CFORUM appended at 11:19:33 on 92/10/12 GMT (by SBSTBEG at OS2CUST)
- Subject: PM Applications
- Ref: Append at 19:22:21 on 92/10/09 GMT (by CTRIPP at CARVM3)
-
- Since acquiring VREXX, I have become interested in PM programming in
- REXX. VREXX has made it possible to make quick and dirty PM
- programs.
-
- Bill Stephens
-
- ----- OS2REXX CFORUM appended at 11:57:28 on 92/10/12 GMT (by WZ00533 at LINK21)
- Subject: PM Applications
- Ref: Append at 19:22:21 on 92/10/09 GMT (by CTRIPP at CARVM3)
-
- Chuck,
-
- I will try to send this reponse to your IBMMAIL address, but
- I will also state here that I would like to create PM apps in
- REXX. I don't expect to create 'production' apps, rather I
- think REXX would be a create rapid prototyping tool. Also I
- believe we can use it as a general purpose utiltity language.
- Go for it!!!
-
- Dave Ferrey - Bethlehem Steel Corp. Bethlehem PA.
-
- ----- OS2REXX CFORUM appended at 12:35:09 on 92/10/12 GMT (by PRICESG at GDLVM7)
- Subject: REXX macro space execution
- Ref: Append at 10:20:26 on 92/10/12 GMT (by 70653267 at EHONE)
-
- The REXXSAA function does not have the ability to invoke programs
- from the macrospace. In a 16-bit environment, macrospace programs
- may only be called as REXX functions or subroutines.
-
- RexxStart, the 32-bit equivalent, _does_ permit invocation of
- macrospace routines.
-
- Steve Price SAA REXX Development
-
- ----- OS2REXX CFORUM appended at 14:33:36 on 92/10/12 GMT (by SBCY006 at OS2CUST)
- Subject: Rexx Procedure run from the CONFIG.SYS
- Ref: Append at 14:47:01 on 92/10/09 GMT (by MRTOM at YKTVMV)
-
- I didn't mean to imply that I am currently doing this but I have a need to
- do this. I sounds like since the Shell is up yet that it won't work. I am
- not doing anything fancy in my Rexx Procedure except for a SELECT which I
- can get rid of and also some RC checking. Can I do RC checking in a "normal"
- command file under OS/2 to solve my problems.
-
- Matthew Moran- County of Santa Barbara - SBCY006/HONE83
-
- ----- OS2REXX CFORUM appended at 15:00:58 on 92/10/12 GMT (by IL22868 at HONE83)
- Subject: Rexx Procedure run from the CONFIG.SYS
- Ref: Append at 14:33:36 on 92/10/12 GMT (by SBCY006 at OS2CUST)
-
- Try the ERRORLEVEL keyword. It is not as convenient to use as Rexx's RC, but
- with some effort, it can do the job. ERRORLEVEL should be described in DOS
- BAT and OS/2 CMD references (the online OS/2 Command Reference).
-
- ----- OS2REXX CFORUM appended at 20:54:43 on 92/10/12 GMT (by V$IGREGO at BCRVM7)
- Subject: RC(1002)
- Ref: Append at 22:29:11 on 92/10/09 GMT (by FCOC079 at OS2CUST)
-
- I get this error when issuing an OS2 environment variable command from
- within a REXX command file.
- Re-booting eliminated all errors, though. I'm still curious as to
- why the error occurred. Christian
-
- ----- OS2REXX CFORUM appended at 06:49:41 on 92/10/13 GMT (by IL78711 at OS2CUST)
- Subject: VREXX2: Good Job
- Ref: Append at 23:17:37 on 92/10/10 GMT (by FFX1016 at OS2CUST)
-
- I mentioned several weeks ago that I thought that VREXX should be added to
- the OS/2 base. Hopefully if IBM gets plenty of feedback they will see its
- obvious competitive advantages. I will be very surprised if thy
-
- not add
- it to the product. It looks like such a low cost addition it should be a
- no-brainer!?
-
- ----- OS2REXX CFORUM appended at 15:00:42 on 92/10/13 GMT (by PPBKR at HONE84)
- Subject: REXX20 - DLL replacement
- Ref: Append at 06:49:41 on 92/10/13 GMT (by IL78711 at OS2CUST)
-
- I have developed a REXX program that will get executed every
- time someone logs into our Novell server. This REXX program
- utilizes several new commands contained in the REXX20 upgrade.
- Unfortunately, most of our users haven't installed the REXX20
- DLL's. So, I've written a small procedure that checks the
- date on their REXX.DLL, REXXAPI.DLL, REXXINIT.DLL, and REXXUTIL.DLL.
- If they don't have the correct DLL's, I copy a self extracting ZIP
- file to their \OS2\DLL subdirectory and ask the user to boot to
- their installation diskettes, change to \OS2\DLL, unzip the
- new DLL's, then reboot.
-
- This procedure can be difficult/annoying for a lot of our users
- (booting to an OS/2 boot disk or to the installation diskettes is
- the annoying part).
-
- 2 questions:
-
- 1) In my limited C/2 DLL development, I've always included a KILLDLL
- routine, which I could Call to cause my DLL to TRAP D (ie, unload),
- so I could re-compile, etc. I don't suppose any of these REXX DLL's
- contain a similar function?
-
- 2) Is there any other way to copy these DLL's to \OS2\DLL without booting
- to another system? For example: calling a .CMD file from the CONFIG.SYS
- that would copy these DLL's before REXX loads?
-
- Thanks in advance!
-
- Brian Surdahl, Phillips Petroleum Co.
-
- ----- OS2REXX CFORUM appended at 09:19:16 on 92/10/14 GMT (by G13 at TELVM1) --
- =========================================================================
- Subject: COBOL/2 program as REXX external function
- Dave,
- I am trying to use a COBOL program as a REXX external function. The COBOL
- is IBM COBOL/2 (the highest level we have got before IBM stopped to market it).
- The program is beeing linked as a DLL and gets registered by RxFuncAdd. That
- is OK.
- The problem is that when the program is beeing invoked by REXX it starts
- working (i see it with display commands) but when doing a GOBACK REXX gets
- an access violation and the session bumps out.
- Another problem (probably it is the same one) is that i can not find my input
- parameters. The LINKAGE SECTION of a COBOL problem gets 256 in its first
- word(that could be a length of RXSTRING) and valid address in its second
- word. I expected to find my input data at that address, but it was not
- there.
- To sum it up, how are the REXX program parameters (let us say only one
- parameter) passed to a COBOL program and how it is supposed to get them
- and return the answer ?
-
- Thanks again,
- Eugene Deborin,
- IBM Jerusalem Israel.
-
- ----- OS2REXX CFORUM appended at 13:47:19 on 92/10/14 GMT (by FCOC079 at OS2CUST)
- Subject: as REXX external function
- Ref: Append at 09:19:16 on 92/10/14 GMT (by G13 at TELVM1) --
-
- I don't know how close COBOL/2 is to recent MicroFocus (I heard that
- COBOL/2 is one of MicroFocus' older versions), but assuming the
- features that follow are supported, here's how I got it to work
- (in retrospect, I think this could have been done more easily):
-
- /
- Working-Storage Section.
- *--- Rexx External Function Parameter List (EFPL)
- 01 IRXEFPL-Func-Name Pic x(8).
- 01 IRXEFPL-Arg-Count Pic s9(4) Comp-5.
- 01 IRXEFPL-Arg-Array-Pointer Pointer.
- 01 IRXEFPL-Queue-Name Pointer.
- 01 IRXEFPL-EvalBlock-Addr Pointer.
- 01 RxString.
- 05 RxString-Len Pic s9(9) Comp-5.
- 05 RxString-Ptr Pointer.
- *--- Rexx Argument List
- 01 IRXEFPL-Arg-List.
- 05 IRXEFPL-Arg-Pair Occurs 20 Times.
- 10 IRXEFPL-Arg-Len Pic s9(9) Comp-5.
- 10 IRXEFPL-Arg-Ptr Pointer.
- *--- Result Buffer RXSTRING
- 01 IRXEFPL-Result.
- 05 IRXEFPL-Result-Len Pic 9(9) Comp-5.
- 05 IRXEFPL-Result-Ptr Pointer.
-
- /
- Linkage Section.
- 01 Work-Buf Pic x(32765).
- 01 Result-Buf Pic x(250).
-
- ...
-
- /
- Procedure Division OS2API Using
- By Reference IRXEFPL-Func-Name
- By Value IRXEFPL-Arg-Count
- IRXEFPL-Arg-Array-Pointer
- IRXEFPL-Queue-Name
- IRXEFPL-EvalBlock-Addr.
- *--- Get Arg # 1 as supplied by calling Rexx program
- If IRXEFPL-Arg-Count >= 1 Then
- If IRXEFPL-Arg-Len(1) > Zero Then
- Set Address Of Work-Buf To IRXEFPL-Arg-Ptr(1)
- Display 'Arg 1 is "' Work-Buf(1:IRXEFPL-Arg-Len(1)) '"'
- Else
- Display 'Arg 1 was supplied but was zero length'
- End-If
- Else
- Display 'Arg 1 was not supplied'
- End-If
-
- *--- Base EFPL Evaluation Block to return information to Rexx program
- * (use the 250 bytes the Rexx interpreter gives us by default, though
- * we could allocate our own storage if we needed more)
- Set Address Of IRXEFPL-Result
- To IRXEFPL-EvalBlock-Addr
- Set Address Of Result-Buf
- To IRXEFPL-Result-Ptr
- Move Zero To IRXEFPL-Result-Len
- String 'Here''s a response from the external function'
- Delimited By Size
- Into Result-Buf
- With Pointer IRXEFPL-Result-Len
-
- GoBack.
-
- Hope this helps, RSVP if questions, etc.
-
- Dave Boll
-
- ----- OS2REXX CFORUM appended at 21:56:15 on 92/10/14 GMT (by 347258 at DALVM21)
- Subject: OS2 1.3 AND OS2 2.0 STREAM IO RESTRICTIONS
- Does anyone know if os2 1.3 has any restriction for the number of times
- you can "close" the same file name within the same program. I am
- closing a file a large number of times and my code runs fine under
- os2/2.0. When I port to OS2 1.3 machine, I get different results.
- It seems that I might be at end of file after I do a close. I am
- hoping the close will assure that I am always starting at the top
- of the file with command junk = stream(outfile,c,'close')
-
- I have also found that in OS2 2.0 if I do not close a file initially
- before I use it for the very first time, the return code lines(myfile)
- = 0 at times
- and my program will end as if no data exists in the file, when really
- there is data in the file.
- junk = stream(myfile,c,'close')
- do until lines(myfile)=0
- end
- /* then I delete myfile and create it again using lineout cmd */
- Could anyone tell me why it might be necessary for me to close a
- file before I use it even though it could not possibly be at eof since
- I have not used it yet.Thanks in advance!
- K. Kovach (301)571-2211 Bethesda,MD DEM II
-
- ----- OS2REXX CFORUM appended at 17:19:18 on 92/10/15 GMT (by PWIS110 at OS2CUST)
- Subject: LAUNCHING DOS FROM REXX
-
- Is there an easy way to launch a DOS program from a menu
- displayed by a REXX procedure in OS/2 2.0? Currently, the
- DOS program runs successfully by clicking on an icon from
- the desktop. The DOS settings for this object were
- altered to give the application more expanded memory, more
- files, etc. Is it possible to have Rexx launch this
- program (or its pgm-object) so that its DOS settings are
- recognized? If it IS possible to do this, what happens
- when the user presses ALT+ESC after the DOS program gets
- launched? Will the focus return to the OS/2 DESKTOP, the
- REXX exec, or other?
-
- G. Monico
-
- ----- OS2REXX CFORUM appended at 17:57:56 on 92/10/15 GMT (by CNADLER at WMAVM1)
- Subject: LAUNCHING DOS FROM REXX
- Ref: Append at 17:19:18 on 92/10/15 GMT (by PWIS110 at OS2CUST)
-
- 1) You can use the SysCreateObject function of the latest REXX20 utils
- to start the program object, if you know it's ID (it's best to
- create it yourself.
- 2) Using this, the REXX CMD file will continue to run after it starts the
- DOS program.
- 3) I don't know where it would return to, but I suspect the desktop.
-
- See Mike Lamb's append from near the beginning of this forum for details
- of the SysCreateObject call and how to start objects (with settings).
-
- Cliff Nadler GO TEAM OS/2!
- Systems Integration and Services Rockville, MD
- IBM Federal Systems Company PROFS: NADLER at WMAVM7
-
- ----- OS2REXX CFORUM appended at 18:11:30 on 92/10/15 GMT (by ROK2027 at HONE82)
- Subject: Changing a Files date/time stamp ?
-
- Is there a function in rexx that will allow a files date and time stamps to be
- changed...?
-
- I have a user who has an application in which they want the date/time stamp for
- the applications created/updated files to have a date/time that will easily
- indicate when they were last changed if such a change was by something outside
- the application.
-
- ----- OS2REXX CFORUM appended at 05:59:36 on 92/10/16 GMT (by XXNOVA24 at TORVMCOP)
- Subject: Moving folders.
- How can I move (!) one folder into another one?
- I mean from REXX. With RMB is easy.
- This is part of a costumization program, I'd like to collect ALL of the
- ES, CM,LAN ,... folders to a Main folder.
- I knew the current location <..._FOLDER> and the target <MAIN_FOLDER>.
- I'm sure it can be done, but how?
-
- Geza Szivos
- NOVACOR Chemicals (403)-290-6583 Fax (403)-290-5900
- NHO-32 801-7th Ave Calgary, Alberta, CANADA T2P 2N6
-
- ----- OS2REXX CFORUM appended at 06:29:14 on 92/10/16 GMT (by THRUMD at SYDVM1)
- Subject: Moving folders.
- Ref: Append at 05:59:36 on 92/10/16 GMT (by XXNOVA24 at TORVMCOP)
-
- The MOVE command should do the trick if you are moving within the same
- drive.
-
- Dave
-
- ----- OS2REXX CFORUM appended at 15:48:05 on 92/10/16 GMT (by IL32772 at OS2CUST)
- Subject: PM Applications
- Ref: Append at 19:22:21 on 92/10/09 GMT (by CTRIPP at CARVM3)
-
- We do have interest in developing PM apps with rexx. I can provide some ideas
- as to our expectations if this will help. Please feel free to phone, since the
- items are extensive.
-
- Randy Cairns Systems Coordinator (515) 245-2322
-
- ----- OS2REXX CFORUM appended at 14:59:03 on 92/10/20 GMT (by JERKEWIT at DALVM41B)
- Subject:SysFileTree not Finding $ Files
-
- I have written a small C procedure to validate DosFindFirst2 and
- DosFindFirst. I get the expected results. This appears to be an insect
- in SysFileTree. Is this the correct place for this, or should I call
- Level 1 support? Any help will be welcome.
-
- Thanx...
- Peter Jerkewitz @ DALVM41B
-
- ----- OS2REXX CFORUM appended at 15:59:07 on 92/10/20 GMT (by NIBMC302 at RALVMG)
- Subject: RexxStart
- By: Dave Collom
-
- I think that the problem I may be having is that I am tryin to call
- RexxStart from a PM application. I am getting a RC of -48 which maps
- to "Failure In System Service" and it seems to be related to stdin and
- stdout. Has anyone seen this, and have any idea what to do about it?
- I suppose I could start a straight OS/2 process (using DosExecPgm) that
- calls RexxStart but that seems like a lot of overhead.
-
- Thanks,
- Dave Collom
- NIBMC302 at RALVMG
- OSI Tools Dev.
- RTP, NC
-
- ----- OS2REXX CFORUM appended at 17:30:29 on 92/10/20 GMT (by F0JASKUS at DCTVM1)
- Subject: SysCreateObject( 'WPPrinter', ...) ?
-
- I would like to create a WPPrinter object on the desktop. I want
- to use the SysCreateObject function. Is it possible? I think there
- are some secial Setup String keynames/values to define the printer.
- Does anybody know it?
-
- Christophe JAGUSIAK
-
- ----- OS2REXX CFORUM appended at 13:07:33 on 92/10/21 GMT (by HDEVORE at BOULDER)
- Subject: Re: SysCreateObject( 'WPPrinter', ...) ?
- Ref: Append at 17:30:29 on 92/10/20 GMT (by F0JASKUS at DCTVM1)
-
- > I would like to create a WPPrinter object on the desktop. I want
- >to use the SysCreateObject function. Is it possible?
-
- I don't think you can create a printer object in this manner. Printer
- objects are created as a byproduct or creating a queue. I read
- something about this recently and will try to find the information.
-
- Hal DeVore Space Station DMS Software Development
- HDEVORE at HOUVMSCC hdevore@houvmscc.vnet.ibm.com
-
- ----- OS2REXX CFORUM appended at 19:05:54 on 92/10/21 GMT (by ROK2027 at OS2CUST)
- ..... OS2REXX CFORUM modified at 20:05:39 on 92/10/21 GMT (by ROK2027 at OS2CUST)
- and Fonts
- This APPEND was deleted at 16:05:38 on 10/21/92 EST.
-
- ----- OS2REXX CFORUM appended at 20:08:47 on 92/10/21 GMT (by ROK2027 at OS2CUST)
- Subject: VREXX and Fonts
-
- I am attempting to put up a table using the VREXX VTableBox function
- and have noticed that it uses proportional fonts. The VSetFont is fine
- if you have a window-id, but that means you have to open a window and
- (apparently) put the data into it yourself. VTableBox creates the table
- using stem variables very nicely.
-
- 1. How can one change the fonts for the table contents in the
- VTableBox display?
-
- 2. What is the correct forum for reporting 'bugs' with VREXX and
- for asking questions.
-
- btw. here is the rexx application that I am trying to work with if you
- want to try it:
-
- /* rexx */
-
- call RxFuncAdd 'VInit', 'VREXX', 'VInit'
-
- call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
-
- call SysLoadFuncs
-
- Vinit_code = VInit()
- if initcode = 'ERROR' then signal Clean_Up
-
- Signal on failure name Clean_Up
- Signal on halt name Clean_Up
- Signal on syntax name Clean_Up
-
- Local_Disks = SysDriveMap('C:','LOCAL')
- Remote_Disks = SysDriveMap('C:','REMOTE')
-
- drives.0 = 1
- table.1. = ''
- table.1.1 = '***************'
- table.1.2 = '***************'
- table.1.3 = '***************'
- table.1.4 = '***************'
- table.1.5 = "Local Disks"
-
- do i = 1 to words(local_disks)
- drive = word(local_disks,i)
- info = SysDriveInfo(drive)
- parse value info with disk free total name
- d = drives.0 + 1
- drives.0 = d
- table.d.1 = disk
- call fix_num free/1024
- table.d.2 = number"kb"
- call fix_num (total-free)/1024
- table.d.3 = number"kb"
- call fix_num total/1024
- table.d.4 = number"kb"
- table.d.5 = strip(name)
- end /* do */
-
- d = drives.0 + 1
- drives.0 = d
- table.d. = ''
- table.d.1 = '***************'
- table.d.2 = '***************'
- table.d.3 = '***************'
- table.d.4 = '***************'
- table.d.5 = "Remote Disks"
-
- do i = 1 to words(Remote_disks)
- drive = word(remote_disks,i)
- info = SysDriveInfo(drive)
- parse value info with disk free total name
- d = drives.0 + 1
- drives.0 = d
- table.d.1 = disk
- call fix_num free/1024
- table.d.2 = number"kb"
- call fix_num (total-free)/1024
- table.d.3 = number"kb"
- call fix_num total/1024
- table.d.4 = number"kb"
- table.d.5 = strip(name)
- end /* do */
-
- table.rows = drives.0
- table.cols = 5
- table.label.1 = "Disk"
- table.label.2 = "Free Bytes"
- table.label.3 = "Used Bytes"
- table.label.4 = "Total Bytes"
- table.label.5 = "Volume Label"
- table.width.1 = 10
- table.width.2 = 15
- table.width.3 = 15
- table.width.4 = 15
- table.width.5 = 20
-
- height = drives.0
-
- call VTableBox 'Currently Active Drives',table,1,75,height,1
-
- Clean_Up:
- call VExit
- call SysDropFuncs
-
- exit 0
-
- fix_num:
- arg number
-
- point = pos('.',number)
- if point > 0 then len = point - 1
- else len = length(number)
-
- numeric = format(len/3,,0)
-
- offset = 3
-
- do x = 1 to numeric
- location = len - offset
- if location < 1 then leave
- offset = offset + 3
- number = insert(',',number,location,1)
- end
-
- return number
-
- Lionel Dyck - Rockwell International, Information Systems Center
-
- ----- OS2REXX CFORUM appended at 14:13:13 on 92/10/22 GMT (by MCGUIRE at GDLVM7)
- Subject: RexxStart
- Ref: Append at 15:59:07 on 92/10/20 GMT (by NIBMC302 at RALVMG)
-
- If you invoke a Rexx program with RexxStart, it runs in the same process as
- your application. For PM applications, this means that stdin and stdout don't
- exist. Output to stdout or stderr is just tossed into the bit bucket, but if
- the program tries to read from stdin, it will receive an error. You can
- avoid this by rewriting the application to avoid the pull instruction or by
- adding a PMREXX style I/O shell to handle the input and output. You might want
- to take a look at the PMREXX sample in the toolkit which shows how to do this.
- The PMREXXIO.DLL can be easily adapted for other applications.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 14:53:20 on 92/10/22 GMT (by SC025203 at AUSVM8)
- Subject: VREXX and Fonts
- Ref: Append at 20:08:47 on 92/10/21 GMT (by ROK2027 at OS2CUST)
-
- Lionel,
-
- Just to answer your question about reporting "defects" in VREXX,
- it is a tool developed under the IBM Employee Written Software (EWS)
- program and as such is provided on the OS/2 BBS on an "as is" basis
- only, no formal support by IBM is provided. However, this forum is
- probably as good as any other to report problems with it that hopefully
- will then get reported to the VREXX author.
-
- Stephen Poole
- OS/2 Service and Support - IBM Austin, TX
-
- ----- OS2REXX CFORUM appended at 15:19:46 on 92/10/22 GMT (by DALNK03 at OS2CUST)
- Subject: Adding a menu item to the Desktop
-
- Is there a way in REXX to add a menu item to the OS/2 Desktop? We would
- like to be able to automate adding an OS/2 Command Window.
-
- Pat Malneritch, Delta Air Lines
-
- ----- OS2REXX CFORUM appended at 19:24:08 on 92/10/22 GMT (by HDEVORE at BOULDER)
- Subject: Re: SysCreateObject( 'WPPrinter', ...) ?
-
- > I read
- >something about this recently and will try to find the information.
-
- Well, I can't find it. Someone just recently posted in one of our
- internal FORUMS (=newsgroups, =BBS files) something to the effect that
- a printer object is created by the spooler as a byproduct of the
- SplCreateQueue() and SplCreateDevice calls. Since, to my knowledge,
- the SplXxx calls are not in any of the REXX function packages I think
- you'll have to write C code to create new printer object.
-
- Hal DeVore Hal_DeVore@vnet.ibm.com
- IBM Federal Systems Company Space Station DMS Software Development
-
- ----- OS2REXX CFORUM appended at 20:11:54 on 92/10/22 GMT (by WDRUMMON at NYCVMIC1)
- ..... OS2REXX CFORUM modified at 01:03:40 on 92/10/23 GMT (by WDRUMMON at NYCVMIC1)
- Removed by appender
-
- ----- OS2REXX CFORUM appended at 21:24:39 on 92/10/22 GMT (by BRENT at DALVM41B)
- Subject: VREXX and Fonts
- Ref: Append at 20:11:54 on 92/10/22 GMT (by WDRUMMON at NYCVMIC1)
-
- Come on IBMers. Read the forum headers. This forum (and all CForums)
- are viewable by customers. Internal forums are not. Please don't refer
- customers to forums they can't get to.
-
- Brent Allen - IBM LAN Systems Integration Services Southlake, TX
-
- ----- OS2REXX CFORUM appended at 00:01:58 on 92/10/23 GMT (by IL11901 at OS2CUST)
- Subject: Adding a menu item to the Desktop
- Ref: Append at 15:19:46 on 92/10/22 GMT (by DALNK03 at OS2CUST)
-
- Sounds like another CommandLine candiate. Drop me
- a note if you want to know more.
-
- Arthur Goikhman -- Soft & GUI Inc
-
- ----- OS2REXX CFORUM appended at 14:16:41 on 92/10/23 GMT (by HME0003 at OS2CUST)
- Subject: VREXX and Fonts
- Ref: Append at 20:08:47 on 92/10/21 GMT (by ROK2027 at OS2CUST)
-
- Lionel,
-
- I am having the same problem with VTableBox. Sometimes I get the
- non-proportional font that I would expect and other times I get the
- proportional font that causes the misalignment of the columns. In the
- doc that comes with VREXX there appears to be no way of assigning a font
- for VTableBox. Any help on this matter would be appreciated.
-
- Jeff Jaynes
- Horace Mann Educators Corp.
-
- ----- OS2REXX CFORUM appended at 17:09:26 on 92/10/23 GMT (by F0JASKUS at DCTVM1)
- Subject: Re: SysCreateObject( 'WPPrinter', ...)
- Ref: Append at 19:24:08 on 92/10/22 GMT (by HDEVORE at BOULDER)
-
- Hal, Thanks very much for your help|
-
- Christophe JAGUSIAK
-
- ----- OS2REXX CFORUM appended at 02:47:53 on 92/10/24 GMT (by SAAS1W7 at HONE81)
- Subject: VREXX2: Good Job
- Ref: Append by DPDD at Provident
-
- Yes, Add VREXX to the BASE OS/2 Very nice addition.
-
- David DuPre'
- Provident Life and Accident Insurance Co.
-
- ----- OS2REXX CFORUM appended at 17:59:16 on 92/10/26 GMT (by IL14761 at OS2CUST)
- Subject: Master Environment
-
- I am trying to find a way to set environment variables in the "Master" environm
- ent. When a user logs onto the network, I wish to set certain variables for th
- e .batch & .cmd files to use. Under DOS this was real easy, but can't find any
- info for doing it under OS/2. If this is not possible, is there a file like a
- utoexec.bat that runs whenever an OS/2 Fullscreen/Window or desktop object is r
- un?
-
- Eric Brunsen
- Eastern New Mexico University
-
- ----- OS2REXX CFORUM appended at 21:33:53 on 92/10/26 GMT (by IL11901 at OS2CUST)
- Subject: Master Environment
- Ref: Append at 17:59:16 on 92/10/26 GMT (by IL14761 at OS2CUST)
-
- You can add whatever SET commands you wish to CONFIG.SYS. However, if
- you need the commands to be set only AFTER logon, specifying a CMD
- file to be run every time is possible by changing the settings of
- the OS/2 Window and OS/2 Fullscreen objects and chaning the parameters
- section.
-
- Steve Dacek -- Soft & GUI Inc
-
- ----- OS2REXX CFORUM appended at 15:16:23 on 92/10/27 GMT (by NAAG8T6 at OS2CUST)
- Subject: Please fix VREXX SYS3175
-
- I have LOTS of trouble testing VREXX due to getting SYS3175, and I get it
- whether on XGA or VGA. Here are my findings today (using XGA desktop):
-
- 1. If you issue CALL VEXIT twice in a row you get SYS3175.
-
- 2. Once you've gotten SYS3175, then VINIT() is likely to give ERROR but
- if you reissue it several times you get a RESULT such as v2, v3, etc (where
- the digit keeps increasing). This sort-of allows you to continue w/o reboot.
-
- There is some fix needed here (I guess to VEXIT) to make it impossible to get
- SYS3175 and the ERROR on VINIT.
-
- Bruce Ferrero @ Aetna, Middletown, CT
-
- ----- OS2REXX CFORUM appended at 18:37:27 on 92/10/27 GMT (by MCGUIRE at GDLVM7)
- Subject: SysFileTree not Finding $ Files
- Ref: Append at 14:59:03 on 92/10/20 GMT (by JERKEWIT at DALVM41B)
-
- I just checked again, using a directory that only contains a single $* file.
- The DosFindFirst/DosFindNext sequence returned '.', '..', and rc=18. It
- really does look like a file system problem, particularly since it only
- occurs with HPFS drives.
-
- Rick McGuire - SAA Rexx Development, Endicott
-
- ----- OS2REXX CFORUM appended at 15:08:52 on 92/10/29 GMT (by LWILSON at DALVM1)
- Subject: Using SysCreateObject to start a DOS application
-
- I am trying to use the SyscreateObject call to start WordPerfect in
- a full screen VDM. I can't figure out how to get it to start in the
- foreground. It starts fine but I have to use the Task List to get to it.
- Does anyone know how to get this to start in the foreground?
- These are the parameters I am currently using:
-
- classname='WPProgram'
- title='WordPerfect 5.1'
- location='<WP_NOWHERE>' /*place in invisible folder*/
- program='EXENAME=W:\WP.EXE;'
- parms='PARAMETERS=/nt=4 /ps=w:\setup;'
- type='PROGTYPE=VDM;'
- max='MAXIMIZED=YES;'
- startup='STARTUPDIR=W:\;'
- settings='SET DOS_FILES=45;'
- open='OPEN=DEFAULT;'
- /*Call the function SysCreateObject using the definitions above*/
- call sysCreateObject classname, title, location,,
- program| |parms| |type| |max| |startup| |settings| |open, 'REPLACE'
-
- Thanks in advance.
- Lucie Wilson
-
- ----- OS2REXX CFORUM appended at 20:39:08 on 92/10/29 GMT (by UDSS013 at HONE83)
- Subject: Changing a Files date/time stamp ?
- Ref: Append at 18:11:30 on 92/10/15 GMT (by ROK2027 at HONE82)
-
- | Is there a function in rexx that will allow a files date and time stamps to be
- | changed...?
-
- I'm not sure exactly what you mean in the original post. There is a non-REXX
- way to update the time/date stamp on a file to whatever the current date is.
- The utility is usually called 'touch' after the UNIX command. If you want to
- change the time/date stamp to something other than the current time, there
- isn't way in IBM's OS/2 REXX to do that. You might want to call Quercus
- Systems at (408) 867-REXX and see if they have a way to do that either in their
- code or an external function package. Quercus has been developing REXX for
- DOS for quite some time. They used to be partners with Mansfield Software.
-
- Back to the original question. I'm not sure how time/date stamps will implement
- a check. Just looking at the time stamp would be pretty easy to fool (e.g.
- change the system clock and 'touch' the file). I would be more inclined to
- calculate something like a CRC (only less obvious) based on the contents of
- the file and place it in the INI. If the CRC-like key value changed, then
- you know something other than the desired application changed it since presumably
- your application is the only one that knows now to calculate the key.
-