home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega Top 1
/
os2_top1.zip
/
os2_top1
/
INFO
/
DIVSINFO
/
FORUM
/
OS2REXX.INF
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1994-05-10
|
170KB
|
4,153 lines
ΓòÉΓòÉΓòÉ 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. <g>
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. <g>
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. <g>
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. <g>
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: <g>
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...<should confuse some folks no end...>
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 <G> 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: <g>
> 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<BG>!
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 <g>).
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
**********************************************************************
<WP_SYSTEM> 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","<WP_DESKTOP>")
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', '<WP_DESKTOP>');
>>> "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.<G>
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.<G> <
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 = '<ICN_FOLDER>'
icon_option = 'REPLACE'
/*--------*/
/* Folder */
/*--------*/
wpf_class = 'WPFolder'
wpf_location = '<WP_DESKTOP>'
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=<ICN-' ΓòæΓòæ fn ΓòæΓòæ '-' ΓòæΓòæ j ΓòæΓòæ '>;' ΓòæΓòæ,
''
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='<WP_NOWHERE>' /* 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='<WP_NOWHERE>'
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 = '<WP_NOWHERE>'
wpp_object_id = '<KIMSPROG>'
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! <g>
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 <cforum.os2rexx.cfo#poolmwv@hone82#94/05/04#15:14:34>, 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 <g>.
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<G>! I must
admit I have only one word about this one, though. HUH ???<VBG>??
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.<BG>
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 ???<VBG>??
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.<BG>
Gee, does that mean I have to *think*? <g>
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.<BG>
>
>Gee, does that mean I have to *think*? <g>
>
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 ... <CRLF.INP";
Gregory Czaja, Lexington 8-545-4977 GregC at LEXGate 1994/05/06 12:14
**********************************************************************
ΓòÉΓòÉΓòÉ 47. DCF/2 1.1b Released! ΓòÉΓòÉΓòÉ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Proportional Software Corporation proudly
announces the release of DCF/2 Version 1.1b. The
DCF/2, or Disk Compression Facility for OS/2, is
an on-the-fly disk compression capability for
OS/2 users to increase their existing disk space
without reformattin g their existing systems.
The DCF/2 supports all writeable OS/2 disk drives
including FAT, HPFS, LAN, floppies, and removable
media such as Bernoulli's and magneto-opticals.
The DCF/2 allow you to create dynamically
allocating compressed 'virtual disk units'. This
means that you can create the size volume you
want, but move your files into it at your own
pace.
If you currently have FAT formatted disks, but
you want to exploit the more powerful OS/2 High
Performance File System (HPFS), you can put DCF/2
HPFS formatted virtual disk units out on your
existing FAT drives WITHOUT REFORMATTING!
To Download:
On the IBMLink OS2BBS:
The DCF21b.ZIP will be in the software library.
Append problems or queries/comments on the OS2DCF2
CFORUM. Use the OS/2 version of PKUNZIP2.EXE to
unzip the file.
On CompuServe:
The DCF/2 Version 1.1b is available in the OS/2
Vendor Forum A (GO OS2AVEN) in library section 6.
The file name is DCF21B.ZIP (unzip it with the
OS/2 PKUNZIP2.EXE). This version is fully
enabled, unprotected, and unlicensed. If you are
an existing DCF/ 2 customer follow the online
instructions for automatic registration.
Technical support for unlicensed and unregistered
users is restricted to OS2AVEN and IBMLink OS2BBS
in the OS2DCF2 CFORUM.
Proportional Software
**********************************************************************
ΓòÉΓòÉΓòÉ 48. Can REXX delete an object which has no object identifier? ΓòÉΓòÉΓòÉ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
We have created a printer object by dragging the printer template to
the desktop. The object is now instantiated. But according to all
the information we have read, that instance has no object ID. We want
to run a REXX program that will destroy this object from the desktop (or
folder), but in order to do that, we need an object identifier. Since it
doesn't have one, how can we do this? We need some automated way to
delete objects. Can anyone give me any suggestions?
Thanks, Andrea Krupa
**********************************************************************
You can look at the DeskMan/2 product (DEVTECH CFORUM here) to
delete objects without ObjectIDs..
Bret Curran -- Personal Systems Competency Center 1-800-547-1283
IBMMAIL(USIB4CUR) CIS: 71075,3156
**********************************************************************
ΓòÉΓòÉΓòÉ 49. SysCreateObject ΓòÉΓòÉΓòÉ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Where can I find documentation on the setup parm when using
SysCreateObject to create a program object? Thanks.
Gerald F. Meazell
**********************************************************************
> 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 <g> 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