home *** CD-ROM | disk | FTP | other *** search
- DispMod is one of the series of ROBBS modules. ROBBS stands for
-
- Rexx Object Building Block System
-
- --------------------------------------------------------------------
-
- All parts of this distribution are Copyright Larry Phillips 1988,
- 1989, and 1990. All rights reserved.
-
- You may distribute DispMod sources, executables, documentation,
- and ARexx examples and utilities via online systems, including BBS
- systems and commercial telecommunication services, including, but
- not limited to Compuserve, Bix, People Link, and GEnie, provided no
- specific charge is made for this distribution, other than normal
- connect charges. It may be distributed by User Groups and 'freely
- distributable disk collections', exemplified by the Fred Fish disks.
- (Thanks Fred!)
-
- You may not sell any part of this distribution.
-
- If you wish to provide all or part of DispMod in any commercial
- product, please contact the author for permission.
-
- --------------------------------------------------------------------
-
- See the accompanying file 'ROBBS.doc' for a discussion of the ROBBS
- system of application building.
-
- DispMod is a display module that only understands ARexx messages.
- It allows, under program control (ARexx programs or binary executables),
- the display of text and the acceptance of keyboard data.
-
- It is very limited at this time, because it was intended as part of a
- series of articles in Transactor for the Amiga, and was kept simple, in the
- hope that those who like the concept would undertake to make their own
- improvements. It opens a full 320*200, borderless window on the WorkBench
- screen, and awaits ARexx messages.
-
- Please refer to the following summary, the accompanying detailed command
- documentation, and the example script (data_entry.rexx) for programming
- information.
-
- ------------------------------------------------------------------
- Command Purpose Arguments
- ------------------------------------------------------------------
- TEXT Place characters on the display STRING
- LTEXT TEXT, with appended linefeed STRING
- HTEXT Highlighted text (different colour) STRING
- LHTEXT HTEXT with appended linefeed STRING
- CRSR Position the cursor on display <row, column>
- GETLINE Get a line of text from the keyboard [STRING]
- TITLE Place a title on the window. STRING
- STATUS Return info about display -NONE-
- CONNECT Attach attach keyboard to port PORTNAME COMMAND
- CTRL Attach display to a control port PORTNAME
- DIE Unload display module -NONE-
-
- REALLY_DIE Special - see note below
- ----------------------------------------------------------------------
- STATUS -- returned from display module as a single string in RESULT
-
- Connected port name - where keyboard data will go.
- Control port name - where all other messages are sent
- Window - address of display window
- Console write - address of display console write IO struct
-
- See the STATUS documentation for more details.
-
- *********************************************************************/
-
- REALLY_DIE:
-
- This command is only recognized after the DIE command has been
- issued. Its purpose is to save the day when, due to some programming
- error in the script or another program, one or more messages from the
- display has not been replied to. In this case, it is necessary either
- to await the reply (or replies) before exiting. If you know that the
- replies will never come, you can issue the REALLY_DIE command to the
- display, and it will exit.
-
- You will know when you need to issue this command because the display
- window will not go away when you think it should, and the CLI you
- started the script from will have a message telling you that there
- are outstanding commands. Upon receiving the REALLY_DIE command, dispmod
- will assume you know what you are doing, and will free up the outstanding
- messages.
-
- *************************************************************************
-
- The display module will open a port called 'ROBBS_disp', to which all
- commands must be sent. This can be accomplished in the normal ARexx
- manner by using the ADDRESS command in its various forms.
-
- By default, the display module will send all 'CTRL' messages to a port
- called 'ROBBS_ctrl', which must be opened in the ARexx script that
- controls the display. If you wish to have another port used as the
- controlling port, you must use the 'CTRL <portname>' command.
-
- Please feel free to ask any questions, and to make any suggestions.
-
- The following are some possible enhancements to dispmod you might want to try
- if you are a programmer.:
-
- The ability of DispMod to run in multiple incarnations. In particular,
- the public ports need to have unique names.
-
- Commands to allow easy text manipulation, such as erase to EOL,
- erase to EOS, colour control, etc.
-
- The ability to specify numeric fields, aplhanumeric fields, and
- fields that only accept an arbitrarily limited set of characters under
- program control.
-
- Protected fields. These fields could not be typed into, which would
- make it easier to create forms for data entry.
-
- ***********************************************************************
-
- Contents of distribution:
-
- Docs (dir)
- CONNECT.doc CRSR.doc
- CTRL.doc DIE.doc
- DispMod.doc GETLINE.doc
- STATUS.doc TEXT.doc
- TITLE.doc
-
- source (dir)
- cli_parse.c consoleio.c
- consoleio.h defs.h
- dispmod.c Glue.asm
- makefile rexxglue.o
- wb_parse.c
-
- rexx (dir)
- data_entry.rexx killdisp.rexx
- killrobbs.rexx
-
- dispmod
-
- ***********************************************************************
-
- Enjoy!
- - larry
-
-