advr.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
LPRINT, PRINT Statements Details
  ◄Summary►  ◄Details►  ◄Example►                ◄Contents►  ◄Index►  ◄Back►
──────────────────────────────────────────────────────────────────────────────
 LPRINT [USING formatstring$;] expressionlist [{; | ,}]
 PRINT [USING formatstring$;] [expressionlist] [{; | ,}]
 
 Usage Notes
   ■ PRINT within a form module is treated as the PRINT method rather than
     the PRINT statement. See: ◄PRINT Method►
 
   ■ To use the PRINT statement form within a form module to print to the
     screen or perform other PRINT statement specific functions, you must
     place the PRINT statement in a general procedure and call it from the
     form module. For example:
 
         SUB Form_Click                      ' In form module
              SCREEN.HIDE
              CALL MyPrint("Hello")
              SCREEN.SHOW
         END SUB
 
         SUB MyPrint (temp$)                 ' In another module: Test.BAS
              PRINT temp$
         END SUB
 
   ■ If the number to print is larger than the specified numeric field, a
     percent sign (%) is printed in front of the number. If rounding causes
     the number to exceed the field, a percent sign is printed in front of
     the rounded number. If the number of digits specified exceeds 24, Visual
     Basic generates the error message, "Illegal function call."
 
   ■ Because the LPRINT USING statement uses the LPT1 printer device, do not
     use LPRINT USING in a program that also contains an OPEN "LPT1"
     statement. Using these two statements together produces unpredictable
     results.
 
   ■ The LPRINT USING statement functions in the same way as the PRINT USING
     statement, except that output goes to the printer.
 
   ■ Printer output from an LPRINT USING statement will be the same as
     screen output from a PRINT USING statement, if both statements have the
     same values for formatstring$, expressionlist, and output-line width.
     See: ◄Format Specifiers►
 
   ■ The LPRINT USING statement assumes an 80-character-wide printer. This
     width can be changed with a WIDTH statement. See: ◄WIDTH Statement►
 
   ■ If you use LPRINT USING with no arguments, a blank line is printed.
 
   ■ Item-format rules:
     • A printed number is always followed by a space.
     • If the number is positive, it is also preceded by a space; if the
       number is negative, it is preceded by a minus sign (-).
     • If a single-precision number can be expressed as seven or fewer digits
       with no loss of accuracy, then it is printed in fixed-point format;
       otherwise, floating-point format is used. For example, the number
       1.1E-6 is displayed as .0000011, but the number 1.1E-7 is displayed
       as 1.1E-7.
     • If a double-precision number can be expressed as 15 or fewer digits
       and with no loss of accuracy, then it is printed in fixed-point
       format; otherwise, floating-point format is used.
       For example, the number 1.1D-14 is displayed as .000000000000011, but
       the number 1.1D-15 is displayed as 1.1D-15.
 
   ■ Print-line format rules:
     • The print line is divided into print zones of 14 spaces each.
     • The position of each printed item is determined by the punctuation
       used to separate the items in expressionlist:
       ■ A semicolon makes the next value print immediately after the last
         value.
       ■ A comma makes the next value print at the start of the next zone.
       ■ Using one or more spaces or tabs between expressions has the same
         effect as using a semicolon.
     • If a comma or a semicolon terminates the list of expressions, the
       next PRINT statement to execute prints on the same line, after spacing
       accordingly.
     • If expressionlist ends without a comma or a semicolon, a carriage
       return-linefeed sequence is printed at the end of the line.
     • If the printed line is wider than the screen width, Visual Basic goes
       to the next physical line and continues printing.
 
   ■ To print information from a record, use individual record element names
     in the PRINT statement. For example:
 
         TYPE MyType
              Word AS STRING * 20
              Count AS LONG
         END TYPE
         DIM Myrec AS MyType
         PRINT Myrec.Word
 
   ■ The printer output from the LPRINT statement will be the same as the
     screen output from a PRINT statement if both statements have the same
     expressionlist values and output-line width.
 
   ■ The LPRINT statement assumes an 80-character-wide printer. This width
     can be changed with a WIDTH statement. See: ◄WIDTH Statement►
 
   ■ If you use LPRINT with no arguments, a blank line is printed.
 
   ■ An LPRINT CHR$(13) statement outputs both CHR$(13) and CHR$(10).
 
   ■ Because the LPRINT statement uses the LPT1 printer device, do not use
     LPRINT in a program that also contains an OPEN "LPT1" statement. Using
     these two statements together produces unpredictable results.