TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Murray Lesser
from: David Noon
date: 1995-11-24 00:00:04
subject: Pl/i Compile Options

On Wednesday, 95/11/22, Murray Lesser wrote to David Noon about "Pl/i
Compile Options" as follows:

ML>     I assume you have found the bugs in the PLITK NEWCPY include files.
ML> teampli has acknowledged that they exist in PLITK CSD#1, and they
ML> will be fixed in the forthcoming PLITK CSD#2.  I have the Personal
ML> Edition CSD#4 installed; according to teampli support, CSD#5 for the
ML> personal edition does not yet exist, although it is due "real soon
ML> now."  I do not know whether CSD#5 will include the ability to
ML> compile and link standalone programs. If you have it for your
ML> Professional Edition, you will know.

Hi Murray,

I have found some bugs in the %INCLUDE files shipped with PL/I, both
compiler and toolkit. The latter had fewer, so that is what I use. I
have not installed CSD#5 yet - still running on CSD#4.

ML>     In case you have been out of touch too long, Christie Nieuwsma seems
ML> to have vanished from teampli{at}vnet.ibm.com.  Relatively recent
ML> messages have been signed by Carolyn Phoa-Ting.  Service is still
ML> excellent.

I did not know that.

I have not yet communicated with Carolyn, but I shall miss Christie.
She seemed to have quite an effervescent personality, even over
e-mail.

I suppose I should offer to write another article for the newsletter;
perhaps something a little more technical this time. Perhaps something
on using PL/I's ability to define new statements in order to
encapsulate the API. This is a topic that has intrigued me for a couple
of years.

ML>     Technical question:  I have been unable to find a PL/I construct
ML> equivalent to the REXX CHARIN() (e.g., no  required), other
ML> than to build one from the KBDCharin() API call.  Any suggestions?

Try declaring the keyboard file as UNBUF and with RECSIZE(1), then
open it as device STDIN: with TYPE(FIXED). This should allow you to
read keystrokes as they occur. Something like:

    DCL Keystroke   CHAR(1),
        Keyboard    RECORD INPUT UNBUF
                    ENV(F RECSIZE(1));

    OPEN FILE(Keyboard) TITLE('/STDIN:,TYPE(FIXED)');
     .
     .
     .
    READ FILE(Keyboard) INTO(Keystroke);

However, I don't know what might happen if a key is hit without the
thread being ready to read it. Some experimentation is in order, I
think. Note that using device KBD$:, instead of STDIN:, will prevent
the program from handling redirected (piped) input, which might be
what you want, but then again it might not.

ML>     Glad to have you back.

I'm glad to be back. FidoNet is almost like having a social life.

Regards

Dave


 * KWQ/2 1.2i * Chicago -- Microsoft's "New Coke"
--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, Fairfax, VA: 703-385-4325 (1:109/347)
SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 517 628 713/888 800/1 7877/2809
@PATH: 109/347 716 13/25 396/1 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.