═══ 1. About this forum ═══ TALKLINK Welcome to the world of TalkLink, a unique, new conferencing service offered by IBM. Using TalkLink, you can "talk" to customers, IBMers and personnel of our many affiliates around the world - anywhere, anytime. TalkLink is designed for people like yourself, who want to get the most out of their investment in computing products and services. TalkLink "links" you directly into the development and sup- port communities of customers, IBM and affiliates. Our goal is to help you be as effective as you can with access to many conferences, vast databases and rich libraries. HIGHLIGHTS TalkLink provides the following capabilities for customers to review information electronically, submit questions re- quests and receive answers information. - Conferences and forums -- question and answer bulletin boards for you to ask questions and help others with a wide variety of products and services. Items posted on this bulletin board are shared between BBS users, IBM personnel and affiliates worldwide. - Customer-to-customer messaging -- customers can send private messages to each other. - Support -- customers can submit or view problem re- ports. These entries will be responded to by the conference/forum owner, normally within a certain time period. Users can also place orders for product related materials. - Software library -- downloads application programs and uploads contributions. - News and announcements -- contains recent information regarding products and services. - Modes of operation: - Interactive -- Users are connected online to TalkLink while using its facilities. - Batch -- Users can download the forums to their personal computer and read the entries offline. Users can also respond offline and the entries will be saved and sent to the host the next time the user is connected in batch mode. Initially, this facil- ity is available for OS/2 (R) users only. - Access: 1 - Advantis -- local call from most cities within the US. - Internet -- telnet avaialable now, full ftp soon. SEARCH SERVICE - Search IBM databases via interactive mode -- This search facility includes a large question and answer database of items, IBM System Center Flashes, and IBM's prob- lem management libraries. This database contains infor- mation about problems and fixes. Not all general discussion forums have related information in these da- tabases. TALKLINK FEES CHARGES - $15.00 Registration Fee (one-time charge for each user registration) - $18.00 Monthly Availability Charge (includes unlimited hourly service) - This can be charged to a credit card or invoiced (for an additional administrative fee of $7.00 for each monthly invoice). HOW TO ORDER TALKLINK Call 1-800-547-1283 to sign up for TalkLink. Outside of the United States please contact your local IBM sales office for availability and access. ********************************************************************** ═══ 2. Introduction ═══ ===== 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. The Material in this forum is shared with the internal IBM employee conferences. The Material in this forum is considered by IBM to be proprietary and your use of it is subject to the following conditions. IBM grants you a non exclusive, and paid-up right and license to use (internally only) any Material distributed to the TalkLink Conferencing Service. You shall not reproduce, prepare derivative work based upon, or distribute (internally or externally), any Material distributed to the TalkLink Conferencing Service. You grant to us a non exclusive, and paid-up right and license to (1) use, execute, display, reproduce, and prepare and have prepared derivative works based upon, and distribute (internally and externally) any Material you distribute to the TalkLink Conferencing Service and (2) authorize others to do any, some or all of the foregoing. Contributions must not contain confidential or propriety information. All subscribers are required to abide at all time 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 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 Owner of this forum is: Name: Dick Goran Mailing Address: C F S Nevada, Inc 953 E. Sahara Avenue Suite 9B Las Vegas, Nevada 89104-3012 Phone: Voice 702-732-9616 FAX 702-732-3847 TalkLink Id DEV4672 CompuServe 72200,347 The IBM Administrator of this forum is: Name: Paul Cheatham Mailing Address: Boca Electronic Support Team ( BEST ) 1000 N.W. 51st Street Internal Zip 1426-012/W2030 Boca Raton, FL 33429 IBM Node/Userid: BCRVM1/CHEATHAM TalkLink Userid: LNK9/LNK9030 See OS2REXX 931CFORU on OS2BBS for appends to 92/12/18 (5011 lines) See OS2REXX 932CFORU on OS2BBS for appends to 93/03/18 (4492 lines) See OS2REXX 933CFORU on OS2BBS for appends to 93/07/07 (5189 lines) See OS2REXX 931CFORU on OS2BBS for appends to 93/07/30 (4657 lines) See OS2REXX 932CFORU on OS2BBS for appends to 93/09/17 (4473 lines) See OS2REXX 933CFORU on OS2BBS for appends to 93/10/25 (4551 lines) See OS2REXX 941CFORU on OS2BBS for appends to 93/12/15 (4665 lines) See OS2REXX 942CFORU on OS2BBS for appends to 94/01/15 (4491 lines) See OS2REXX 943CFORU on OS2BBS for appends to 94/02/10 (4717 lines) ..... 4717 lines pruned at 10:21:59 on 94/03/08 ET (by OS2 at YKTVMV) ..... ..... 9120 lines pruned at 10:24:16 on 04/05/94 by MLKSERV0 for LNK1SMB See OS2REXX AR948783 file for appends from 94/02/10 to 94/03/29 ..... 6413 lines pruned at 08:56:59 on 04/26/94 by MLKSERV0 for LNK9032 See OS2REXX AR945440 file for appends from 94/03/29 to 94/04/20 ********************************************************************** ═══ 3. Julian Date Function Missing ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > I didn't add anything not already said... sorry. Gene Gough TEAMOS2 PRO*IGY/DWJG89A ATLVM10/GOUGH INTERNET/g_gough@vnet.ibm.com ********************************************************************** Does the definition say January 1, 4713 BC has a Julian date of 0? Just trying to get a picture... Richard S Kilen ********************************************************************** Yes, the Julian date of January 1, 4713 BC (Julian calendar) is zero. Today's Julian date is 2,449,463. John W. Kennedy - Hoechst Celanese - TIPA - Team OS/2 - The OS/2 Hobbit ********************************************************************** So how does this figure in with Star date? Shouldn't the Rexx supplied by the "Borg" support that concept? Joe R Wyatt USAA San Antonio, Tx ********************************************************************** ═══ 4. Julian Date Function Mis ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * >Why 4713? Please, please elaborate... Back in the 16th century, Joseph Justus Scaliger, an astronomer, got tired of the annoyances of doing date arithmetic, and decided to do something about it. He multiplied together 15 years (the Cycle of the Indiction, an accounting cycle of the late Roman Empire that was still used for dating documents), 19 years (the Metonic cycle; 19 solar years are almost exactly equal to 235 months, so most lunar-solar calendars, like the Jewish calendar and the Easter portion of the Christian calendar, cycle every 19 years, with occasional adjustments), and 28 years (the cycle of the Julian calendar), to get a period of 7,980 years, which he felt was good enough for an astronomical baseline. Convenient zero points of all three cycles happened to coincide in 4713 BC, which he felt early enough to predate all meaningful astronomical observations. He named the system in honor of his father Julius Caesar Scaliger, thus: "Julian date". By a horrible coincidence, just a few years later, the Gregorian calendar was introduced, and people searching around for a name for the old style (which had just been "the calendar" until then) came up with "Julian calendar," since the system had been introduced by Julius Caesar. Both terms became too rooted to replace. Here are REXX programs to convert to and from the Julian date. Arithmetic is done entire in integers, so the algorithms can be (and have been) translated quickly and easily into nearly all programming languages without fear of different rounding rules causing difficulties. /* 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; The "Trans" argument is the date on which transition from the Julian calendar to the Gregorian calendar is to occur. It has a default of 2299161, or October 5/15, 1582, the date the change was made in Rome. The other common value is 2361222, or September 3/14, 1752, the date the change was made in the U.K. (and the future U.S.A.). John W. Kennedy - Hoechst Celanese - TIPA - Team OS/2 - The OS/2 Hobbit ********************************************************************** ═══ 5. I/O Ports in REXX ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Well, I started with IBM in 58 and have never seen that. Of course back then we had to put masking tape over the bad words on the card box that we carried our program decks in :-). Actually, in all that time all I have ever seen is the way PROFS will rename an EXEC or MODULE or XEDIT file as it receives it for you. What you saw could be a local mod also. Gene Gough TEAMOS2 PRO*IGY/DWJG89A ATLVM10/GOUGH INTERNET/g_gough@vnet.ibm.com ********************************************************************** To: Gene Gough - Append created on 94/04/20 at 22:57 PST > Well, I started with IBM in 58 and have never seen < > that. < Oh, hell. There goes my seniority. I started in the business in 1961 but didn't go to work for IBM until 1965. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 6. Object Oriented Rexx ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * >Made the ftp.cdrom.com cut-off time, just in time it seems. ROX >has been moved to /pub/os2/2_x/program/rexx/rox.zip Will the ROX package be available here? Jeff Elkins - GEnie OS/2 Roundtable ********************************************************************** Sorry, but I don't know what "here" means. I uploaded ROX to Peter (?) Norloff's BBS at 1-703-385-4325 this morning (thanks for the suggestion, Dick). Patrick Mueller | IBM Software Solutions, Cary NC; 919-469-7242, tie 883 | internet: pmuellr@vnet.ibm.com vnet: pmuellr@carvm3 ********************************************************************** [Reference to append at 20:54 on 94/04/20 by WZ00379 at HONE82 ] To: Jeff Elkins - Append created on 94/04/20 at 22:59 PST > Will the ROX package be available here? < If Pat doesn't find a claen way of getting it to the Software Library, since I have a copy that I received properly from the public domain, I will send it to OS2BBS System Support. Give Pat a day or so to check the political protocol as well as the gazspacho gateways. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 01:18 on 94/04/21 by PMUELLR at CARY ] >Sorry, but I don't know what "here" means. "here" refered to the OS2BBS software libraries. For speed's sake I'll get it from Pete's BBS. Sounds like a great add-on BTW. # Thanks! Jeff Elkins - GEnie OS/2 Roundtable ********************************************************************** [Reference to append at 06:40 on 94/04/21 by DEV4672 at HONE82 ] Thanks, Dick. As I said to Pat, for speed's sake I'm gonna grab this from Pete's BBS but it sure should be in the archives here also. Jeff Elkins - GEnie OS/2 Roundtable ********************************************************************** ═══ 7. Forum owner on HBO ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To: Anyone who might care - Append created on 94/04/20 at 14:55 PST If anyone would like to put a face with a name, I can be seen very briefly this week in "Indecent Proposal" on HOB. I play John Gage's (Redford) Chief of Security. Redford and I had improved the portion of the scene just prior to what did survive the cutting. Unfortunately, all that is left of "The Voice" is a chuckle. Then I turn with my back to the camera and Redford peers over my shoulder while watching Dianna (Demi Moore) snatch a piece of candy from a candy dish in a dress shop. This film moment occurs about 10 - 15 minutes into the picture. If you happen to blink, I was the one with the secret service type earphone in my ear. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** That's you? Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/04/21 at 09:50 PST > That's you? < Well, my wife sleeps with the guy in the movie. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** I suppose you weren't watching when they filmed the kitchen scene. (!!!!) Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/04/22 at 08:59 PST > I suppose you weren't watching when they filmed the < > kitchen scene. (!!!!) < Wasn't even there. That was not filmed here in Las Vegas. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 8. RxMessageBox versus Say: Am I a PM Session? ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To: Chris Makris - Append created on 94/04/20 at 23:37 PST > Is there way in Rexx to determine if you are running < > as a PM program before you abend on the RxMessageBox < > function? < Sure is. Use the ADDRESS() function. It will return 'PMREXX' or 'CMD' according to the environment your program is running in. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** I know that I can use RxMessageBox only when a Rexx program is running as a PM program. I would like my program to use RxMessageBox when it's running PM, otherwise display the message using Say. Is there way in Rexx to determine if you are running as a PM program before you abend on the RxMessageBox function? This way I can program to write my message with Say instead. Chris Makris, INOVA Health System, Fairfax, VA OS/2 Accredited, CIS: 73173,1732 ********************************************************************** [Reference to append at 22:19 on 94/04/20 by DEV4672 at HONE83 ] Thanks Dick. Didn't know about ADDRESS(). Only one problem: If you start your Rexx command using: START /PM CMD /C Rexx.CMD then ADDRESS() still doesn't show wether CMD is running PM or not. Can I get there from here? Chris Makris, INOVA Health System, Fairfax, VA OS/2 Accredited, CIS: 73173,1732 ********************************************************************** [Reference to append at 22:19 on 94/04/20 by DEV4672 at HONE83 ] Dick Is there a way with PMREXX to eliminate the message at the end? (THE REXX PROCEDURE HAS ENDED) I have built program objects associated to *.WAV and *.ZIP that allow 'Play the WAV' and 'Unzip It'/'View Zip Contents' and would like to do the same with *.AVI and the Play.CMD. Without PMREXX - Play.CMD file=x.avi dev=digitalvideo01 yields Err:mciRxSendString RC=5041 63716 mciRxGetErrorString(5041) = Not currently in a Presentation Manager Sessi bummer changing the line to Pmrexx.EXE Play.cmd file=x.avi dev=digitalvideo01 yields a view of the *.AVI and the message above. This cua like instance on repeating the obvious is a pain. Are youne).e). sure you want to exit? Why not question the user about everything? Sorry bad hair day :-) Make that no hair day. TIA e ilsley ********************************************************************** [Reference to append at 15:33 on 94/04/21 by INOV004 at HONE82 ] No, there's no way to tell that. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 22:19 on 94/04/20 by DEV4672 at HONE83 ] This (Address returning PMREXX) will of course work only if you run under PMREXX. There are other ways to force a REXX program into the PM environment, for example a START /PM CMD /c yourCMD invocation. In this case Address() would report CMD, as usual... One could try some bizarre tests using some of the REXXUtil functions, for example the following code will return interesting values if run under PM: /* TCur - check the environment we are running under */ /* by Greg Czaja (GregC at LEXGate) April 21, 1994 */ /* for PM environment: START /PM cmd /C TCur >1.out */ /* TYPE 1.out */ Call RxFuncAdd 'SysLoadFuncs', 'REXXUtil', 'SysLoadFuncs'; Call SysLoadFuncs; Say 'Cursor position is:' SysCurPos(); /* will be totally off */ Say 'Screen size is:' SysTextScreenSize();/* if run under PM... */ Say 'Address is:' Address(); Exit; I think, Quercus' Personal REXX has a library function returning the session type. Wasn't REXXUTIL supposed to have this function at some time, too?-( Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/21 12:50 ********************************************************************** [Reference to append at 16:42 on 94/04/21 by PER518 at HONE83 ] E Ilsley: > Is there a way with PMREXX to eliminate the message at the end? PMJI, when we first discovered PMREXX, we rewrote all of our text-based REXX programs to use PMREXX messageboxes. However, the message displayed at the end was one limitation which I never learned to overcome (of course there could be a way, but I never figured it out). Another limitation we discovered is that PMREXX was not very stable as it would occasionally lock up a user's system. About the time we became fed up with the PMREXX, true Visual REXX products hit the market. Thus, after evaluating, we chose VX-REXX from Watcom, and again rewrote all of our REXX utilities in the VX-REXX tool. I can say that we haven't looked back since! If you haven't already, I would suggest taking a look at one of the few Visual REXX tools. They will significantly enhance your REXX utilities, and allow you to even create some profess- ional looking user-interfaces, too. For what it's worth ... Peter Ricciardiello, UT Carrier Corporation, Syracuse, NY ********************************************************************** You have to modify PMREXX and recompile. I think the source code comes with the toolkit? Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 15:33 on 94/04/21 by INOV004 at HONE82 ] To: Chris Makris - Append created on 94/04/21 at 12:22 PST > Can I get there from here? < Here is an example that will show you one possible technique for determining where the program is being run: /* TEMP.CMD - Test RxMessageBox Functions */ output_file = 'L:\TEST.TXT' call SysFileDelete output_file button = 'OK' icon = 'Question' title = 'Determine RxMessageBox() useability' call LINEOUT output_file, 'ADDRESS() =' ADDRESS() call BOXTEST call LINEOUT output_file, text exit /*------------------------*/ /* Try RxMessageBox entry */ /*------------------------*/ BOXTEST: signal on SYNTAX text = 'Program is running in PM mode' button_value = RxMessageBox( text, title, button, icon ) return SYNTAX: text = 'Program is running in ugly mode' return Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 16:42 on 94/04/21 by PER518 at HONE83 ] To: Eric Ilsley - Append created on 94/04/21 at 12:26 PST > Is there a way with PMREXX to eliminate the message < > at the end? < None that I am aware of. Perhaps Tom Bridgman or Steve Price may be able to offer a suggestion. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick Tom suggested recompiling PMREXX (in the toolkit?). That seemed a bit severe. I was hoping that /Q would get me there. The association of the *.wav to play.cmd worked so well I wondered why it didn't ship / install that way. I guess using it with *.AVI will generate more pain. e ilsley ********************************************************************** The question concerning an undocumented / parameter was not without some background the cmdref.inf doesn't say anything about XCOPY and /? e ilsley ********************************************************************** [Reference to append at 21:07 on 94/04/21 by PER518 at HONE82 ] > That seemed a bit severe. Well, this question has come up a lot (internally, not on this conference), and that's the only answer I've ever seen. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 18:40 on 94/04/21 by MRTOM at YKTVMV ] To: Tom Bridgman - Append created on 94/04/21 at 14:32 PST > You have to modify PMREXX and recompile. I think the < > source code comes with the toolkit? < Yes, the source for PMREXX is in the toolkit and can be found on Devcon 3. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 21:53 on 94/04/21 by MRTOM at YKTVMV ] Tom thanks for taking the comment in the tone it was intended. The cfors have been very hot lately. It is nice to know that others have gone looking for this. Maybe it might make it in as a pgm enhancement or whatever they are called these days. The rexx extensions for mm are neat. With a little luck and a few of the rexx extensions almost anything is possible. e ilsley ********************************************************************** [Reference to append at 20:57 on 94/04/21 by DEV4672 at HONE81 ] Dick, That's the solution I was looking for. Thanks. With some help from some other folks on this forum, I had come up with the following solution in the meantime, but I like your's much better: /* Get cursor position & screen size */ Parse value SysCurPos() with CurRow CurCol Parse value SysTextScreenSize() with SizRow SizCol If Address()=CMD then /* If running command processor... */ If 0<=CurRow & CurRow<=60 , /* then check if cursor position and */ & 0<=CurCol & CurCol<=132 , /* screen size is within 60x132 screen, */ & 0<=SizRow & SizRow<=60 , /* and, if so, assume program is not */ & 0<=SizCol & SizCol<=132 /* running in PM environment */ then PM=No else PM=Yes If PM=Yes Then Return(RxMessageBox("PM mode","PM?",Ok,Information)) Say "Not running in PM mode" Return /* End program */ Chris Makris, INOVA Health System, Fairfax, VA OS/2 Accredited, CIS: 73173,1732 ********************************************************************** [Reference to append at 16:55 on 94/04/21 by GREGC at LEXVM2 ] To: Gregory Czaja - Append created on 94/04/21 at 14:07 PST > I think, Quercus' Personal REXX has a library < > function returning the session type. < Page 53: DOSSESSIONTYPE() Returns a number indicating the type of session the function was invoked in. 0 - full-screen. 2 - VIO window 3 - PM session 4 - detached session Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 21:35 on 94/04/21 by PER518 at HONE82 ] Most (but not all) of the nonPM OS/2 commands quietly began supporting "/?" for brief on-line help in 2.0. This still appears to be undocumented in 2.11. The brief help often is incomplete, as well. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 15:33 on 94/04/21 by INOV004 at HONE82 ] If you were to use VX-REXX you might be able to determie that info (not a real simple task though) I think there is a different class for a session started FS than there is for a window session. I can look into it for you....and see what I can come up with. Scott E. Trosien -- Ford Motor Co. by day, HAK Systems by night. *** A feature is just a bug with seniority *** ********************************************************************** [Reference to append at 13:59 on 94/04/22 by MRTOM at YKTVMV ] What do you think Tom can we get them to sneek in a /Q quiet mode? :-) e ilsley ********************************************************************** That is something Rick McGuire will have to answer. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** ═══ 9. Help, Dick ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dick, I echo a network with a pretty quiet OS/2 conference. The following was just posted and I don't think it will get a decent answer. I hate to see folks with honest programming questions not get a response, so I thought I see if I could prevail on you one more time. I'll post any response with the OS2BBS header... Date: 04-19-94 (17:49) os2 Number: 637 / 637 (Echo) To: ALL From: TIMOTHY GRANT Read: 04-20-94 (17:15) Subj: VX-REXX CONTAINERS I have been messing about with VX-REXX, and would like to know if it is possible to set the width of a field in a container to something other than what the system defaults it to. It seems that my containers waste an awful lot of space for unecessary white space. Also, does anyone know of a way to get the REXX elapsed time functions to work under VX-REXX? It appears that my Timer Trigger Events reset the elapsed time counter. This is really not very desirable, as I would like to get some exact timings. Stand Fast, tjg. .. German word for Constipation...Farfrompoopin. Ken Prevo ********************************************************************** I wouldn't place my bet on the timer to get exact timing. You are running under a multi-tasking OS you know. As a matter of fact, somewhere in the manual, they warn you against doing that. Don't know about changing the width. Ask over at the VX-REXX forum. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** [Reference to append at 23:02 on 94/04/20 by WZ01343 at HONE82 ] > I have been messing about with VX-REXX, and would like to know > if it is possible to set the width of a field in a container to > something other than what the system defaults it to. It seems > that my containers waste an awful lot of space for unecessary white > space. Right now there is no way to set the field widths other than what the container defaults to. > Also, does anyone know of a way to get the REXX elapsed time functions > to work under VX-REXX? It appears that my Timer Trigger Events reset > the elapsed time counter. This is really not very desirable, as I would > like to get some exact timings. This is not a VX-REXX problem. If you read the online documentation for the TIME function (type "help rexx time" at a command prompt), you'll see that the elapsed time clock is kind of like environment variable inheritance -- your procedure "inherits" the elapsed time clock from the calling procedure, but if you reset it, it doesn't reset it in the caller. What you need to do is set the elapsed time clock outside of an event, in the Main section of your program. Eric Giguere, WATCOM ********************************************************************** ═══ 10. REXX Symposium Info (long append) ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Ref: Rexx Symposium for Developers and Users 1-4 May 1994 Boston, Massachusetts * * * * * * * * * * * * * * * * * * * * Program as of 20 April ___________________ Doug Benson, Lotus Ami Pro and Rexx Tom Brawn, IBM Rexx for AIX and Netware, Object Rexx Demonstration Anders Christensen Techniques for Performance Tuning Rexx Interpreters---A Case Study of Regina Ian Collier, Oxford New Features in Rexx/imc James Crosskey, IBM Current IBM Views of Rexx and Forum with Audience Mike Cowlishaw, IBM Interesting Corners of the Rexx Language Hal German, GTE Choosing a Command Language --an Application-centric Approach Eric Giguere, WATCOM WATCOM VX-Rexx for OS/2 Klaus Hansjakob, IBM IBM Rexx Compiler News Mark Hessling, Griffith Using Rexx as a Database Tool University Stefan Kent, Gpf Gpf/Rexx Lee Krystek, Boole Network Automation and Babbage Operations in Unix Luc Lafrance, Simware How Simware Implemented Rexx on Multiple Platforms Alan Matthews, Using Rexx and Notrix for Enterprise Percussion Software Data Integration Through Lotus Notes Neil Milsted, iX Open-Rexx for NT, Etc. David Moskowitz Rexx-Enabling Your OS/2 Applications Patrick Mueller, IBM Adventures in Object Oriented Programming with ROX Simon Nash Object Rexx Class Hierarchy Scott Ophof Rexx Language Edmond Pruul Rexx, Reuse, and Portability David Shriver, IBM Rexx for CICS/ESA Timothy Sipples, IBM Working (and Playing!) with Rexx and OS/2 Multimedia Hobart Spitz Converting JCL to Rexx Ed Spire, Workstation Group X-Based GUI Xedit Editor ANSI Report Giveaways and Announcements Rexx Symposium for Developers and Users 1-4 May 1994 Boston, Massachusetts The Rexx Symposium provides a forum for information and ideas and an opportunity to interact personally with others interested in using and enjoying programming in Rexx. The Symposium consists of plenary sessions and parallel sessions for papers, status reports, and review talks. Presentations focus on using Rexx on a wide variety of computing platforms and operating systems. Of particular interest are unique applications, Rexx tools and function libraries, Rexx interfaces with other languages, user support, and education. Originator Mike Cowlishaw and other implementers will be present and participate in the sessions. Special hotel rates have been negotiated for this Symposium if reservations are made through the Omni Parker House in Boston by 15 March 1994. For lodging call the Omni at 800-THE-OMNI or 617-227-8600 (fax 617-227-2120) and ask for the Rexx Symposium rate: Lodging/Night US$92 single US$109 double Symposium registration is required: Conference US$200 includes a dinner, breaks, Proceedings US$75 for full-time students in degree programs at accredited institutions The registration fee is due in advance, payable in cash or check, net US$200 in US funds. To register for the Symposium and make travel arrangements, please contact: Village Travel Rexx Symposium 69 Town and Country Village Palo Alto, CA 94301 USA 1-800-245-3260 1-415-326-0510 fax 1-415-326-0245 Please send questions to any member of the program committee: Cathie Dager: cathie@slac.stanford.edu Forrest Garnett: garnett@vnet.ibm.com Pat Ryall: ryall@aol.com Also please note all are welcome at the initial meeting of the Rexx Language Association (RexxLA), to be held in conjunction with the Symposium. Those with an interest in international standards now being formulated may wish to attend the public meeting of ANSI Committee X3J18 scheduled for 5 to 7 May at the same hotel. 20th April 1994 Rexx Symposium 1-4 May, 1994 Omni Parker House Boston, Massachusetts Registration $200, $75 students Village Travel 1-800-245-3260 Room Reservations: A.S.A.P.! 1-800-THE-OMNI (a problem? call Cathie...) ======================================== Ian M. Collier imc@comlab.ox.ac.uk Oxford University D.Phil. Student Rexx/imc -- a Rexx interpreter for Unix Since 1989 I have been working on a Rexx interpreter for Unix in my spare time (what little I get). It was first released to the public in August 1992 and has had many improvements since then. In my presentation I will demonstrate (or talk about) the most recent enhancements and some of the language extensions that I have added to the interpreter, several of which have been influenced by the work of the X3.J18 standardization committee. I hope to show some of the ways in which Rexx/imc can interface with its environment; this will include the use of Unix-specific built-in functions, the writing of external function libraries, and the application interface with programs such as THE (an editor based on KEDIT written by Mark Hessling). If time (and inclination) allows, I will take a brief look at the internals of the interpreter, showing the basic blocks of which it is built, and possibly giving a brief explanation of how it performs a task such as evaluating a Rexx expression. Some subjects to be discussed: - Improvements since the last release - Language extensions and Unix-specific features in Rexx/imc - How to write an external function - Interfacing with application programs - How does it work? ======================================== Hallett German hhg1@gte.com GTE Laboratories, Inc. Technical Staff Choosing a command language -- an application-centric approach This paper suggests one approach that novice command language users could use in developing an application. This includes looking at the data, simple benchmarks, and other criteria. Emphasis will be on Rexx and Perl. This is derived from the research done for the author's last two books for Van Nostrand Reinhold. Some key points: - Discussing an application development approach - Comparing Command languages - Discussing other factors to look at ======================================== Klaus Hansjakob hansjako@vabvm1.vnet.ibm.com IBM Project Leader Rexx Compiler Development News from the IBM Rexx Compiler The IBM Compiler for Rexx/370 improves performance of Rexx programs in the CMS, MVS and VSE environment. This presentation covers packaging compiled Rexx, including features introduced after release 2 of the Compiler. Alternate Library support (added after release 2): Previously, to run compiled Rexx programs the Rexx/370 Library was required. Now you can distribute compiled Rexx programs and not require the Rexx/370 Library. While the performance of programs is only improved when the Rexx/370 Library is installed, the advantages are: Continue on the next panel. - maintenance is simplified; - code is unreadable with editor or browse program; - code compaction is possible; - load module format is enabled for compiled Rexx programs. COPYRIGHT compiler directive (added after release 2): Add a copyright to your compiled Rexx programs. CMS function packages: Function packages contain programs invoked frequently. Writing these functions in Rexx is simple, putting them into a function package ensures optimal performance. Sample glue code for a function package with functions written in compiled Rexx is presented. ======================================== Stefan Kent Gpf Gpf/REXX Gpf/REXX is a visual Presentation Manager programming tool. It uses OS/2 REXX and allows you to use REXX to write PM programs. ======================================== Lee D. Krystek lee@boole.com Boole and Babbage Software Manager Using Rexx, in a Unix Environment, to Manage Network Operations. When constructing our Network Management and Control Product, we needed to provide a way to allow users to construct dialogs to control any foreign system they might need to interface to through that foreign system's console. We selected Rexx as this tool, but before we could use it, we had to augment the language to give it the capability to be started automatically, connect to those foreign systems, and manipulate our network relational database system. A few highlights: - Overview of Command/Post product. - The auto-operations requirement. - Why Rexx? - Auto-triggering - External Access - Database Inteface - Some Examples - Questions ======================================== Luc Lafrance lafrance@dev.simware.com Simware Ottawa, Ontario How Simware Implemented Rexx on Multiple Platforms Simware has ported Rexx from Microsoft Windows to the Macintosh and later to NetWare. A2B and REXXWARE, the current Simware products that make use of Rexx, have completely different sets of features and BIFs but yet share a common kernel of code. This talk will cover the aspects of Rexx and the tools and techniques that allowed a high level of code sharing. ======================================== Alan Matthews dbenua@panix.com Percussion Software Technical Director Using Rexx and Notrix for enterprise data integration through Lotus Notes The growth of Lotus Notes creates a new phenomenon among desktop users. Lotus Notes provides a new way of storing and viewing information within the desktop environment. However, manipulating large amounts of data within Lotus Notes poses a big challenge for Notes administrators, database designers and application developers. The work can be complex and involve many hours of valuable programming time via C and the Lotus Notes API. This programming challenge grows even greater when these same users begin demanding access from Notes to information stored in enterprise databases -- SQL databases, hierarchical databases, or flat files. Now, using the power of Rexx and Notrix, developers can build programs within Notes that import and export complex data between Lotus Notes databases; between Notes and enterprise databases; to access external bulletin boards; or to satisfy other data mani pulation problems. Notrix is built upon Rexx so that technology solutions can be implemented quickly inhouse, thus saving thousands of dollars in consulting and technical support fees. Some highlights: - Lotus Notes: Why should you be using it anyway - Lotus Notes: Enterprise Integration Issues - Rexx and Notrix: Advantages and Functional Overview - Opening Notes to the Enterprise via Rexx and Notrix ======================================== Neil Milsted 76050.3673@compuserve.com iX Corporation Developer Open-Rexx for NT etc. This talk will cover Open-Rexx for NT. It is a complete implementation of Rexx that runs under NT. It also provides many utilities and functions that are commonly provided on other platforms, such as CMS and OS/2. Highlight of the talk is a demonstration of Open-Rexx running under NT. ======================================== Patrick J. Mueller pmuellr@vnet.ibm.com IBM Cary, NC Staff Programmer Adventures in Object Oriented Programming with ROX Object oriented programming is one of the hottest topics in the programming community today. IBM is developing an object oriented language with its roots in Rexx, which should be available sometime this year. But what about 'classic' Rexx; it currently has no object oriented facilities built-in. Is there a way to provide some object oriented capabilities to 'classic' Rexx? Yes! The author has developed a function package called Rexx Object eXtensions (ROX) for IBM's implementation of Rexx on OS/2. The function package provides some object oriented capabilities including: Smalltalk-like class model classes methods (written as Rexx macros) inheritance instance variables multiple inheritance objects can be created, and sent messages from other methods or from ordinary Rexx programs extendable via C Various aspects of ROX will be discussed, including: - sample usage - some implementation information - implications of poor performance - additional work items Timothy F. Sipples sip1@kimbark.uchicago.edu Researcher/Author Working (or Playing!) with Rexx and OS/2 Multimedia This presentation will explore the relationship between Rexx and OS/2's MMPM/2 (multimedia) extensions. Highlights will include: - background on OS/2's multimedia features - discussion of MMPM/2 MCI string interface available to Rexx - sample Rexx application(s) using OS/2's multimedia features - live sound and video demonstrations ======================================== Edmond A. Pruul p00146@psilink.com Afton Programming Lab System Designer Reusable Design and Rexx Portability The application owner and developer are interested in porting their applications to new operating system environments. The Rexx language offers inherent advantages: readability, an active Standards organization, available source code, good input-parsing functions, easy source-level debugging; but no practical breakthrus have been identified in the Rexx community. The same problems that plague application portability in general apply to Rexx programs also: unwieldy code for several operating system environments; ownership conundrums; interface confoundment; and many other problem, old and new. Using Rexx as an example of a language whose applications should port easily, reveals the intractability of the portability problem. Reusable Code is problematic in startlingly similar ways. Reusable Design is a promising paradigm for a general attack on the Reusable Code problem. A Rexx application, being readable -- or accessible -- by the average programmer -- is a possible stage to experiment, in a practical way, with Reusable Design. The Reusable Design paradigm is based on the classic principles of modularity in Computer Science. It can include object based or object oriented methods but the prime principle is semantic as well as syntactic readability -- the actions of the Reusable function are clear and concise to programmer. Readability allows early planning by potential reusers -- customers for a reusable function. As the Rexx Application developer rely more on reusable components, market forces could encourage the proliferation of popular reusable components to popular operating systems. ======================================== David Shriver dshriver@vnet.ibm.com IBM Technical Lead Rexx for CICS/ESA 'Rexx for CICS/ESA' provides support for the Rexx language under CICS/ESA by allowing Rexx programs to be written and executed in a CICS/ESA region. Rexx programs under 'Rexx for CICS/ESA' have access to most EXEC CICS commands, the CICS CEDA and CEMT transaction programs, and DB2 databases via an EXEC SQL interface. The 'Rexx Development System for CICS/ESA' also provides a CICS-based text editor for Rexx execs and datam as well as a hierarchical file system and a file list utility. Continue on the next panel. Highlights will include: - Overview/Functionality of Rexx for CICS/ESA - Productivity advantages of Rexx for CICS/ESA ======================================== Ed Spire ets@wrkgrp.com The Workstation Group X-Based GUI XE Editor uni-XEDIT is a Unix implementation of the VM/CMS System Product Editor, XEDIT. uni-XEDIT implements most features of its mainframe counterpart, including an interface to uni-Rexx and the xedit commands associated with that interface, such as EXTRACT, SET RESERVED, and READ. uni-XEDIT was developed as an aid to those programming professionals and other computer users who have been active in the IBM mainframe environment, and now are faced with the daunting task of becoming productive in the Unix environment. Version 1 of uni-XEDIT uses the "curses", the standard Unix terminal I/O access method, to present a human interface that is identical to the 3270-based Xedit. It virtually eliminates the editor learning curve associated with vi or emacs, and supports the portability of Rexx applications that have used Xedit as a means of performing full screen I/O operations, making it much easier to bring these applications over to Unix. While uni-XEDIT has been well received, there has been some concern over the longevity of its appeal. In its original state, it could easily become nothing more than a transition tool, which would be superceded by more modern editors as familiarity with the new environment strengthens and time elapses. In order to remain competitive with the editors we see and expect to see in the Unix environment, we judged that uni-XEDIT needed to become a Graphic User Interface (GUI) product. The superior ease of use associated with pointing devices and graphic displays would be added to the existing product, without damaging the intrinsic functionality of Xedit. This presentation will describe the design decisions that went into uni-XEDIT Version 2's use of GUI capabilities, and extensions to the product oriented towards them. The programming techniques that were used and the usability and support considerations pertaining to the X-windows environment will also be discussed. ======================================== ======================================== ********************************************************************** ═══ 11. SYS2070 when trying to start a REXX program ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Some of our OS/2 2.1 -workstations give the error code SYS2070 when trying to start a REXX program : SYS2070: A program in this session encountered a problem and cannot continue. EXPLANATION: The system delayed the loading of some of the application's code until it was needed. Now there is a problem loading the needed code segment. ACTION: If you purchased this program, contact the supplier of the program. If you are the developer of this program, refer to the information in the register. After booting the machine, REXX has worked and then stops working this way ?. The Libpath doesn't seem to be the problem. Markku Vieri, Oy Tietokonepalvelu Ab, Finland This append was created on the External IBMLink system by Oy Tietokonepalvelu ********************************************************************** ═══ 12. "Icon-izing" a cmd window ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Is there any rexx call which will cause the current cmd window to be iconized? Mike McDermott Internet - mikem@vnet.ibm.com IBM IPnet - mikemcd@gila.boulder.ibm.com Neither IBM nor Pennant Systems IBM VNET - MIKEMCD at BOULDER know I have these opinions! ********************************************************************** To: Mike McDermott - Append created on 94/04/21 at 09:52 PST > Is there any rexx call which will cause the current < > cmd window to be iconized? < Can you be more specific. What do you mean by "iconized". each object is represented by some type of icon. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** I think Mike means, can a REXX program force the window it's running in to be minimized. The answer is (if that is the question), not without writing an external function in C. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** In <940421204354.os2rexx.cforum.ibmpc.mrtom@yktvmv.vnet.ibm.com>, mrtom@yktvmv.vnet writes: >I think Mike means, can a REXX program force the window it's running >in to be minimized. The answer is (if that is the question), not >without writing an external function in C. > >Tom Bridgman >NetDoor Development >(BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) Yes, that's what I meant, thanks for the answer. (Sent that in too early this morning, my brain hadn't warmed up yet.) Mike McDermott Internet - mikem@vnet.ibm.com IBM IPnet - mikemcd@gila.boulder.ibm.com Neither IBM nor Pennant Systems IBM VNET - MIKEMCD at BOULDER know I have these opinions! ********************************************************************** ═══ 13. Line Stealer ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Hi Dick, I've tried to post several appends regarding this but Canadian appends were not making it through to the US Master ... can you give me a call or indicate the correct Nevada number ? Thanks. 1-(905) 316-5445 > Dick Goran CIS 72200,347 > "REXX Reference Summary Handbook" .----> 1-800-REXXOS2 Wrong Number ? I was trying to find out if you were using the ICONF VM code to post your appends when this happened or if you were using the offline readers such as FORABROWS and the TOOLS VM code ? Norval Oswald - Canadian IBMLink, ICONF, Link2000 Devl and Supp. ********************************************************************** ═══ 14. Memory leaks within REXX calls out of Smalltalk ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * We are running Digitalk's Smalltalk VPM 2.0 32 bit on OS/2 2.1 GA. As database we are using ES DBM 1.0. Using Theseus2 we are observing a lot of memory leaks. The memory not being freed has VPM as owner and REXX and SQL0 as source. The call used within SmallTalk is outlined below. The call is used mainly to pass a string that contains sql queries to the rexx start api call. The problem noticed is that memory objects are not being freed after the completion of the call. Mainly SQL0 and REXX are shown as the source of the memory object allocation after this call (using Theseus). rexxsaa: aString ┘reply returnCode result instore string stringAddress ┘ string := aString asAsciiZ. stringAddress := PMAddress copyToNonSmalltalkMemory: string. returnCode := PMStructure new: 8. instore := PMStructure new: 8. instore uLongAtOffset: 0 put: (PMLong new uLongAtOffset: 0 put: string size) contents. instore uLongAtOffset: 4 put: stringAddress contents. reply := self rexxStart: 0 argList: nil programName: 'VPMREXX.CMD' asAsciiZ asParameter instore: instore asParameter envName: '' asAsciiZ asParameter callType: 2 "RXFUNCTION" "0" "RXCOMMAND" exits: nil returnCode: returnCode asParameter result: result asParameter. stringAddress free. reply = 0 ifTrue: Ы^((PMStructure new: (result uLongAtOffset: 0) ) fillFromAddress: (PMAddress fromAddress: (result uLongAtOffset: 4) ) ) contents asString ! ifFalse: Ы^reply ! What do we have to do in order to get that memory freed again? Thanks Paul Klaeger ********************************************************************** I think that REXX is allocating the result string from it's memory, but you aren't freeing it. The result string is implemented as an RXSTRING. Note this is an OS/2 memory object, so you'll need to free it with the equivalent of a DosFreeMem() call in Smalltalk ... alternatively, you can allocate the space BEFORE you make the call, and set the result pointer to this memory. Still need to free it though ... Patrick Mueller | IBM Software Solutions, Cary NC; 919-469-7242, tie 883 | internet: pmuellr@vnet.ibm.com vnet: pmuellr@carvm3 ********************************************************************** Patrick Thanks for your advice. We have found the Rexx Leak. It was our mistake. The rxString address being returned was not being freed as you said. After freeing it all the REXX memory leakage has stopped. We still have SQLO leak. We will investigate further. Thanks again for the info. Paul Klaeger ********************************************************************** ═══ 15. Recreating Icons ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To:Dick Goran Dick: I vaguely recall at quite some time back you put up code for a REXX routine to build either icons or objects. This was OBVIOUSLY in a different forum(OS2MISC I think, but the memory is usually the 2nd thing to go.....(No here!!!!.....well, maybe just a smirk!!). I just re-installed all of the applets on my system(previously deleted for lack of disk space) and REALLY don't wnat to go through recreating all of those critters by hand. Can you/will you help???? Totally off of the OS/2 subject: I also have some recollection of you mentioning a role in the movie "Indecent Proposal" ?? I finally got around to watching most of that on cable the other night but couldn't see your name in the credits. Nom de stage, perhaps????? Regards, Jim Allen Honda of America Mfg., Inc. Team OS/2 T.I.P.A. ********************************************************************** To: Jim Allen - Append created on 94/04/21 at 14:10 PST Taking your items in order of priority: > I finally got around to watching most of that on < > cable the other night but couldn't see your name in < > the credits. < By having the dialogue that Redford and I did get cut, and since I was not a SAG member PRIOR to the film (just AFTRA), they cut my lines, my pay and my credits with one swipe of the blade. I did battle with Paramount and its then President, Sherry Lansing, and one the SAG fight but it was too late for credits and got srewed for the pay. (P.S. I posted an append here re: "Indecent Proposal" being on HBO this week and next: OS2REXX CFORUM appended at 22:10:47 on 94/04/20 GMT Subject: Forum owner on HBO > I vaguely recall at quite some time back you put up < > code for a REXX routine to build either icons or < > objects. < > Can you/will you help???? < I'll be happy to if I can but I'm not sure what you are referring to. The only thing that comes to mind might be Mike Lamb's ICONRES.CMD (part of the CRTOBJ.ZIP file) which builds a folder containing the icons in PMWP.DLL, WPCONFIG.dll & WPPRTMRI.DLL. However, if you do a selective intsall of the applets, the Productivity folder should be rebuilt with the appropriate objects & icons in it. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick: Glad to see you've got your priorities straight! Re your latter point, I DID selective install and it didn't. Thus my question. I'll try again, but probably not until Mon....early tee time! Regards, Jim Allen Honda of America Mfg., Inc. Team OS/2 T.I.P.A. ********************************************************************** ═══ 16. REXX HLLAPI ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > Originally appended to OS2REXX CFORUM at 14:48:09 on 94/04/04 GMT You can use "RESERVE" to lock out the user before the wait and "RELEASE" after the wait is over. Maurice Cartier Procor Ltd, Oakville, Ontario..................IBMMail(CAPCO9CB) ********************************************************************** ═══ 17. Deleting Objects from Worksplace without the objectid ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Is it possible to delete objects from the OS/2 desktop without knowing their objectid? If so, does anyone have some sample code they could append to the forum. Thanks! Cynthia Berry Twentieth Century Services 816-340-7973 ********************************************************************** If the object maps to a physical object (such as a file or program (not program reference object, or a folder) then deleting the actual object will cause WPS to delete the WPS object. Otherwise, I don't think this is possible. (Note that if you go this route, you have to use DEL with the /F option, otherwise if DELDIR is active, WPS just updates the object to point to the DELETE directory.) Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 20:10 on 94/04/21 by STW1CYC at HONE82 ] To: Cynthia Berry - Append created on 94/04/21 at 14:34 PST > Is it possible to delete objects from the OS/2 < > desktop without knowing their objectid? < Yes, but unfortunately it requires a mouse and the Desktop. (Sorry, couldn't resist ). You might want to take a look at DeskMan/2 and repost your question there. DeskMan/2 will allow you to assign an OBJECTID to any object (they get its handle via SOM) and they may be able to offer some other suggestions. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Thanks! I appreciate your response...even though it wasn't what I was hoping for. Cynthia Berry Twentieth Century Services 816-340-7973 ********************************************************************** ═══ 18. IBMer Note & File Transfer Access ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \********************************************************/ \* */ \* Note to All IBMers visiting this forum */ \* */ \********************************************************/ If you would like to be able to send and receive Profs notes and files via OS2BBS, please send a note to IBMLINK at ATLVM1 requesting that access. I have been told by Dennis Johnson HONE81(AM00035) that there is an interdivisional charge for this access; however, he assured me that it is just a minimal paper transaction. Dick Goran, owner OS2REXX CFORUM CIS 72200,347 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 19. OS/2 2.1 System Settings ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is a repeat of a previous append from 2 weeks ago. Apparently appends from Canada weren't crossing the border (so much for free trade!). I am customizing the OS/2 2.1 desktop and have successfully changed the the settings on the WP_DESKTOP object, but when I try to change the the same keywords (CCVIEW, HIDEBUTTON, MINWIN) in the 'System' object (WP_SYSTEM), then it doesn't work (using SysSetObjectData). I know I am targetting the correct object because I can change the Title successfully. Strangely, even though I can't see the changes in the settings notebook Window tab, if I query the object settings with Deskman/2, I see the new values (CCVIEW=YES; , etc.). Is it possible that the Window tab settings in WP_SYSTEM have different key names? Or are they marked not changeable? Thanks for any ideas, Mike McVarish - LAN Specialist, Workers Compensation Board Append copied from OS2REXX CFORUM on OS2BBS Append moved from OS2WPS CFORUM on OS2BBS ********************************************************************** is a very special object. Although it seems to behave like any other object, it's one of a dual nature. It has it's own settings, like CCVIEW, HIDEBUTTON, MINWIN, etc., and you can set and query them but they will NOT be reflected in its Settings pages! (Although the object will obey them). This is where the second nature, the Mr. Hyde, comes to show. The values displayed in the Settings are the GLOBAL SYSTEM values. Those are stored not as the object's instance data but rather placed in the OS2.INI. Look under PM_ControlPanel - you will find them there, unless the objects displays the system defaults. As soon as you change anything, an entry gets created in the OS2.INI file. Obviously, since the same (or similar) Settings pages are used to display a different set of values, the settings for the System object are simply not displayed... Now, on the subject how to set those system-wide settings: configure a system the way you want it to be, use whatever method you prefer to read the PM_ControlPanel values and apply them to the system(s) you want to configure (DeskMan/2 can do the Save/Restore part, either through REXX or interactively but a REXX program will do, too). | |Forgot to mention that the global settings take after you reboot. | Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/22 10:00 ********************************************************************** Thanks for the thorough explanation. I am going to try to use INICOPY to copy over the PM_Control_Panel section to another workstation. Mike McVarish - LAN Specialist, Workers Compensation Board ********************************************************************** ═══ 20. Lost my VX-REXX CFORUM ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is probably the wrong forum to ask this but I am too lazy to switch forum. Somehow I lost the VX-REXX forum from by ForBrows download list. When I do a Conference, Download, and List, VX-REXX doesn't get listed anymore (it had been). Anybody know how I get it back? Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/04/22 at 09:01 PST > When I do a Conference, Download, and List, VX-REXX < > doesn't get listed anymore (it had been). Anybody < > know how I get it back? < Select Conference (or F4) and then select List Available Fora and select VX-REXX.CFO. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 21. Changing the Screen Resolution via REXX ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Is it possible to change the screen resolution via REXX. I thought that the Sys call might do this...but, the documentation doesn't seem to indicate this. To change the screen resolution manual you would go into 'System Setup' then int 'System' program and select the screen tab. We would like to automate this if a all possible. I am open to other suggestions if SysIni won't work. Thanks! Cynthia Berry Twentieth Century Services 816-340-7973 ********************************************************************** To: Cynthia Berry - Append created on 94/04/22 at 09:05 PST > To change the screen resolution manual you would go < > into 'System Setup' then int 'System' program and < > select the screen tab. < I am not familiar with a "screen" tab in the system notebook settings. The only way that I know of to change screen resolution is via DSPINSTL (or SETVGA for regression from SVGA). I don't know of any way in REXX to change the screen resolution. Twentieth Century Services 816-340-7973 Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** You only get the Screen tab in the System Settings Notebook if you have installed a video driver that supports multiple resolutions. XGA, for example, will give you a one page Screen section. XGA/2, on the other hand, will give you a two page Screen section that includes the choice of what monitor is attached in addition to the resolution settings. A reboot is required to see the results. As far as access to the settings, there are .DSC and .DGS files that are installed along with OS/2 that might have the answer. I know the .DSC files are text, I fear the .DGS are binary. (Note, the use of the term 'video driver'. Although your 'card' may support multiple resolutions, such as SVGA, SVGA requires a different video driver for each resolution. Hence, no page and DSPINST is required.) JASII ********************************************************************** To: Jerry A. Stegenga - Append created on 94/04/23 at 22:58 PST > You only get the Screen tab in the System Settings < > Notebook if you have installed a video driver that < > supports multiple resolutions. < Thanks. I have never played with one of those. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 22. REXX Reference Summary Handbook and Indelible Blue ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dick, Can you help me out here? We just received 5 copies of the handbook ordered from Indelible Blue. When we ordered, we specifically said "REV 2" and gave the proper ISBN. What we received were 5 copies of REV 1. Are you still distributing through Indelible Blue? Should we have gotten Rev 2 from them, or do we now have to go directly through you? Thanks for any information. -Scott Samuelson- Washington Public Power Supply System (509)372-5197 ********************************************************************** To: Scott Samuelson - Append created on 94/04/22 at 09:10 PST > Are you still distributing through Indelible Blue? < > Should we have gotten Rev 2 from them, or do we now < > have to go directly through you? < Indelible Blue has the second edition on hand. We also drop shipped some to them in San Francisco for the Technical Interface Conference. They should not have shipped the first edition. (I didn't know they had any left.) If you have any problem with them exchanging them, please let me know. You may have to check with Katy Ansardi at Indelible after she returns from SF. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick, >Indelible Blue has the second edition on hand. We also drop shipped >some to them in San Francisco for the Technical Interface Conference. >They should not have shipped the first edition. (I didn't know they >had any left.) > >If you have any problem with them exchanging them, please let me know. >You may have to check with Katy Ansardi at Indelible after she returns >from SF. Thanks for the info... The ball is now back in our purchasing depts court. If we have any problems, I'll let you know. -Scott Samuelson- Washington Public Power Supply System (509)372-5197 ********************************************************************** ═══ 23. SysCreateObject hangs ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Hi, When I run the following CMD the SysCreateObject hangs. What am I doing wrong. I have OS/2 2.1. /* REXX command */ call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' call SysLoadFuncs trace results rc = 0 rc=SysCreateObject("WPFolder","Test","") if rc then Say 'Test object has been sucessfully created. RC = ' rc else Say 'object had problems being created. RC = ' rc Regards, Eugene ********************************************************************** As far as I can see, you are doing nothing wrong... This is on 2.1GA: D:\myprogs> testfold 5 *-* rc = 0; >>> "0" 6 *-* rc = SysCreateObject('WPFolder', 'Test', ''); >>> "1" 7 *-* If rc; >>> "1" 7 *-* Then; 8 *-* Say 'Test object has been sucessfully created. RC = ' rc; >>> "Test object has been sucessfully created. RC = 1" Test object has been sucessfully created. RC = 1 Have you any problems creating folders form Templates? Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/22 13:09 ********************************************************************** Hi Gregory, As it semmed noone else was having this problem, including yourself, I recreated the desktop and now all is OK. Thanks, Eugene. ********************************************************************** [Reference to append at 17:45 on 94/04/22 by 75419871 at EHONE ] To: Eugene - Append created on 94/04/22 at 21:26 PST > When I run the following CMD the SysCreateObject < > hangs. What am I doing wrong. I have OS/2 2.1. < Your example ran, unchanged on my system. However, I will offer a couple of comments: The statement rc = 0 is unnecessary since the return code from SysCreateObject() will cause the variable rc to be set to some value. The test "if rc" would be wrong unless rc is assigned a value of 0 or 1. A better way of testing would be "if rc = 1 then". Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 24. .ICO files into a .DLL ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Can anyone tell me how to create an icon resource file? Do I need extra software packages to put multiple .ico files into one dll? Any help would be appreciated. Rex A. Desierto Caremark ********************************************************************** The toolkit is required to compile your resource file into the DLL or EXE, but there is nothing extra needed for multiple icons per file. The .RC file should look something like this... ... ICON 100 myIconFile.ICO ICON 102 myOtherIconFile.ICO ICON 103 myLastIconFile.ICO ... The elipses denote other stuff in your resource file and the numbers are usually #define constants, and there are other options described in the toolkit doc that you might want to consider. After the file is built simply use the resource compiler to bind your resources to your DLL. It's no different than an executable module. You may now reference your icons by their resource id (that's the number next ) to it. Joe Wyatt P.S. This seems a little misplaced. If there are any further questions on this you might want to try the toolkit forum or the pm forum. programming. ********************************************************************** >After the file is built simply use the resource compiler to bind your >resources to your DLL. It's no different than an executable module. You >may now reference your icons by their resource id (that's the number next >to it. Is there a way to now directly access those icons using Rexx? If not How could I make doing so possible? Al Brown, Brown & Associates Consulting Voice: (402)291-1410 Fax: (402)291-1623 ********************************************************************** The way to access an icon in a DLL is to use the parameter: ICONRESOURCE= x icondll; where x is the number or handle of the particular icon in the DLL and icondll is the filename of your .DLL which should be located somewhere in your LIBPATH. The only way I know of to keep track of what numbers belong to what icons is to hold on to the .RC file, unless there is an app that lets you view icons in a .DLL resource, but I haven't seen one. By the way, Joe, I tried your hints, but I ran into some problems, so I asked for more assistance on the OS2PMprog (?) Forum. As I stated in that forum, I am more of a REXX type person which is why I started asking around here first. Thanks, Rex A. Desierto Caremark ********************************************************************** [Reference to append at 03:06 on 94/04/28 by WZ01038 at HONE80 ] REXX cannot directly access the resources in the DLL. However if the DLL is being created to house REXX functions or procedures there could be another added to give REXX access to them. I'm not quite sure why you would want or need to, but it can be done. Would you like to give a few more details so that someone here might be able to steer you on to a more straight forward path? ********************************************************************** >REXX cannot directly access the resources in the DLL. However >if the DLL is being created to house REXX functions or procedures >there could be another added to give REXX access to them. I'm not >quite sure why you would want or need to, but it can be done. Would >you like to give a few more details so that someone here might be >able to steer you on to a more straight forward path? I'm looking for a simple method to gather a large number of Icons together for a project I'm working on using Vispro. Since some of the Icons would be standard and shipped with the project it would be much handier to put them together in a .dll and access them from there than have to ship a couple hundred little files along with the app. I just thought that someone was saying that there was a way to access these in Rexx and it peaked my intrest. Al Brown, Brown & Associates Consulting Voice: (402)291-1410 Fax: (402)291-1623 ********************************************************************** To: Al Brown - Append created on 94/04/29 at 13:02 PST > I just thought that someone was saying that there was < > a way to access these in Rexx and it peaked my < > intrest. < It can be done using C++ Al. I can't tell you how as I have my C++ comiler installed but haven't begun using it yet. However, you MUST know the resource ID in ther DLL to reference it. There is no way to search the IDs. Here is a modified version of one of Mike Lamb's original programs, contained in CRTOBJ that, that copies the icons from a DLL to a separate folder: /* 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 / 30NC/370 Neighborhood Rd */ /* ISSC MHV - Solution Center / Kingston NY 12401 */ /* Version 1.0 */ /*------------------------------------------------------------------------*/ /* */ /* Build folder for icons */ /* */ /*------------------------------------------------------------------------*/ /*---------------*/ /* Abstract icon */ /*---------------*/ icon_class = 'WPAbstract' icon_location = '' icon_option = 'REPLACE' /*--------*/ /* Folder */ /*--------*/ wpf_class = 'WPFolder' wpf_location = '' wpf_title = 'ICONRESOURCE'x2c(A)'Icon Folder' wpf_option = 'REPLACE' wpf_string =, 'DETAILSFONT=8.Helv;' ║║, 'DETAILSVIEW=MINI;' ║║, 'ICONFONT=2.System VIO;' ║║, 'ICONPOS=38 90;' ║║, 'ICONVIEW=FLOWED,NORMAL;' ║║, 'ICONVIEWPOS=00,00,100,100;' ║║, 'OBJECTID=' ║║ icon_location ║║ ';' ║║, 'OPEN=ICON;' ║║, 'TREEFONT=14.System;' ║║, 'TREEVIEW=LINES,NORMAL;' ║║, '' call CHAROUT 'CON', 'Removing: ICONRESOURCE Icon Folder' call SysDestroyObject icon_location If RESULT = 1 Then call LINEOUT 'CON', ' ... Object destroyed!' Else call LINEOUT 'CON', ' ... Not destroyed! Return code = ' ║║ RESULT call SysSleep 5 /* give message a chance to be seen */ call CHAROUT 'CON', 'Building: ICONRESOURCE Icon Folder' call SysCreateObject wpf_class,, wpf_title,, wpf_location,, wpf_string,, wpf_option If RESULT = 1 Then call LINEOUT 'CON', ' ... Object created!' Else call LINEOUT 'CON', ' ... Not created! Return code = ' ║║ RESULT /*------------------------------------------------------------------------*/ /* */ /* Put icons in 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: j = RIGHT( i, 2, '0' ) icon_title = fn ║║ '-' ║║ j icon_string =, 'ICONRESOURCE=' ║║ j ║║ ' ' ║║ fn ║║ ';' ║║, 'OBJECTID=;' ║║, '' call CHAROUT 'CON', 'Building: ' ║║ icon_title result = SysCreateObject(icon_class,, icon_title,, icon_location,, icon_string,, icon_option ) If RESULT = 1 Then call LINEOUT 'CON', ' ... Object created!' Else call LINEOUT 'CON', ' ... Not created! Return code = ' ║║ RESULT Return Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 25. folder.cmd ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Here's a little .CMD file I find useful. I usually work from the OS/2 command line prompt, but sometimes I need to open up the WPS folder that corresponds to a directory. Rather than opening up the Drives folder and searching down the tree, I just use the following command file. Just type "folder" to open the folder for the current directory, "folder .." for the parent dir, "folder d:\tmp", etc. etc. Eric Giguere, WATCOM /* folder.cmd -- Opens the WPS folder for the given directory. * You can use relative paths. If no directory specified, opens * the folder for the current directory. */ call RXFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs' call SysLoadFuncs call setlocal dir = arg(1) if( dir \= '' )then call directory( dir ) dir = directory() call endlocal /* Yes, twice... */ call SysSetObjectData dir, 'OPEN=DEFAULT;' call SysSetObjectData dir, 'OPEN=DEFAULT;' exit 0 ********************************************************************** Eric Thank you. I wanted to do that for some time. Would you have any complaint if I were to put a copy of that in our U group news? TIA e ilsley ********************************************************************** Go right ahead and do what you want with it. I hereby put it in the public domain. (Seems silly to say so for such an obvious little program...) Eric Giguere, WATCOM ********************************************************************** Thanks Eric, PS I really like this thing. I'm a command line nut but some things do really work better with a folder. e ilsley ********************************************************************** Eric I have noticed that the open folder does not appear to want to open another view or sort. Arrange does work. Is this a WPS buglet ? Do you think it worth reporting? e ilsley ********************************************************************** ═══ 26. Hidden password ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * OK, I'm sure this will be a headslapper (e.g. Wow! I could've had a V-8) BUT I'm trying to log on to multiple "things" (LAN, CICSWP, IBMLINK), but I just want to type my password once. I've got the password input hidden, but here's the killer snippet: ---------------------------------------- LanLogon = "LOGON "||UserId||" /p:"||PassWd /* Set up the LAN logon strng*/ LanLogon /* Logon to the LAN */ ---------------------------------------- If my UserID were George and my Password were Jones, when the second line executed, you would see: C:\>LOGON GEORGE /p:JONES Well, gee! That's not very secure. How do I eliminate that part from showing? Gary Pool MO Dept. Social Services * EPM * Program not working? Rexx! Go lay down! Bad Boy! ********************************************************************** You can use '@Echo OFF' before LOGON, or simply: '@'LanLogon Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/25 16:00 ********************************************************************** >You can use '@Echo OFF' before LOGON, or simply: > > '@'LanLogon SLAP!! (No wonder I'm bald -- from all these head-slappers!) Gary Pool MO Dept. Social Services * EPM * Quickly, Gregory, to the REXXMOBILE! ********************************************************************** ═══ 27. Setting Read position ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Is there a way to move the read position to a particular line number within a file without having to loop through the file? I know I can use the STREAM command with SEEK to skip over x number of characters but can I somehow skip over x number of lines? Thanks. Russell Baker Blue Cross & Blue Shield of MD, Inc. (410) 998-5499 ********************************************************************** No. Under OS/2 or DOS there is no way, in any language, to find line X without counting X-1 CRLF sequences (unless you know that the file consists only of non-blank, fixed-length lines). Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** Rats. Thanks Tom. Russell Baker Blue Cross & Blue Shield of MD, Inc. (410) 998-5499 ********************************************************************** ═══ 28. WATCOM SQL ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I've just posted an announcement concerning WATCOM SQL for OS/2 (which includes a REXX interface) in the VX-REXX forum. Eric Giguere, WATCOM ********************************************************************** ═══ 29. REXX program stops ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Does anybody know what it means when a REXX program gets to a particular line and simply stops? No error code. No crash. Nothing. Just stops for no reason. For instance, I have a line that says: rc = PipeRead(pipe, var) if rc \= 0 then say "Error with rc = "rc When my program gets to the PipeRead line, it simply stops. The error message line mply was never executed. This one happens to be a VX-REXX program, but the offending line is not VX-REXX related. Thanks. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/04/27 at 11:30 PST > When my program gets to the PipeRead line, it simply < > stops. The error message line mply was never < > executed. < It means that you have never returned from the PipeRead() function. I don't know whose function that is, but it appears you are waiting on a named pipe. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick Quercus Systems REXXLIB package has a NMPIPE_READ. Could this be what Kim is attempting? e ilsley ********************************************************************** [Reference to append at 18:37 on 94/04/27 by DEV4672 at HONE82 ] I get it. I get it. Dick, you are right: it didn't return. More properly stated: It hasn't returned ■yet. The termination message is not from that thread. Another thread had a problem and sn't returned ■crashed out, causing the main program to stopped. That poor thread listed above was still 't returned ■waiting patiently. Well come to the confusing world of multi-threading programming. Thanks for the inspiration. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** [Reference to append at 19:39 on 94/04/27 by PER518 at HONE81 ] To: e ilsley - Append created on 94/04/27 at 20:22 PST > Quercus Systems REXXLIB package has a NMPIPE_READ. < > Could this be what Kim is attempting? < Only Kim can answer that. BTW, REXXLIB is fully documented in our Handbook. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 30. Refusing a drag and drop ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * The application I am writing accepts a filename as a parameter and therefore can be used with drag and drop. However, we don't want anything other than a plain TEXT file dropped on us. Can someone put up a REXX code fragment that would disallow any other objects from being dragged on to this EXE ? Thanks Bill Dickenson ********************************************************************** Do you mean in regular REXX, or other REXX? In VX-REXX, it's very easy to do what you want. q  Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** [Reference to append at 18:08 on 94/04/27 by IL81656 at HONE82 ] To: Bill Dickenson - Append created on 94/04/27 at 20:06 PST > Can someone put up a REXX code fragment that would < > disallow any other objects from being dragged on to < > this EXE ? < It is no different than chevking / validating the parameter in command line mode. Here's an example (assumes no imbedded spaces in name): /* */ parse arg file_name . if UPPER( RIGHT( FILESPEC( 'N', file_name), 4 ) ) <> '.TXT' then do say file_name 'is not a valid file name' exit end else do say 'Processing' file_name end exit Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick, I think Bill wants to ensure that the data file object has a type of "Plain Text" assigned to it. I do not know how this can be done but perhaps a WPS expert can answer if the Type setting of a WPDataFile object can be queried? Maurice Cartier: IBMMail(CAPCO9CB) Procor Ltd, Oakville, Ontario ********************************************************************** Bill, You may want to peruse the OS2WPS bulletin questions under the title of Adding ASSOCTYPEs. I was interested in finding out via REXX whether "Plain Text" was associated with the E.EXE program. It looks like the answer is you can do it in "C" but not REXX. Russell Baker Blue Cross & Blue Shield of MD, Inc. (410) 998-5499 ********************************************************************** [Reference to append at 14:42 on 94/04/28 by XXPCOR02 at TORVMCOP ] To: Maurice Cartier - Append created on 94/04/28 at 12:18 PST > I think Bill wants to ensure that the data file < > object has a type of "Plain Text" assigned to it. < You're probably right. I didn't think of that. It can be accomplished using the SysGetEA() function with an EA name of '.TYPE'. Of course this presuposes that a TYPE has been assigned to the file. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 17:23 on 94/04/28 by MDBC028 at HONE81 ] To: Russell Baker - Append created on 94/04/28 at 12:43 PST > I was interested in finding out via REXX whether < > "Plain Text" was associated with the E.EXE program. < > It looks like the answer is you can do it in "C" but < > not REXX. < Unless I am still missing something here, the ".TYPE" extended attribute can be assigned to a file via the SysPutEA() function and interrogated via the SysGetEA() function. REXXLIB, from Quercus, has a function that will return all of the EAs assocaited with a file. It is the function that I used in LISTEA.CMD (available here in the Software Library) to get the EAs. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 14:42 on 94/04/28 by XXPCOR02 at TORVMCOP ] That is exactly what I wanted. I'll root thru the SysEA stuff and see if I can make it so. Thanks to everyone who responded. Bill Dickenson ********************************************************************** ═══ 31. Controlling full screen DOS session ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Does anybody know why is it that when I start a full screen DOS session from my REXX program Рit gets started in the background? The parameters I am using is this: classname='WPProgram' title='CFG4P.EXE' location='' /* place in invisible folder */ gram Р program='EXENAME=CFG4P.EXE;' /* DOS program name */ */ gram Р type='PROGTYPE=VDM;MAXIMIZED=YES;' /* type of DOS session (windowed) */ */ gram Р startup='STARTUPDIR='HomeDir';' /* startup directory */ gram Р open='OPEN=DEFAULT;' /* open now */ / gram Р settings='SET DOS_FILES=99;' ║║, /* required DOS settings */ ram Р 'SET DOS_HIGH=1;' window='SET CCVIEW=NO;' call SysCreateObject classname, title, location,, program║║type║║startup║║settings║║open║║window, 'REPLACE' If that's the way things work, is there anyway I can switch to that process from the program? РIf this is a windowed process, I can always get the window list and issue a SetFocus to it m? Рbut since it's a full screen DOS session, I couldn't do that. Is there anyway to switch to a full screen DOS session? p.s.: I can't start this up windowed. For some reason, the keyboard gets locked if I do that. Р Thanks. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** 1. this is BAD (broken as designed) behavior, 2. create your session with an object ID and issue a SysSetObjectData call on it with another "OPEN=DEFAULT;". Performing OPEN twice should the switch, 3. or write yourself a small program and use WinSwitchToProgram to switch to the started session, 4. DeskMan/2 WPS Extensions have a "fix" for this problem and will force the opened view to the foreground, 5. remember to limit yourself to lines narrower than 80 characters, otherwise your posts will look like this one: location='' in invisible folder */ gram ЫЫЫРЫЫ /* DOS program name */ */ gram ЫЫЫРЫЫ /* type of DOS session (windowed) */ */ gram ЫЫЫРЫЫ /* startup directory */ gram ЫЫЫРЫЫ /* open now */ / gram ЫЫЫРЫЫ /* required DOS settings */ ram ЫЫЫРЫЫ window='SET CCVIEW=NO;' 6. whoever wrote the VM frontend for this BBS deserves the capital punishment for allowing this to happen, 7. have a nice day !-) Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/27 15:59 ********************************************************************** Thanks for responding, Greg. >1. this is BAD (broken as designed) behavior, > Do you mean OS/2's design or my program design?? >2. create your session with an object ID and issue a SysSetObjectData > call on it with another "OPEN=DEFAULT;". Performing OPEN twice > should the switch, > Something is missing here. "Performing OPEN twice should the switch," ??? >3. or write yourself a small program and use WinSwitchToProgram to > switch to the started session, I assume you mean like I have to go down the task list and so forth and find the PID C and then issue WinSwitchToProgram? If that's the case, let me try out the ybautil.dll. ^a╒Р They have some REXX interface like that. >4. DeskMan/2 WPS Extensions have a "fix" for this problem and will force > the opened view to the foreground, I have DeskMan/2, can you be more specifc about the "fix"?? >5. remember to limit yourself to lines narrower than 80 characters, > otherwise your posts will look like this one: You have no idea how long I've been scraching my head as to why some of my appends dll. ^a╒Р get garbled up. So that's the reason. Thanks again. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** [Reference to append at 19:22 on 94/04/27 by DEV4661 at HONE82 ] To: Kim Cheung - Append created on 94/04/27 at 20:25 PST KIM, KIM, KIM! Please find out what is causing all kinds of unreadable characters in your appends. Please look back at the append you posted and referenced in this append (Shift-S if your in Forbrows) and look at what I am referring to. It appears that the same same string, '0410 04A4 0318'x, is insertted whereever you should have a CR/LF ('0D0A'x). > Does anybody know why is it that when I start a full < > screen DOS session from my REXX program it gets < > started in the background? < Just issue the call to SysCreateObject() twice in succession and the session will pop to the foreground. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 22:36 on 94/04/27 by DEV4661 at HONE81 ] 1. I mean WPS' design (obviously :-), not yours. 2. "Performing OPEN twice should the switch," - >force< is the missing word, 3. Yes, walk the window list and WinSwitchToProgram. It assumes that: - your program creates an entry in the window list (it does), - it has a unique title (has it ?), 4. You have it already ?-) Lucky you! Version 1.5 just premiered at the SanFran Technical Interchange. Except for many fixes and enhancements, the DeskMan/2 package will include "DeskMan/2 WPS Extensions for OS/2" The Extensions, (except for this little "fix" to the open problem) contain a bunch of other functions: additional open and close items, a "minimize on use" function, setup strings for customization of folder menus (optional removal of Sort/Find/Arrange/Shut down/Lock up/System setup), setting "always maintain sort order" and the specific sort order and the default view, as well, setup strings for setting or overriding the default object style (delete/copy/move/shadow/new/drop/ drag/settings) for all or selected objects on the system and disabling the associated WPS functions, and last, but not least, a setup string for performing the close of selected object view's from the command line (as companion to the OPEN=... setup string). The GUI adds also an "extended drag and drop" support where you can use the mouse and single click to perform move, copy or shadow the same way you do move now. The upgrade to version 1.5 will be made available, free of charge, to all current owners of DeskMan/2 package. Evan will post the details in the DevTech forum as soon as he comes back from SF. 5. yes, that's the reason - it happened again, toward the bottom, when you went over the right margin... Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/28 09:00 ********************************************************************** [Reference to append at 03:46 on 94/04/28 by DEV4672 at HONE81 ] Dick, Okay, your tip on switching to the full screen DOS session works. However, once it started, let say the user do a ctrl-esc to go back to the desktop and later on, he forgets that he started that DOS session and click a start button for that program again. I want to be able to switch back to the existing session. I tried sending a SetFocus command to that window (oops, that's a VX-REXX command), but nothing happens. Also, if he terminates the front end on the desktop without exiting that DOS program, I want to be able to force stop that session. If it were a windowed DOS session, I can place keystrokes in the clip board, and paste them onto that DOS session to close it. But with full screen DOS, what do I do? Can I send a Alt-Home to it? No, no, if I can do that, I could have sent other keystrokes. What do I do? p.s.: By the way, I changed the right margin for EPM to 80 and turned wrapping on, let see if I got rid of the garbage characters. This is crazy. Thanks. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** [Reference to append at 13:56 on 94/04/28 by GREGC at LEXVM2 ] >Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/28 09:00 >4. You have it already ?-) Lucky you! Version 1.5 just premiered at the Greg, I got that because the original version never did work for me. This one is a pre-release version. I didn't spend any time looking at it yet. May be I'll get the final copy. Boy, if Evan can do all that with DeskMan, you would think that he can replace the window list with a icon list. It's terrible that with all the graphical stuff in WPS, that every time you hit ctrl-esc, you have to search thorugh a text list (looks too much like Windows). p.s.: By the way, I tried Dick's suggestion about calling SysCreateObject twice and it does work. Then I don't have to do the WinSwitch. Regards. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** | fingers faster than brain. Sorry... > Boy, if Evan can do all that with DeskMan, you would think that he > can replace the window list with a icon list. Voice your request in the DevTech CFORUM - I think, it can be done. > It's terrible that with all the graphical stuff in WPS, that every > time you hit ctrl-esc, you have to search thorugh text list (looks > too much like Windows). Did you try VUEMan/2 (part of DeskMan/2 package)? You won't ever need a window list again... Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/04/28 16:31 ********************************************************************** [Reference to append at 16:24 on 94/04/28 by DEV4661 at HONE82 ] To: Kim Cheung - Append created on 94/04/28 at 12:32 PST > Okay, your tip on switching to the full screen DOS < > session works. < I loked back and can't find the append you are referring to. Perhaps someone else suggested a full screen vs. a windowed OS/2 session. If you mean my comment about calling SysCreateObject() twice (btw, it really should be one call to SysCreateObject() and one call to SysSetObjectData() ), that will work with either a full screen or windowed session. > However, once it started, let say the user do a < > ctrl-esc to go back to the desktop and later on, he < > forgets that he started that DOS session and click a < > start button for that program again. I want to be < > able to switch back to the existing session. < rather tahn using SysCreateObject() eavh time, build the object once, assign it an OBJECTID (any valid string preceeded by "<' and followed by '>'). Then begin the session with two successive calls to SysSetObjectData(). > p.s.: By the way, I changed the right margin for EPM < > to 80 and turned wrapping on, let see if I got rid of < > the garbage characters. This is crazy. < I would suggest that you set the right margin for something less than 80 as most fonts will not allow a full 80 characters to be seen on a line. Try 76 as the right margin. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 20:44 on 94/04/28 by GREGC at LEXVM2 ] Vueman/2: Never did spent enough time to figure out what it does. I remember started that once or twice and couldn't figure out what it was for and I didn't follow up on it. May be I should. Kim Cheung (DEV4661) (818)288-7774 ********************************************************************** [Reference to append at 23:36 on 94/04/28 by DEV4672 at HONE82 ] Dick, > However, once it started, let say the user do a < > ctrl-esc to go back to the desktop and later on, he < > forgets that he started that DOS session and click a < > start button for that program again. I want to be < > able to switch back to the existing session. < >rather tahn using SysCreateObject() eavh time, build the object once, >assign it an OBJECTID (any valid string preceeded by "<' and followed >by '>'). Then begin the session with two successive calls to >SysSetObjectData(). The SysSetObjectData() idea didn't seem to work. It doesn't switch me to the DOS session. Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/04/30 at 12:28 PST > The SysSetObjectData() idea didn't seem to work. It < > doesn't switch me to the DOS session. < Try the following (it assumes PKUNZIP is pathed): /* Build & Start DOS forground session */ wpp_class = 'WPProgram' wpp_location = '' wpp_object_id = '' wpp_title = 'Kim''s^DOS Session' wpp_setup_string = , 'OBJECTID=' ║║ wpp_object_id ║║ ';' ║║, 'EXENAME=pkunzip;' ║║, 'PROGTYPE=VDM;' ║║, '' call SysCreateObject wpp_class,, wpp_title,, wpp_location,, wpp_setup_string,, 'REPLACE' if RESULT = 1 then do say wpp_title 'was successfully created' end else do say wpp_title 'was not created, return code = ' ║║, RESULT say wpp_setup_string exit end call SysSetObjectData wpp_object_id, 'OPEN=DEFAULT;' call SysSetObjectData wpp_object_id, 'OPEN=DEFAULT;' exit Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Hot dog! This works. Dick, I was doing more or less the same thing before but it didn't work. Apparently the difference is I had that open=default with the create rather than create first, than use the open=default later. I can now switch back and forth. There is another minor problem though. How I force close that process? With windowed DOS session, I can simply paste some key strokes over to it, or invoke the Close option on the system menu. But how do I do that with full screen DOS session? Thanks for the help. Kim Cheung (DEV4661) (818)288-7774 ********************************************************************** To: Kim Cheung - Append created on 94/05/06 at 18:05 PST > There is another minor problem though. How I force < > close that process? With windowed DOS session, I can < > simply paste some key strokes over to it, or invoke < > the Close option on the system menu. But how do I do < > that with full screen DOS session? < I know rhat here is some 3rd party softwarte around that will send key strokes to another session; however, I am not aware of the names of those packages. A simple way to handle it to invoke a .BAT file to launch your DOS program rather than the program itself. Have an EXIT command be the last statement in the.BAT file and it will close all by itself. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** Dick, Sorry if I didn't make myself clear. You see, I am writing a front end GUI program that controls the execution of a number of DOS packages. Let say the user started one of the package in full screen mode and do a ctrl-esc back to the desktop and do other things. Then he decided to shut the GUI frontend down (and forgot to shut down the DOS program) Right now all I can do is to pop up a message box and tell him that he should switch back to the DOS program and terminate it first before he can terminate the GUI front end. That's clumsy. It would be nice if I can shut that program down for him. I am doing that with all the windowed sessions, but I haven't been able to force close a full screen session. Thanks. Kim Cheung (DEV4661) (818)288-7774 ********************************************************************** [Reference to append at 20:11 on 94/05/06 by DEV4661 at HONE81 ] > How I force close that process? You send it a CLOSE=DEFAULT or CLOSE=RUNNING setup string through PerfSET (this new setup string is supported by DeskMan/2 WPS Extensions in 1.5). Alternatively, you can use some of the packages available around to kill the process, by name or PID. Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/05/09 09:41 ********************************************************************** [Reference to append at 01:19 on 94/05/07 by DEV4672 at HONE82 ] > I know rhat here is some 3rd party softwarte around that will send key > strokes to another session; however, I am not aware of the names of > those packages. VX-REXX from Watcom is one 3rd party package that will do this. Peter Ricciardiello, UT Carrier Corporation, Syracuse, NY ********************************************************************** ═══ 32. This append created as a test for modification by owner ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Original line 1 Add line 2 Dick Goran, owner OS2REXX ********************************************************************** ═══ 33. (no subject) ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Kim Cheung, DEV4661, (818)288-7774 ********************************************************************** ═══ 34. April, 1994 Winners - REXX Reference Summary Handbook ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * REXX Reference Summary Handbook Drawing Winners for April, 1994 The following IDs / Appends are the April winners of a complimentary copy of the "REXX Reference Summary Handbook". Would the owner of each ID noted below please send me a Note with your mailing address. appended at 17:02:23 on 94/04/28 GMT (by MDBC028 at HONE81) appended at 03:07:06 on 94/04/28 GMT (by WZ01038 at HONE80) * appended at 14:01:51 on 94/04/05 GMT (by MRTOM at YKTVMV) appended at 14:26:04 on 94/04/05 GMT (by POOLMWV at HONE83) Runners-up were: appended at 17:27:54 on 94/04/21 GMT (by HOAM013 at HONE81) If the 3 winners do not claim their Handbook by the end of the current month, the runners-up will become eligible to receive a copy. * Note: Tom Bridgman has graciouly asked me to include the next winning append since he already has a copy of the Handbook, therefore Steve Pool has moved up. Full deatils of the drawing are posted at least once each month in the OS2REXX CFORUM. Dick Goran, owner of the OS2REXX CFORUM If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 35. REXX Reference Summary Handbook Drawing ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To: ALL REXX Reference Summary Handbook Drawing Beginning in May, 1994 and continuing each month until I announce its demise, I will select 3 IDs at random from all of the appends in the OS2REXX CFORUM for the previous month. The appender of each of the selected appends will receive a complimentary copy of the REXX Reference Summary Handbook. Everyone's posts are eligible for the drawing. There are no exclusions because of whom you work for or who you are related to. Specious appends will not be eligible for consideration. Winners will be posted here in the OS2REXX CFORUM sometime after the 1st of each month. Decision of the judges (me) is final. The winners will be responsible for notifying C F S Nevada, Inc. of their mail address. Books will be mailed first class mail, prepaid, to anywhere in the world. Actual selection of the winning IDs will be accomplished with a REXX program that has no prejudice or bias. A copy of the program will be sent to any TALKLink ID on request. Dick Goran, owner of the OS2REXX CFORUM If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 36. Printing to printer object ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I have a VX-Rexx project that I'm working on which requires Rexx controlled printing to a selected printer. Under VX-Rexx I can have the user select a desktop printer to be used, but I don't know how to direct the output to the selected printer. The VX-Rexx function that I'm using to list the available printers is ListPrinters which returns a compound variable containing the list of printers. Each entry in the stem variable returned is in the format: QueueName;PhysicalName;DriverName My question is what do I use in the "lineout" statement to direct the output to the correct place? ---------------------------------------- -= Gene Baral =- -= Team OS/2 =- IBAX Healthcare Systems - Longwood, FL ********************************************************************** ═══ 37. Parser ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dick: I thought that everyone might appreciate the following REXX code. I have been converting some C utilities to REXX and I needed the REXX code to parse the command line argument just like C does. The following code does just that. /* REXX */ call parsearg arg(1) /* output the parsed arguments */ say 'The number of arguments was' arg.0'.' do i = 1 to arg.0 say arg.i end exit /*--------------------------------------------------------------------*/ /* ParseArg: */ /* Parse a single argument line just like C would parse it using */ /* double quotes as argument delimiters. Put the separate */ /* arguments into the stem array ARG. */ /*--------------------------------------------------------------------*/ parsearg: procedure expose arg. if arg() = 0 then do arg.0 = 0 return end part2 = arg(1) i = 1 parse var part2 part1 '"' qarg '"' part2 do while qarg <> '' parse var part1 arg.i part1 do while arg.i <> '' i = i + 1 parse var part1 arg.i part1 end arg.i = qarg i = i + 1 parse var part2 part1 '"' qarg '"' part2 end parse var part1 arg.i part1 do while arg.i <> '' i = i + 1 parse var part1 arg.i part1 end arg.0 = i - 1 return Enjoy! W. David Ashley, American Airlines 817-963-9716 ********************************************************************** >I thought that everyone might appreciate the following REXX code. I don't know about everyone, but *I* sure did! Gary Pool MO Dept. Social Services * EPM * The worst thing about censorship is ││││││││││. ********************************************************************** ═══ 38. Parsing the REXX Command Line ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dick: I thought that everyone might appreciate the following REXX code. I have been converting some C utilities to REXX and I needed the REXX code to parse the command line argument just like C does. The following code does just that. /* REXX */ call parsearg arg(1) /* output the parsed arguments */ say 'The number of arguments was' arg.0'.' do i = 1 to arg.0 say arg.i end exit /*--------------------------------------------------------------------*/ /* ParseArg: */ /* Parse a single argument line just like C would parse it using */ /* double quotes as argument delimiters. Put the separate */ /* arguments into the stem array ARG. */ /*--------------------------------------------------------------------*/ parsearg: procedure expose arg. if arg() = 0 then do arg.0 = 0 return end part2 = arg(1) i = 1 parse var part2 part1 '"' qarg '"' part2 do while qarg <> '' parse var part1 arg.i part1 do while arg.i <> '' i = i + 1 parse var part1 arg.i part1 end arg.i = qarg i = i + 1 parse var part2 part1 '"' qarg '"' part2 end parse var part1 arg.i part1 do while arg.i <> '' i = i + 1 parse var part1 arg.i part1 end arg.0 = i - 1 return Enjoy! W. David Ashley, American Airlines 817-963-9716 ********************************************************************** ═══ 39. Defining a Printer in a folder ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Is it possible to define a printer in a folder using Rexx. I can define it on the desktop but cannot find a way to move it or delete it and redefine it in the folder. I need to keep the properties that are defined with the printer intact. Thanks for any help! Beth Pearall ********************************************************************** ═══ 40. A dos rexx interpreter/compiler ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A short interruption.... I do not know where else to ask the question... I have a very simple question. I need to run an OS/2 REXX script on a strictly DOS machine (MS or PC Dos). What is the Rexx product name and where can I get the package (internal IBM)? If it is an internal tool please respond to my reader. Any help would be appreciated. Thanks in advance. Leon Roberson ********************************************************************** Since Leon was asking for an IBM internal package, I've answered off-line. Dave Rose ********************************************************************** [Reference to append at 15:58 on 94/05/03 by LAVO at RALVMG ] To: Leon Roberson - Append created on 94/05/04 at 07:34 PST > What is the Rexx product name and where can I get the < > package (internal IBM)? < Personal REXX from Quercus Systems provides a complete interpreter for REXX under DOS. It is available from most of the traditional OS/2 sources or directly from: Quercus Systems P.O. Box 2157 Saratoga, CA 95070 408-867-REXX (voice) 408-867-7489 (FAX) 408-867-7488 (BBS) CIS, PCVENA, Sec 11 (Charles Daney 75300,2450) Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 41. SysIni won't take filespec? ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I am trying to use SysIni to pull some PM scheme colors out of an old INI file. The REXX online document says SysIni will take 'USER', 'SYSTEM' 'BOTH' or a filespec. However, I can't get it to work with a filespec... Anybody know anything about this?? Thanks Ed Childers ********************************************************************** I use a filespec all the time. Can you append the code fragment you're trying to use? Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 00:27 on 94/05/04 by ERC at TUCVM2 ] To: Ed Childers - Append created on 94/05/04 at 07:36 PST > However, I can't get it to work with a filespec... < Sysini() does work with a full file system name. It may be used with any OS/2 format .INI file. There is a program in the Software Library here, LISTINI.CMD that you can download (file name is LISTINI.ZIP) and use as an example. It creates a readable file from any INI file. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 42. Is there an OO-REXX beta? ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Someone on the internet claims there is some sort of an announcement on COMPUSERVE about a beta program for OBJECT REXX. Anyone know if it is true? Any details? Marvin Lichtenthal marvinl@netcom.com ********************************************************************** To: Marvin Lichtenthal - Append created on 94/05/04 at 07:41 PST > Anyone know if it is true? Any details? < Here's what I found after I read your append: #: 90504 S6/REXX/Other Language 03-May-94 08:06:48 Sb: #90314-Object REXX Beta Fm: The TEAMIBM Network 72370,250 To: Byron Stephan 73443,711 Byron, Object REXX (both OS/2 as well as Windows version) is currently under beta test. For further information, you may contact Tom Brown (IBM) at (607)-752-5166. His internet id is (tombrawn@vnet.ibm.com). Thanks. Amrish Desai (BTIG) From: V$IAMRIS@internet.BCRVM1.ibm.com Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 08:58 on 94/05/04 by IL78711 at HONE82 ] >Someone on the internet claims there is some sort of >an announcement on COMPUSERVE about a beta program for >OBJECT REXX. > >Anyone know if it is true? Any details? I too saw something about that. I don't know if it has anything to do with a file I downloaded from Pete Norloff's board called ROX.ZIP, which was an object oriented REXX. It kind of blew my mind, because I have never done any OO programming. You load up a DLL, and let's see if I can strip something off an example that will give you a ferinstance of how it works. Well, I just looked and it's so complicated I think it would be easier to just download it if you were interested. I don't think it has anything to do with IBM's version, however. Gary Pool MO Dept. Social Services * EPM * This is abuse. Arguments are down the hall. ********************************************************************** In , poolmwv@hone82.rscs writes: >I too saw something about that. I don't know if it has anything to do >with a file I downloaded from Pete Norloff's board called ROX.ZIP, >which was an object oriented REXX. >... >Well, I just looked and it's so complicated I think it would be easier >to just download it if you were interested. I don't think it has >anything to do with IBM's version, however. Correct, ROX is NOT ObjectREXX. Just a function package providing some OO capabilities to 'classic' REXX. Patrick Mueller | IBM Software Solutions, Cary NC; 919-469-7242, tie 883 | internet: pmuellr@vnet.ibm.com vnet: pmuellr@carvm3 ********************************************************************** I want to add my impression of an Object REXX prototype that Rick McGuire presented at the PSP Technical Interchange last week in San Francisco: 1) Object REXX would make REXX more powerfull than a locomotive. 2) Object REXX is easy. In fact, I think the sooner that IBM delivers it, the quicker we would get users turned on to the object-oriented programming environment. 3) I can't wait to get my hands on it to show all of our programmers how they should be doing their thing. This will be a great tool for intructional use. 4) Rick did an outstanding job presenting the information. Thanks Rick. Emilio A. Icaza, Louisiana State University ********************************************************************** [Reference to append at 14:44 on 94/05/04 by DEV4672 at HONE81 ] Correction to contact for OO-REXX. It looks like the contact for this would be Tom Brawn rather than Tom Brown. I have been receiving numerous requests for this package which I have no association with. Thanks, Tom Brown ********************************************************************** ═══ 43. Timed OS/2 Shutdown ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * We want to be able to gracefully shutdown OS/2 on machines that are left cranking on a problem at night. The task will finish after the staff involved has left for the day, but sometimes we have problems because the building control systems shut down the power during certain hours for unoccupied areas. I went thru the indispensible "REXX Reference Summary Handbook" hoping someone might have coded a system function call to do this. Not finding one, I scanned this forum for "Shutdown" but got no hits. So that brings me to the "real" experts. You guys. I'm sure this has been solved by someone lurking here. If I find out how to trigger a shutdown thru REXX I'll code the sysSleep statement myself . TIA. Leo Tornow - Northwest Pipeline Corp. ********************************************************************** >hoping someone might have coded a system function call to do this. Leo, I sent SHUTDOWN.ZIP (containing SHUTDOWN.EXE and SHUTDOWN.CMD) to your IBMLink ID. Ken Singer, Shell Oil, Houston ********************************************************************** Thanks Ken. You're a gentleman and a scholar. Leo Tornow - Northwest Pipeline Corp. ********************************************************************** ═══ 44. REXX macro for EPM ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * OK, don't beat me, I know I've asked for this before. Why don't I look it up and figure it out myself? That's on my list of "fun" things to do -- Not Urgent and Not Important. Unfortunately, I never have time to do the fun things. Someone (Al?) said they were working on such a beastie, but I never heard anything more. Although my wish is in the subject line, let me spell it out: I would like to have an EPM macro that would Open a particular file. (Acttually, I want it to do more than that, but I think if I have that start, I can do the rest myself). 1. How does one write a REXX CMD that uses EPM commands, like File Open? 2. Once the macro is written, what are the step by step instructions to make it useable in EPM? Are there any hard-workers out there who have this conquered? Gary Pool MO Dept. Social Services * EPM * This is your sysop. √пЪу$ яs Р ╚sИ╘ эЛ d╘╚g$. ********************************************************************** You might want to ask in E-EDITOR CFORUM; the real, live EPM developers hang out over there. Tom Bridgman NetDoor Development (BITNET: MRTOM at YKTVMV InterNet: MRTOM @ WATSON.IBM.COM) ********************************************************************** [Reference to append at 15:58 on 94/05/04 by POOLMWV at HONE82 ] Gary: There are times I only look at your appends for the taglines! I must admit I have only one word about this one, though. HUH ????? Regards, Jim Allen Honda of America Mfg., Inc. Team OS/2 T.I.P.A. ********************************************************************** [Reference to append at 15:58 on 94/05/04 by POOLMWV at HONE82 ] >OK, don't beat me, I know I've asked for this before. Why don't I >look it up and figure it out myself? That's on my list of "fun" >things to do -- Not Urgent and Not Important. Unfortunately, I never >have time to do the fun things. Someone (Al?) said they were working >on such a beastie, but I never heard anything more. Although my wish >is in the subject line, let me spell it out: Gary, I was working on a tagline macro and got side tracked by other business and stuff. I'll try to get it back to the front burner, the macro commands aren't particulary complicated it's just damned obscure. I know excuses, excuses, I'll get back to work if I can't get it to work I'll post the code fragments that I have and ya'll can clean it up. Al Brown, Brown & Associates Consulting Voice: (402)291-1410 Fax: (402)291-1623 ********************************************************************** [Reference to append at 15:58 on 94/05/04 by POOLMWV at HONE82 ] Example: 1) Find out where EPMPATH points (standard: C:\OS2\APPS) 2) in EPMPATH directory create file RxOpen.ERX with: /* My rexx for EPM */ 'OPEN C:\CONFIG.SYS' 3) Bring up EPM. 4) CTRL-I for command interface 5) enter: RX RXOPEN Quick reference entry in on-line EPM Help has some more info on commands. Leshek Pa. Hmm... quick reference doesn't work for me any more... ohh.. well... ********************************************************************** [Reference to append at 16:33 on 94/05/04 by HOAM013 at HONE82 ] >admit I have only one word about this one, though. HUH ????? This is your sysop. √пЪу$ яs Р ╚sИ╘ эЛ d╘╚g$. Translation: This is your sysop. This is a user on drugs. I admit the high ASCII characters look a little better without the ASCII-EBCDIC conversion. Gary Pool MO Dept. Social Services * EPM * This score just in: Deep Space:9, Babylon:5 ********************************************************************** [Reference to append at 18:13 on 94/05/04 by WZ01038 at HONE80 ] >excuses, excuses, I'll get back to work if I can't get it to work I'll post >the code fragments that I have and ya'll can clean it up. Gee, does that mean I have to *think*? Gary Pool MO Dept. Social Services * EPM * To err is Human. To blame someone else is politics. ********************************************************************** [Reference to append at 01:02 on 94/05/05 by LESHEK at LEXVMK ] > 1) Find out where EPMPATH points (standard: C:\OS2\APPS) > 2) in EPMPATH directory create file RxOpen.ERX with: > /* My rexx for EPM */ > 'OPEN C:\CONFIG.SYS' > 3) Bring up EPM. > 4) CTRL-I for command interface > 5) enter: RX RXOPEN > >Quick reference entry in on-line EPM Help has some more info on commands. Well, that's certainly a starting point. So I could do all of my Rexx programming right there (including letting REXX do the work on the tagline file and grabbing the tag), maybe writing out a temporary file with my chosen tag line and then importing that temporary file. Do I have a grasp of what's going on or am I way off-base? Gary Pool MO Dept. Social Services * EPM * To err is human. To really screw up it takes a computer! ********************************************************************** ║Simplified routine - should work with any EPM version You really should pursue this in the E-EDITOR CFORUM. ║Having said this here's a working example I've tried: /* ADDTAG.ERX: Inserts 1 random line from a file into current file. */ 'EDIT' tag_file_name /* Change this line */ 'EXTRACT /LAST' tag = random( 1, last.1 ) tag 'EXTRACT /getline' 'QUIT' call etkreplacetext getline.1 Instructions: 1) You must be editing a file using EPM. 2) Insert a blank line and position the cursor at the start of this line. 3) CTRL-I to bring up command interface. 4) RX ADDTAG Maurice (EPM works for me!) Cartier: IBMMail(CAPCO9CB) Procor Ltd, Oakville, Ontario ********************************************************************** >║Simplified routine - should work with any EPM version > >You really should pursue this in the E-EDITOR CFORUM. >║Having said this here's a working example I've tried: Thanks, Maurice! Gary Pool MO Dept. Social Services * EPM * Two Wrongs Don't Make A Right, But Three Lefts Do. ********************************************************************** You're more than welcome. I enjoy your tag lines too. So keep those post comin' :-) Maurice Cartier: IBMMail(CAPCO9CB) Procor Ltd, Oakville, Ontario ********************************************************************** [Reference to append at 16:40 on 94/05/05 by POOLMWV at HONE81 ] > >>excuses, excuses, I'll get back to work if I can't get it to work I'll po >>the code fragments that I have and ya'll can clean it up. > >Gee, does that mean I have to *think*? > Gary, I posted to the BBS staff a package that I (finaly) finished up that is a tagline macro for EPM. Hopefully, they will get it posted very shortly. I did it with VISPRO-REXX and put a pretty interface on it. It will allow you to select a tagline from any number of tagline files and attach it to an append. Take a look at it and let me know what you think. Sorry it took so long for me to get back to it. Al Brown, Brown & Associates Consulting Voice: (402)291-1410 Fax: (402)291-1623 ********************************************************************** ═══ 45. SysIni to update PM_GloablWinodws31Settings ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I would like to use SysIni to update PM_GloablWindows31Settings and have not been able to do this successfully. Specifically, I am adding a parameter to the global settings (KBD_CTRL_BYPASS=0) that wasn't there previously. Following is the code segment that would do this: call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' call SysLoadFuncs application= "WINOS2" keyname= "PM_GlobalWindows31Settings" value= "DPMI_MEMORY_LIMIT=64;PROGTYPE=PROG_31_STD;KBD_ALTHOME_BYPASS=1;KB KBD_CTRL_BYPASS=0;VIDEO_SWITCH_NOTIFICATION=1;VIDEO_8514A_XGA_IOTRAP=0" call SysIni 'USER', application, keyname, value In my application the value field is all on one line (just fyi). Can you tell me is it possible to change the PM_GlobalWindows31Settings this way? If not can someone give me an idea as to how I might accomplish this. Thanks! Cynthia Berry Twentieth Century Services 816-340-7973 ********************************************************************** To: Cynthia Berry - Append created on 94/05/04 at 21:34 PST > Can you tell me is it possible to change the < > PM_GlobalWindows31Settings this way? < You almost had it right. each key name value must be terminated with a nul ('00'x). You can adjust your call as follows: call SysIni 'USER', application, keyname, value ║║ '00'x or you can add it to the value string. > In my application the value field is all on one line < > (just fyi). < You might find it easier to code it on many lines vs. one or two lines. The following transformation of your value field is much more readable and more easily changed if you chose to add, delete a line or reorder the lines: value = , "DPMI_MEMORY_LIMIT=64;" ║║, "PROGTYPE=PROG_31_STD;" ║║, "KBD_ALTHOME_BYPASS=1;" ║║, "KBD_CTRL_BYPASS=0;" ║║, "VIDEO_SWITCH_NOTIFICATION=1;" ║║, "VIDEO_8514A_XGA_IOTRAP=0;" ║║, "" Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** [Reference to append at 21:06 on 94/05/04 by STW1CYC at HONE81 ] Except for the terminating null, spotted by Dick, everything else looks all right. But you know that those values will be used for newly created objects only (and after you reboot)? Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/05/05 08:13 ********************************************************************** ═══ 46. Automatic "Enter" after Excuting Backup Command ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I have written a CMD file in rexx to backup my RIPL desktops. A problem I need to overcome is how do I automate an enter key after the backup command? This CMD file will be a timed execute for weekly backup. Dale Radspinner ********************************************************************** If you know that your BACKUP will take a single diskette, a Address CMD "@ECHO | BACKUP ..."; will do. Otherwise, prepare a file containing a few CR/LFs and do a Address CMD "@BACKUP ... Where can I find documentation on the setup parm when using > SysCreateObject to create a program object? Thanks. You can find it on the REXX Information INF File under the Information Folder in you OS/2 desktop. (Search for REXXUtil Functions). Of course there is allways the REXX Reference Summary Handbook by Dick Goran, he is a regular on this forum so he may tell you how to get it. Carlos Mendoza (IBM Mexico) ********************************************************************** [Reference to append at 17:17 on 94/05/09 by GFMZLL at MSNVM1 ] To: Gerald F. Meazell - Append created on 94/05/09 at 16:51 PST > Where can I find documentation on the setup parm when < > using SysCreateObject to create a program object? < Our Handbook, subtitled "Everything You Wanted To Know About Creating Workplace Shell Objects With REXX, But Didn't Know Where To Look", contains the most up-to-date source of all of the key name / value pairs for manipulating WPS objects via REXX. Full details for the handbook can be found here in the Software Library under REXXHB.TXT. If you would like more info, let me know. Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 50. Reading OS/2 Error Messages ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * If this question reveals I know little about REXX programming language then good, because I don't. I would like to be able to read an OS/2 error message in order to run an IF statement. What I have set up looks like this: "net share eecl5=e: riplbu eecl5" and will sometimes return the following error code 'NET2118: The netname has already been shared' What kind of statement will read this error code? Also, does anyone know of some redbook or other book which gives a lot of extended examples using REXX commands. I am not a programmer so I I have to be walked through each command and the context to which it might be used. Dale Radspinner ********************************************************************** Whenever you issue host commands in REXX, the command's return code is stored in a variable called RC. You can then code something like: 'NET blah blah blah' Select When RC = 72 Then Do Say "My Message for RC=72"; End; When RC = 22 Then Do Say "My Message for RC=22"; End; Otherwise Do Say "My generic message for rc="RC; End; End; /* Select */ Hope this helps... Gerald F. Meazell ********************************************************************** [Reference to append at 18:39 on 94/05/09 by IL44027 at HONE82 ] To: Dale Radspinner - Append created on 94/05/09 at 16:54 PST > I would like to be able to read an OS/2 error message < > in order to run an IF statement. < The easiest way to do this is to redirect STDERR to either a REXX data queue or to a file. You can can retrieve the error info and parse it to obtain the details. If you meed more specific information, I'd be happy to try to help. > Also, does anyone know of some redbook or other book < > which gives a lot of extended examples using REXX < > commands. < Below is a listing of REXx related books that are available. I personally recommend "The REXX Language" bny Mike Cowlishaw and "Programming In REXX" by Charles Daney. You might also want to consider our Handbook as a keyboard-side companion. The REXX Language -- M. F. Cowlishaw In English: ISBN 0-13-780735-X Prentice-Hall, 1985 ISBN 0-13-780651-5 (Second edition), 1990 (May be ordered from Quercus Systems - see below) In German: ISBN 3-446-15195-8 Carl Hanser Verlag, 1988 ISBN 0-13-780784-8 P-H International, 1988 In Japanese: ISBN 4-7649-0136-6 Kindai-kagaku-sha, 1988 Programming in REXX -- Charles Daney ISBN 0-07-015305-1, 300pp, McGraw Hill, 1992 (45.00 USD) May be ordered directly from: Quercus Systems P.O. Box 2157 Saratoga, CA 95070 408-867-REXX (voice) 408-867-7489 (FAX) 408-867-7488 (BBS) CIS, PCVENA, Sec 11 (Charles Daney 75300,2450) OS/2 REXX: From Bark To Byte - Jerry A. Stegenga II, advisor ISBN ? 316pp, IBM Doc # GG24-4199-00 OS/2 2.1 REXX HANDBOOK BY HALLETTE GERMAN ISBN 0-442-01734-0 459pp, Van Nostrand - Rhenhold Modern Programming Using REXX -- Robert P. O'Hara and David R. Gomberg In English: ISBN 0-13-597311-2 Prentice-Hall, 1985 ISBN 0-13-579329-5 (Second edition), 1988 Practical Usage of REXX -- Anthony S. Rudd ISBN 0-13-682790-X, Ellis Horwood (Simon & Schuster), 1990 The REXX Handbook -- Edited by Gabe Goldberg and Phil Smith III ISBN 0-07-023682-8, 672pp, McGraw Hill, 1991 REXX--Advanced Techniques for Programmers -- Peter C. Kiesel ISBN 0-07-034600-3, 256pp, McGraw Hill, 1992 Portable/REXX for MS/DOS (Guide, Reference manual, Examples Reference, Reference Summary, and Learning to Program with Portable/REXX) Keith Watts, Kilowatt Software, 1991 = = = = = = = = = = REXX Reference Summary Handbook - Dick Goran (C F S Nevada, Inc.) "Keyboard-side" reference for SAA REXX under OS/2. Includes REXXUTIL, PMREXX, RxWindow & REXXLIB external functions. Subtitled "Everything You Wanted To Know About Creating Workplace Shell Objects With REXX, But Didn't Know Where To Look". ISBN 0-9639854-1-8 120pp, C F S Nevada, Inc. (2nd edition) (IBM Pub. Order Number S246-0078-00 - PSP # IVL 1350 ) Mastercard, VISA & Amex orders may be placed at 1-800-REXXOS2 (1-800-739-9672). Price is 19.95 USD + S&H. Orders accompanied by a check payable to C F S Nevada, Inc. in U.S. dollars and drawn on a U.S. bank and can be mailed to: C F S Nevada, Inc. 953 E. Sahara Avenue, Suite 9B Las Vegas, Nevada 89104-3012 Inquiries may be directed to C F S Nevada, Inc. at: 702-732-9616 voice 702-732-3847 FAX 72200,347 CompuServe 72200.347@compuserve.com Internet HONE81(DEV4672) IBMLink / TALKLink 1:209/705 FIDO Dick Goran CIS 72200,347 "REXX Reference Summary Handbook" 1-800-REXXOS2 If you see this line, FORBROWSE didn't steal it! ********************************************************************** ═══ 51. VX-Rexx 2.0A patch available ═══ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Although I'm not affiliated with Watcom I'm letting everyone know that the VX-Rexx 2.0A patch (upgrade from VX-Rexx 2.00) is now available on both Compuserve and the Watcom BBS. The file names are slightly different on each system due to naming stand- ards on the hosts, but here they are: CIS - (GO WATCOM, LIB 16) VX20A.ZIP 1054631 bytes Watcom BBS VXRX20A.ZIP 1054631 bytes also available is the application instruction file (1076 bytes) as either VX20A.TXT (CIS) or VXRX20A.TXT (Watcom BBS) ---------------------------------------- -= Gene Baral =- -= Team OS/2 =- IBAX Healthcare Systems - Longwood, FL