mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-31 05:20:17 +00:00
84 lines
3.8 KiB
Text
84 lines
3.8 KiB
Text
|
The '''PRINT USING''' statement is used to [[PRINT]] formatted data to the Screen or a file using a [[STRING]] template.
|
||
|
|
||
|
|
||
|
{{PageSyntax}}
|
||
|
:: '''PRINT''' [''text$''{;|,}] '''USING ''template$''; ''variable'''''[; ...][{;|,}]
|
||
|
|
||
|
|
||
|
{{Parameters}}
|
||
|
* Literal or variable [[STRING]] ''text$'' can be placed between PRINT and USING or it can be included in the ''template''.
|
||
|
* A [[semicolon]] or [[comma]] may follow the ''text'' to stop or tab the print cursor before the ''template'' [[PRINT]].
|
||
|
* The literal or variable [[STRING]] ''template'' should use the template symbols to display each variable [[type]] in the list following it.
|
||
|
* The list of data ''variables'' used in the ''template'' are '''separated by semicolons''' after the template string value.
|
||
|
* A [[semicolon]] or [[comma]] may follow the variable list to stop or tab the print cursor for pending prints.
|
||
|
|
||
|
|
||
|
''Usage:''
|
||
|
* The ''variables'' should be listed in the order that they are used in the template from left to right.
|
||
|
* '''If the ''template'' string is omitted or symbols don't match the ''variable(s)'' an "Illegal Function Call" [[ERROR Codes|ERROR]] will occur!'''
|
||
|
* No more than 25 # digit places are allowed in a template number or an [[ERROR Codes|error]] will occur.
|
||
|
* Can convert numerical exponential or [[scientific notation]] values to normal decimal point values using less digits.
|
||
|
* '''NOTE:''' If the numerical value exceeds the template's digit range a % symbol will appear in the leftmost digit area.
|
||
|
|
||
|
|
||
|
{{PrintUsing}}
|
||
|
|
||
|
|
||
|
''Example 1:'' Printing formatted data using a predefined [[STRING|string]] template variable.
|
||
|
{{CodeStart}} '' ''
|
||
|
first$ = "Bobby": last$ = "Smith"
|
||
|
boxes% = 1510: sales! = 4530
|
||
|
tmp$ = "Salesperson: & & #####,. $$#####,.##"
|
||
|
|
||
|
{{Cl|PRINT USING}} tmp$; first$; last$; boxes%; sales!
|
||
|
{{CodeEnd}} '' ''
|
||
|
{{OutputStart}}Salesperson: Bobby Smith 1,510 $4,530.00
|
||
|
{{OutputEnd}}
|
||
|
''Explanation:'' The ''Salesperson:'' text precedes the formatted data. The name lengths will change the length of the string template accordingly so columns will not all line up. If \ \ was used, the columns would stay the same, but parts of some names might be lost. If the box or sales values exceed 3 digits, a comma is used in the value every 3 digits.
|
||
|
|
||
|
|
||
|
''Example 2:'' How to display formatting symbols as normal text using underscores in a PRINT USING template.
|
||
|
{{CodeStart}} '' ''
|
||
|
errcode = 35
|
||
|
{{Cl|PRINT USING}} "Error ## occurred!!"; errcode
|
||
|
'now there are the !! at the end of the printed string
|
||
|
{{Cl|PRINT USING}} "Error ## occurred_!_!"; errcode
|
||
|
{{Cl|END}} ''
|
||
|
{{CodeEnd}}
|
||
|
{{OutputStart}}Error 35 occurred
|
||
|
Error 35 occurred!!
|
||
|
{{OutputEnd}}
|
||
|
: ''Explanation:'' The first template will not print the exclamation points or error when the requested text parameters are omitted.
|
||
|
|
||
|
|
||
|
''Example 3:'' Exponential notation is designated after the leading digits are formatted. Digit places determine rounded value displayed.
|
||
|
{{CodeStart}}
|
||
|
{{Cl|PRINT USING}} "##.##^^^^"; 234.56
|
||
|
{{Cl|PRINT USING}} ".####^^^^-"; -777777
|
||
|
{{Cl|PRINT USING}} "+.##^^^^"; 123
|
||
|
{{Cl|PRINT USING}} "+.##^^^^^"; 123 '' ''
|
||
|
{{CodeEnd}}
|
||
|
{{OutputStart}} 2.35E+02
|
||
|
.7778E+06-
|
||
|
+.12E+03
|
||
|
+.12E+003
|
||
|
{{OutputEnd}}
|
||
|
: ''Explanation:'' Note how 5 carets in the bottom format expands the number of exponent digits to accommodate larger exponent values.
|
||
|
|
||
|
|
||
|
''Example 4:'' USING does not necessarily have to immediately follow PRINT, but it must follow it in the code line.
|
||
|
{{CodeStart}} '' ''
|
||
|
money = 12345.45
|
||
|
tmp$ = "$$#######,.##"
|
||
|
|
||
|
{{Cl|PRINT}} "I have this much money!"; {{Cl|PRINT USING|USING}} tmp$; money '' ''
|
||
|
{{CodeEnd}}
|
||
|
: ''Note:'' This can also be used to print the USING formatting characters outside of the template.
|
||
|
|
||
|
|
||
|
''See also:''
|
||
|
* [[PRINT]], [[PRINT USING (file statement)|PRINT #, USING]]
|
||
|
* [[LPRINT]], [[LPRINT USING]]
|
||
|
|
||
|
|
||
|
{{PageNavigation}}
|