J.E.Lawrie                                                           HINTS-14.
                                                                         v.2  
Printer Check in Basic.
  Any  Basic  program  which  involves  printing a Pipedream file e.g printing
  multiple copies, requires a check in the listing to ensure that the  printer
  is `live'.  This can take the form :-

    xxx  PROCcheck
    .
    xxx  DEF PROCcheck
    xxx  IF GET(&E5) AND 1 THEN ENDPROC
    xxx  CLS:P.TAB(nn,n)"PRINTER NOT READY - press any key when
         ready ":G=GET
    xxx  CLS: ENDPROC

Replicating in Pipedream
  If  we  wish  to increase the number of empty columns or rows on first going
  into Pipedream it cannot be done immediately because the slot to  be  copied
  is  empty.   Yes, read that again! Well, try it.  Take a NEW Pipedream page.
  You have columns A to F but you want one more.

  The  cursor  is in A1.  Press <>BRE.  On the top line put A1 and ENTER.  Put
  B1G1 and ENTER and what have you got?  Exactly what you  had  before!  -  no
  column  G.  Now, do it again, but press the spacebar first, i.e you have put
  a space in slot A1.  O.K - NOW you have columns A to G.

  Similarly, if with a new Pipedream you wish to open up 100  rows  you  would
  replicate A1 with A2A100. You won't do if there is not even a "space" in A1.
  Just press the spacebar once and then it can be done.

         I have not seen this covered in any manual or book on the Z88.

CLIs in Basic Programs
  Hints-3 referred to a CLI in a Basic program, using OSCLI.  This very useful
  device is either ignored or badly/wrongly explained in the popular Z88 books
  AND the manual.

  Try  this  short program in Basic, even if you "don't like Basic`. Have your
  printer connected to the computer.

    10 CLS                           |  clears the screen
    20 OSCLI("CLI #+P"):d=INKEY(0)   |  sends to the printer
    30 PRINT "YOUR NAME"             |  prints on screen and paper
    40 OSCLI("CLI #-P"):d=INKEY(0)   |  closes the printer link.              

  If you put lines 20 and 40 in a Basic program, before and after any printing
  on screen, it will print out on paper

  You can do any relevant CLI operation in Basic but  remember  -  always  use
  d=INKEY(0)   after  an  OSCLI  statement.   Also  remember  that  everything
  between the brackets MUST be a string

  If, when you subsequently List the program it won't stop scrolling or  there
  are  other  "funnies",  check the right-hand side of the screen.  If you see
  CLI  there then press  <>  and  ESC to clear it

  I must say that even the extremely good BBC BASIC (Z88) Reference Manual  is
  not helpful on this subject.
                                                                           END

Back to HINTS-INDEX