home *** CD-ROM | disk | FTP | other *** search
- .T
- a DISPLAY program for text files
- .R6C1
- ~V ~N
- ~V If you have comments, criticisms, suggestions, etc. concerning this ~N
- ~V display program, please write to: ~N
- ~V ~N
- .b5-10
- .R12C3
- .B
- P.J.Ponzo
- .B
- Dept. of Applied Math
- .B
- University of Waterloo, Ontario N2L 3G1
- .K17,30
- PonzoTUTOR
- .WN
- ~IPLEASE NOTE~N:
- ~I~W
- .B
- ~r The DISPLAY program requires the ANSI.SYS device driver. ~N
-
-
-
- Be sure that there is a ~Iconfig.sys~N file on the disk, which contains:
-
- ~Idevice = ansi.sys~N
- ~I~W
- .B
- ~r and the IBM PC is turned on WITH THE DISK INSERTED! ~N
-
- .R16C1
- You may create such a ~Iconfig.sys~N by typing:
-
- ~IA>copy con:config.sys~N
- ~Idevice=ansi.sys~N
- (now press F6 then Enter)
-
- This will place the appropriate ~Iconfig.sys~N on your disk (which must
- also have a copy of the DOS ~Iansi.sys~N device driver)
- .b15-24
- .WNT
- How to use the DISPLAY program
-
- The program ~Idisplay~N is meant to be used in place of the DOS ~Itype~N
- command. To ~Idisplay~N a file called sam, just type: ~IA>display sam~N
-
- The features of ~Idisplay~N which make it different from ~Itype~N are:
-
- 1) After each screen, the ~Idisplay~N will wait for you to press a key.
-
- 2) If certain 'special commands' appear in the file to be ~Idisplay~Ned, this
- will cause the ~Idisplay~N to give colours (foreground and/or background),
- position the 'next line' at any specified row or column, clear the screen,
- cause the ~Idisplay~N to pause until a key is pressed or print the 'next
- line' as a 'title' (centred, in intense white, surrounded by red bars).
- You see an example of a 'title' line at the top of this screen. (Indeed,
- ~Ithis~N explanation of ~Idisplay~N uses these features!)
-
- Now we will describe these 'special commands':
- .WNT
- The DOT COMMANDS
- Certain DOT COMMANDS are available. They must appear on a line of their
- own, beginning with a DOT in the first column, followed immediately by:
- ~b~IT~N, ~b~IR~N, ~b~IC~N, ~b~IW~N, ~b~Iw~N, ~b~IN~N, ~b~IQ~N, ~b~IB~N , etc.
-
-
- ~b~I The DOT COMMAND .T ~N
-
-
- If a line of a file to be ~Idisplay~Ned begins ~b~I.T~N, it causes
- ~Idisplay~N to print the 'next line' as a title, for example:
-
- ~b~I.T~N
- ~b~IChapter One~N
-
- will cause 'Chapter One' to be ~Idisplay~Ned as a title:
-
- .T
- Chapter One
- .WN
- ~b~I The DOT COMMANDS .R and .C ~N
-
-
-
- If a line of a file to be ~Idisplay~Ned begins ~b~I.R15~N, it will cause
- the cursor to move to ~b~IR~Now ~b~I15~N.
-
- If a line of a file to be ~Idisplay~Ned begins ~b~I.C33~N, it will cause
- the cursor to move to ~b~IC~Nolumn ~b~I33~N.
-
- ~b~I.R20~N go to row 20.
- ~b~I.T~N prepare for title.
- ~b~I I'm a title on row 20 ~N this is the title.
-
- .R20
- .T
- I'm a title on row 20
- .WN
- ~b~I More on DOT COMMANDS .R and .C ~N
-
-
-
- The sequence of DOT commands:
-
- ~b~I.R20~N
- ~b~I.C33~N
- ~b~II'm on row 20, starting at column 33~N
-
- will print (at row 20, column 33):
- .R20C33
- I'm on row 20, starting at column 33
- .WN
- ~b~I The DOT COMMANDS .W .N and .q ~N
-
-
- ~b~I.W~N will cause the message ~BPlease press the Enter key...(q=quit)~N
- to appear at the bottom of the screen and further ~Idisplay~N
- of the text file is suspended until a key is pressed.
- (You will recognize this message at the bottom of ~Ithis~N
- screen). ~b~IW~N means ~b~IW~Nait.
-
- ~b~I.N~N will give you a ~b~IN~New screen (~b~I.N~N clears the screen).
-
-
- ~b~I.q~N will ~b~Iq~Nuit the ~Idisplay~N and return to DOS.
- .WN
- ~b~I The DOT COMMAND .B ~N
-
-
- ~b~I.B~N will cause the NEXT LINE to be printed in a 'box'.
-
- ~INOTE~N:You might use ~b~I.R~N and ~b~I.C~N to place the cursor
- at the appropriate place on the screen before you use
- the ~b~I.B~N command. The ~b~IR~Now and ~b~IC~Nolumn will
- define the top left corner of the box.
- After using ~b~I.B~N, ~Ithe cursor is at the top right of~N
- ~Ithe box~N. For example:
- ~b~I.R20~N
- ~b~I.C10~N
- ~b~I.B~N
- ~b~I Jack-in-a-box ~N will give:
- .R20C10
- .B
- Jack-in-a-box
- .R19C10
- ~I~Nrow 20,col 10 is here.
- .R20C34
- ~I█~N cursor is left here (ready for another box!)
- .WN
-
- ~b~I.R20~N
- ~b~I.C10~N
- ~b~I.B~N What will the combination of
- ~b~Ifirst~N .commands (shown at left) do?
- ~b~I.B~N
- ~b~Isecond~N
- .W
- .R18C10
- .B
- first
- .B
- second
- .WN
- ~b~I The DOT COMMAND .b ~N
-
- ~b~I.b10-18~N will put a screen-wide box, from row ~I10~N to row ~I18~N.
- .W
- .b10-18
- .W
- .R14C15
- ~V ...and, of course, you can now put text inside....~N
- .WNR10C2
- ... or you can have a se~Ix~Ny box:
-
-
- ~b~I.x9-12~N
- .Wx9-12
- .WNT
- Another DOT command .Q
- ~b~I.Q~N Will ask the following question:
- ~b~IWho was buried in Grant's tomb?~N
- ~b~IGrant~N ...and expect ~Ithis~N answer.
-
- (You may use ~b~I.Q13~N to first place the cursor on row ~b~I13~N)
-
- Let's try it out on ~IYOU~N!
- .K19,60
- !@#$%^&*!!
- .WN
-
- .Q
- Who was buried in Grant's tomb?
- Grant
- .K19,60
- cock who?
- .Q
- Who killed cock robin?
- I can't remember either!
- .K19,60
- FOUR!
- .Q
- 2+2=
- 4
- .K19,60
- dumb!dumb!
- .WNT
- The DOT COMMANDS .s and .r
-
- When you use ~b~I.W~N (to ~b~IW~Nait) or ~b~I.K~N (the ~b~IK~Nartoon, explained shortly) the
- cursor position is ~Isaved~N, the DOT COMMAND does its stuff, then the
- cursor is ~Irestored~N.
-
- When you use ~b~I.B~N (to ~b~IB~Nox the following line of text) the cursor
- is left "suspended", ready for another ~b~I.B~Nox. If you don't want another
- "boxed-text", move the cursor with ~b~I.R~N and ~b~I.C~N.
-
- In order to facilitate moving around the screen, printing here and there,
- there are two more DOT COMMANDS.
-
- ~b~I.s~N the ~b~Is~N will ~b~Is~Nave the current cursor position...
- ~b~I.R10C2~N now move to another ~b~IR~Now and ~b~IC~Nolumn...
- ~b~Isome text~N print something..
- ~b~I.r~N ~b~Ir~Nestore the ~b~Is~Naved cursor position.
- .WNT
- the Komputer Kartoon
-
- ...and, for Komic relief, you also have a Komputer Kartoon:
-
- Just include the dot command:
-
- ~b~I.K15,33~N gives a Kartoon at row 15, column 33.
- ~b~Imamma mia!~N comment (by the Kartoon) ~Iwith 10 characters or less!~N
-
- ...and you get:
- .W
- .K15,33
- mamma mia!
- .WNT
- REVIEW of DOT COMMANDS
- .R5C1
- ~b~I.T~N the 'next line' is printed as a ~b~IT~Nitle.
- ~b~I.R12~N moves to ~b~IR~Now ~b~I12~N.
- ~b~I.C22~N moves to ~b~IC~Nolumn ~b~I22~N.
- ~b~I.W~N ~b~IW~Naits for a key-press (automatic, after 22 lines).
- ~b~I.w~N sets (above) line count to zero (discussed later).
- ~b~I.N~N gives a ~b~IN~New (clear) screen.
- ~b~I.q~N will ~b~Iq~Nuit (returning to DOS).
- ~b~I.B~N will print the 'next line' in a box (with ~Isuspended cursor!~N).
- ~b~I.b5-13~N will draw a screen-wide ~Ib~Nox from line ~b~I5~N to line ~b~I13~N.
- ~b~I.x5-13~N will draw a screen-wide se~Ix~Ny box (line ~b~I5~N to line ~b~I13~N).
- ~b~I.Q~N will ask ~b~IQ~Nuestion (on the following line) and expect the
- answer (on the line following that).
- ~b~I.s~N will ~b~Is~Nave the current cursor position.
- ~b~I.r~N will ~b~Ir~Nestore the (saved) cursor position.
- ~b~I.K19,60~N will print a ~b~IK~Nomputer ~b~IK~Nartoon at row ~b~I19~N and
- column ~b~I60~N, with the ~b~IK~Nomment on the 'next line'.
- .WNT
- A final note about the DOT COMMANDS:
-
- Because the ~b~IR~Now and ~b~IC~Nolumn specifications are often used
- together, these DOT commands may be on the SAME LINE.
-
- ~b~I.R20C30~N moves to ~b~IR~Now ~b~I20~N and ~b~IC~Nolumn ~b~I30~N.
-
- In fact, most of the DOT COMMANDS will work when strung out
- on one line, after the initial DOT in column 1:
-
- ~b~I.WNT~N will ~b~IW~Nait, then provide a~b~IN~New screen, then a ~b~IT~Nitle.
-
- ~b~I.R10C1B~N will go to ~b~IR~Now ~b~I10~N, ~b~IC~Nolumn ~b~I1~N and get ready for a ~b~IB~Nox.
-
- Not all DOT COMMANDS may be strung out on one line. The ~b~I.T~Nitle, ~b~I.B~Nox,
- ~b~I.b~Nox and ~b~I.K~Nartoon want desperately to print something on the screen.
- SO, ~Iafter these, everything on a DOT COMMAND line is ignored!~N
-
- ~b~I.WNb5-7R10~N will ~b~IW~Nait, ~b~IN~New screen, give a ~b~Ib~Nox from row
- ~b~I5~N to ~b~I7~N, .... and ~Iignore~N ~b~IR10~N!
- .WNT
- ...and yet another DOT COMMAND
- If you ~Idisplay~N an ASCII text file which is NOT especially written
- with the 'special commands'...in particular, if there are no ~b~I.W~N
- ~b~IW~Nait commands...then ~Idisplay~N will read 22 lines of text and
- then will ~b~IW~Nait for the Enter key. ~IThe display program counts
- the number of lines which are read from the text file and ~N~b~IW~N~Iaits
- after 22 lines are read.~N However, in some cases, you may have a file
- written with the 'special' ~Idisplay~N DOT COMMANDS which (of course)
- are NOT printed on the screen but are instructions to the ~Idisplay~N
- program. In this case, the text file may have 20 lines of text (which
- are meant to be printed on the screen) and 5 DOT COMMANDS (each on its
- own line!). That makes 25 lines from your text file of which 20 are
- to be printed. Too bad !! ~Idisplay~N will ~b~IW~Nait after 22 lines are
- read from the file. What you want is to have ~Idisplay~N read ALL 25
- lines, and print the 20 which are NOT DOT COMMANDS, before ~b~IW~Naiting.
- To achieve this you must tell ~Idisplay~N to set the line count back to
- zero. There is another DOT COMMAND for this:
- .WN
-
-
-
-
- ~b~I.w~N will set the line count to zero, and ~Idisplay~N will begin
- counting lines from this point. A ~b~IW~Nait will occur after
- the ~Rnext~N 22 lines (unless there is another ~b~I.w~N command)
- or until a ~b~I.W~N command occurs).
-
-
-
- .WNT
- The TILDE COMMANDS
- Whereas the DOT COMMANDS must have a line to themselves (beginning with
- the DOT), there are COLOUR COMMANDS which may be embedded in the text
- itself. Each time a TILDE appears in the text file, the NEXT CHARACTER
- has a special meaning for ~Idisplay~N.
-
- ~b~IThe quick brown fox jumped over the lazy log.~N
-
- The above piece of text will appear 'NORMAL' (white on black).
- If you wish the word 'fox' to be in RED, precede it with ~b~I~~R~N.
- After the ~b~I~~R~N, ALL subsequent text will be in RED!
- To change to NORMAL text, insert ~b~I~~N~N. Hence the above line of
- text would be rewritten as:
-
- ~b~IThe quick brown ~~Rfox~~N jumped over the lazy log.~N
-
- and would be ~Idisplay~Ned as:
-
- The quick brown ~Rfox~N jumped over the lazy log.
- .WN
- ~b~I All the colours ~N
-
- Here are all the COLOUR COMMANDS for ~RTEXT~N:
-
- ~b~I~~R~N changes text to ~b~IR~Ned.............~Rthis is red~N
- ~b~I~~Y~N changes text to ~b~IY~Nellow..........~Ythis is yellow~N
- ~b~I~~G~N changes text to ~b~IG~Nreen...........~Gthis is green~N
- ~b~I~~B~N changes text to ~b~IB~Nlue............~Bthis is blue~N
- ~b~I~~C~N changes text to ~b~IC~Nyan............~Cthis is cyan~N
- ~b~I~~M~N changes text to ~b~IM~Nagenta.........~Mthis is magenta~N
- ~b~I~~W~N changes text to ~b~IW~Nhite...........~Wthis is white~N
- and
- ~b~I~~I~N changes text to ~b~II~Nntense.........~Ithis is intense~N
- ~b~I~~F~N changes text to ~b~IF~Nlash...........~Fthis is flash~N
- ~b~I~~V~N changes text to re~b~IV~Nerse video...~Vthis is reverse video~N
- ~b~I~~N~N changes text to ~b~IN~Normal again....~Nthis is normal~N
-
- Guess what the following line of text will ~Idisplay~N:
-
- ~b~I~~F~~Rr~~Ya~~Gi~~Bn~~Cb~~Mo~~Ww~N
- .W
- .R21C30
- ~F~Rr~Ya~Gi~Bn~Cb~Mo~Ww~N
- .WN
-
- ~b~I Coloured Background ~N
-
- In addition to embedding ~b~I~~R~N (to change to ~b~IR~Ned text), you
- may change the background colour to ~b~Ir~Ned by inserting ~b~I~~r~N
- in your text file.
-
- ~b~I~~r~N changes background to ~b~Ir~Ned.......~rthis is red~N
- ~b~I~~y~N changes background to ~b~Iy~Nellow....~ythis is yellow~N
- ~b~I~~g~N changes background to ~b~Ig~Nreen.....~gthis is green~N
- ~b~I~~b~N changes background to ~b~Ib~Nlue......~bthis is blue~N
- ~b~I~~g~N changes background to ~b~Ic~Nyan......~cthis is cyan~N
- ~b~I~~m~N changes background to ~b~Im~Nagenta...~mthis is magenta~N
- ~b~I~~w~N changes background to ~b~Iw~Nhite.....~V ~N
- (can ~Iyou~N see white-on-white?~N)
- REMEMBER: ~b~I~~N~N returns (again) to ~b~IN~Normal white on black.
-
- Guess what the following line of text will ~Idisplay~N:
- .R20C1
- ~b~I~~w~~I~~MThis is a test~~N~N
- .W
- .R20C1
- ~V~~w~N~b~I~~I~~MThis is a test~~N~N
- .R22C1
- This gives a ~b~Iw~Nhite background.
- .W
- .R20C1
- ~b~I~~w~V~~I~~M~N~b~IThis is a test~~N~N
- .R22C1
- This gives ~b~II~Nntense ~b~IM~Nagenta text.
- .W
- .R20C1
- ~b~I~~w~~I~~M~VThis is a test~N~b~I~~N~N
- .R22C1
- This prints some text ( 'This is a test' ).
- .W
- .R20C1
- ~b~I~~w~~I~~MThis is a test~V~~N~N
- .R22C1
- This returns to ~b~IN~Normal text.
- .W
- .R20C1
- ~b~I~~w~~I~~MThis is a test~~N~N
- .R22C1
- ...and the ~Idisplay~Ned result will be intense-magenta-on-white:
- .W
- .R20C30
- ~w~I~MThis is a test~N
- .WN
-
- ...and you can have ~Icolour-in-a-box~N....
-
-
- ~b~I~~I~~G~N intense green box.
- ~b~I.B~N here comes the box...
- ~b~I~~w~~Rred-on-white text~~N~N and the stuff in the box.
-
- ~I~G
- .B
- ~w~Rred-on-white text~N
- .W
- .R15C10
- ~V
- .B
- ~N~I...or reverse video maybe ? ~N (~Iyou~N figure this one out!)
- .WN
-
-
-
- ~b~I ...and how to print a TILDE on the screen? ~N
-
-
- ...just embed ~b~I~~~~~N in your text, and the TWO TILDES generate
- a TILDE in your text!
-
-
- One other point: for a ~Imonochrome monitor~N, choosing ~b~I~~B~N (to get
- blue text) will give ~w~Bunderlined~N characters~I!!
-
-
-
- .WNR5C2
- ... and you may change the (entire) background colour ...
-
- To get a screen full of ~Ib~Nlue background, just include:
-
- ~b~I~~b~N
-
- then ~Iclear the screen~N with:
-
- ~b~I.N~N
-
- then begin each line of your text with ~b~I~~b~N
-
- (to get blue background in the text too!)
- .W
- ~b
- .N
- .R5C1
- ~b ... ain't this nice (just start your text with ~~b)
- .R8C2
- ~b~I~W ... or maybe "intense white on blue" text (using ~~b~~I~~W)
- .W
- ~b~I~Y
- .x4-6
- ~b~I~G
- .x7-9
- ~b~I~R
- .x10-12
- ~b~I~Y
- .R11C2
- ~b~I ... and sexy coloured boxes (using ~~b~~I~~Y then .x4-6 etc.)
- .W
- ~b~I~W
- .K16,32
- lovely!
- .WN
-
- .T
- MEMORY DISPLAY
-
-
- When you type ~Idisplay memory~N the display program will look on the
- disk for a file called ~Vmemory~N. If there is such a file, it will load
- and ~Idisplay~N the file.
-
- If, however, there is no such file on disk then ~Idisplay~N will ask
- for ~VSEGMENT~N and ~VOFFSET~N and will display the contents of the ~IIBM~N
- ~IPC~N MEMORY.
-
- During the ~Idisplay~N, you may modify the contents of memory.
-
- ( ...try SEGMENT ~Ib800~N and OFFSET ~I0~N to see ~Vscreen memory~N.)
- .WN
- .R2C32
- ~r~I~Gas ~N
- .R2C32
- ~r~I~Gmas ~N
- .R2C32
- ~r~I~Gtmas ~N
- .R2C32
- ~r~I~Gstmas ~N
- .R2C32
- ~r~I~Gistmas ~N
- .R2C32
- ~r~I~Gristmas ~N
- .R2C32
- ~r~I~Ghristmas ~N
- .R2C32
- ~r~I~GChristmas ~N
- .R2C32
- ~r~I~G Christmas ~N
- .R2C32
- ~r~I~Gy Christmas ~N
- .R2C32
- ~r~I~Gry Christmas ~N
- .R2C32
- ~r~I~Grry Christmas ~N
- .R2C32
- ~r~I~Gerry Christmas ~N
- .R2C32
- ~r~I~GMerry Christmas ~N
- .R2C32
- ~r~I~G Merry Christmas ~N
- .R1C32
- ~r~I~G ~N
- .R3C32
- ~r~I~G 1985 ~N
- .wT
- That's all folks!
-
-
-
- P.S.
-
- If you want to see an example of the use of ~Idisplay~N, just ~Itype~N
- this ~Iexplain~N file (which has all the 'special commands' in it).
- (Unlike ~Idisplay~N, the DOS ~Itype~N will not interpret the 'special'
- commands, and you'll be able to see them all).
-
- ~IA>type explain~N
-
-
- .q
-
-