The crt-device command forces BASIC and FlashBASIC to use the CRT terminal device instead of the printer device for the @ functions with the printer in the ON state.
crt-device {([n\|f]}
on | If the crt-device state is ON (1378), then the terminal device is used for @ functions. | |
off | If the crt-device state
is OFF (1379), then:
|
If no option is provided, the current state is returned.
Example 1
For this example, the current state is set to use the device for @ functions based on the value of the BASIC printer statement:
:crt-device [1379] @ functions use device based on printer state.
This example sets up a printer device to use:
:assignfq 0,hp-lzrii Assigned form queue device 0, HP-LZRII
This example sets the form queue and uses options to show the settings:
:sp-assign 0hs? Line# Status Copies Form# Device 0 hs 0 0 hp-lzrii
The following example shows that @(-13) is set to the ESC character, followed by an open parenthesis (, a lowercase s, the number 3, and an uppercase B:
:list dm,devices, hp-lzrii a19 Page 1 dm,devices, dm,devices, a19.............. hp-lzrii d,[,c'(s3B',< -13 bf on [405] 1 items listed out of 1 items.
The following example shows the terminal device for the line set to vt100:
:term terminal name: vt100 product name: VT100 terminal width: 132 printer width: 80 depth: 64 depth: 59 lineskip: 0 lf delay: 1 ff delay: 1 back space: 8
The following example shows that the value is set to the ESC character, followed by an open square bracket [, the number 7, and a lowercase m.
:list dm,devices, vt100 a18 Page 1 dm,devices, dm,devices, a18.............. vt100 D,X'1B',C'[7m',< -13 BF ON [405] 1 items listed out of 1 items.
:tstcursor Terminal code .[7m 27 91 55 109 Printer code .(s3B 27 40 115 51 66
The terminal code is ESC [ 7 m.
The printer code is ESC ( s 3 B.
Example 2
For this example, the r83 backward compatible option is used:
:crt-device (n [1378] @ functions always use terminal device.
In this example, only the terminal device codes will be used. The printer and terminal codes are the same and match that of the vt100 device item.
:tstcursor Terminal code .[7m 27 91 55 109 Printer code .[7m 27 91 55 109
The following example shows the test code:
tstcursor 001 printer off; * turn the printer off to force using the terminal device 002 term_minus13 = @(-13) 003 printer on; * turn on the printer to maybe use the printer device 004 prt_minus13 = @(-13) 005 * 006 st = term_minus13 007 crt "Terminal code " 008 gosub showit; * go show what the terminal device codes are 009 * 010 st = prt_minus13 011 crt "Printer code " 012 gosub showit; * go show what the printer device codes are 013 * 014 stop 015 * 016 showit: * 017 crt oconv(st,'mcp'); * output the string as is but no control characters 018 l = len(st) 019 for x = 1 to l 020 crt seq(st[x,1]):" ": ;* show each character as it's decimal ASCII value 021 next x 022 crt 023 return