CONTROLCHR: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:
{{CodeStart}}
{{CodeStart}}
{{Cl|DIM}} i {{Cl|AS}} {{Cl|_UNSIGNED}} {{Cl|_BYTE}}
{{Cl|DIM}} i {{Cl|AS}} {{Cl|_UNSIGNED}} {{Cl|_BYTE}}
{{Cl|WIDTH}} 40, 25
{{Cl|WIDTH}} {{Text|40|#F580B1}}, {{Text|25|#F580B1}}
{{Cl|CLS}}
{{Cl|CLS}}
{{Cl|_CONTROLCHR}} OFF
{{Cl|_CONTROLCHR}} {{Cl|OFF}}
i = 0
i = {{Text|0|#F580B1}}
DO
{{Cl|DO}}
{{Cl|PRINT}} {{Cl|CHR$}}(i);
    {{Cl|PRINT}} {{Cl|CHR$}}(i);
i = i + 1
    i = i + {{Text|1|#F580B1}}
{{Cl|IF...THEN|IF}} (i {{Cl|AND (boolean)|AND}} {{Cl|&H}}F) = 0 {{Cl|THEN}} {{Cl|PRINT}}
    {{Cl|IF}} (i {{Cl|AND (boolean)|AND}} {{Text|&HF|#F580B1}}) = {{Text|0|#F580B1}} {{Cl|THEN}} {{Cl|PRINT}}
{{Cl|LOOP}} {{Cl|WHILE}} i
{{Cl|DO...LOOP|LOOP WHILE}} i
{{Cl|LOCATE}} 1, 20
{{Cl|LOCATE}} {{Text|1|#F580B1}}, {{Text|20|#F580B1}}
DO
{{Cl|DO}}
{{Cl|COLOR}} i {{Cl|AND (boolean)|AND}} {{Cl|&H}}F {{Cl|OR (boolean)|OR}} (i {{Cl|AND (boolean)|AND}} {{Cl|&H}}80) \ {{Cl|&H}}8, (i {{Cl|AND (boolean)|AND}} {{Cl|&H}}70) \ {{Cl|&H}}10
    {{Cl|COLOR}} i {{Cl|AND}} {{Text|&HF|#F580B1}} {{Cl|OR}} (i {{Cl|AND}} {{Text|&H80|#F580B1}}) \ {{Text|&H8|#F580B1}}, (i {{Cl|AND}} {{Text|&H70|#F580B1}}) \ {{Text|&H10|#F580B1}}
{{Cl|PRINT}} {{Cl|CHR$}}(i);
    {{Cl|PRINT}} {{Cl|CHR$}}(i);
i = i + 1
    i = i + {{Text|1|#F580B1}}
{{Cl|IF...THEN|IF}} (i {{Cl|AND (boolean)|AND}} {{Cl|&H}}F) = 0 {{Cl|THEN}} {{Cl|LOCATE}} 1 + i \ {{Cl|&H}}10, 20
    {{Cl|IF}} (i {{Cl|AND (boolean)|AND}} {{Text|&HF|#F580B1}}) = {{Text|0|#F580B1}} {{Cl|THEN}} {{Cl|LOCATE}} {{Text|1|#F580B1}} + i \ {{Text|&H10|#F580B1}}, {{Text|20|#F580B1}}
{{Cl|LOOP}} {{Cl|WHILE}} i
{{Cl|DO...LOOP|LOOP WHILE}} i
{{Cl|END}}
{{Cl|END}}
{{CodeEnd}}
{{CodeEnd}}

Revision as of 17:04, 21 March 2023

The _CONTROLCHR statement can be used to turn OFF control character attributes and allow them to be printed.


Syntax

_CONTROLCHR {OFF|ON}


Description

  • The OFF clause allows control characters 0 to 31 to be printed and not format printing as normal text characters.
For example: PRINT CHR$(13) 'will not move the cursor to the next line and PRINT CHR$(9) 'will not tab.
  • The default ON statement allows Control Characters to be used as control commands where some will not print or will format prints.
  • Note: File prints may be affected also when using Carriage Return or Line Feed/Form Feed formatting.
  • The QB64 IDE may allow Alt + number pad character entries, but they must be inside of STRING values. Otherwise the IDE may not recognize them.


Examples

Example: Printing the 255 ASCII characters in SCREEN 0 with 32 colors.

DIM i AS _UNSIGNED _BYTE
WIDTH 40, 25
CLS
_CONTROLCHR OFF
i = 0
DO
    PRINT CHR$(i);
    i = i + 1
    IF (i AND &HF) = 0 THEN PRINT
LOOP WHILE i
LOCATE 1, 20
DO
    COLOR i AND &HF OR (i AND &H80) \ &H8, (i AND &H70) \ &H10
    PRINT CHR$(i);
    i = i + 1
    IF (i AND &HF) = 0 THEN LOCATE 1 + i \ &H10, 20
LOOP WHILE i
END


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link