From QB64 Wiki
Revision as of 15:16, 14 November 2010 by imported>Clippy
Jump to navigation Jump to search

The PRINT statement prints numeric or string expressions to the screen.


PRINT [ [expression1] [;|,|+] [expression2]... ]


  • expression is a numeric or string expression to be printed.
    • SPACE$(n%) or SPC(n%) - specifies that n% space characters will be printed.
    • TAB(column%) - specifies that the print cursor is to move to column number column%. If the print cursor is beyond that column, it is moved to that column on the next row.
  • A separator is used to separate multiple expressions and specifies how the print cursor is to be moved before printing the next expression. It can be one of the following:
    • Semicolon(;) - specifies that the print cursor stops at the end of text.
    • Comma(,) - specifies that the print cursor is to move to the next 14-column tab-stop. If the print cursor is at column 56 or greater, it is moved to the next row at column 1.
    • Plus(+) uses concatenation to add STRING expressions ONLY with no spacing. Cannot combine numerical expressions!
  • If a separator is not used at the end of the expression list, the print cursor moves to the next row at column 1.
  • When printing numeric expressions, the following rules are used:
    • If the value is positive, the number is prefixed with a space character, otherwise, the number is prefixed with a negative sign (-).
    • If the value is an integer (whole number), no decimal point or fractional part will be printed.
    • If the value is not an integer (whole number) and has zero for a coefficient, no leading zero is printed. For example, -0.123 is printed as "-.123 "
    • If the expression is in scientific notation, the number is also printed in scientific notation.
    • The number is printed with a space after it unless STR$(number) is used to convert it to string text.
    • Numerical values MUST be added to a PRINT statement string using commas or semicolons on each side of the value or by using STR$ to convert the value to a string to use string concatenation (+ string addition).
  • VIEW PRINT can set up a viewport area for PRINTs. Text printed on the bottom view port row will scroll the text upward.
  • Text to be printed can be a STRING variable or a literal value inside of quotation marks.
  • A semicolon at the PRINT string end stops the print cursor immediately for the next PRINT to be appended.
  • Use semicolon ends on bottom 2 rows of the SCREEN mode used or the PRINT will roll the screen up.
  • Commas TAB the print cursor for next data. You can use more than one comma consecutively.(See WRITE)
  • Quotes cannot be inside of a literal STRING! Use CHR$(34) to insert quotation marks inside of a literal string.
  • To better format number and text data placement use PRINT USING.
  • Instead of typing PRINT you can just type a question mark (?). It will change to PRINT when enter is pressed in the IDE.
  • Use the _PRINTMODE statement before a print to deal with the text background in QB64:
  • 1 _KEEPBACKGROUND: Text background transparent. Only the text is displayed over anything behind it.
  • 2 _ONLYBACKGROUND: Text background is only displayed. Text is transparent to anything behind it.
  • 3 _FILLBACKGROUND: Text and background block anything behind them. Default setting.


Using semicolons, comma tabs or concatenation to insert numbers in a PRINT string:

PRINT CHR$(34); "Hello world!"; CHR$(34) ' adding quotation marks PRINT 123 'demonstrates the positive leading space a$ = "Hello country!": a = 321: b = -321 PRINT a$, a ' demonstrates comma in statement PRINT a$; a ' demonstrates semicolon in statement PRINT a$ + STR$(b) ' concatenation of string numerical values only ? "Hello city!" ' a ? changes to PRINT after moving cursor from the code line in IDE

"Hello world!" 123 Hello country! 321 Hello country! 321 Hello country!-321 Hello city!

First PRINT prints the text between two quotation marks, then it prints the value 123, notice that there are no quotation marks when printing the value, quotation marks mean that it will be treated like a literal string of text.
a$ is set to "Hello country" and 'a' is set to the value 321, the dollar sign is used when a variable holds the text string. The contents of a$ is then printed and the "," means that the value of 'a' is printed separated by a tab and ";" means that there is no separation from the other text except for the leading positive value space.

See also

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page