CONTROLCHR: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
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}}
Line 40: Line 40:


{{PageSeeAlso}}
{{PageSeeAlso}}
* [https://qb64phoenix.com/forum/showthread.php?tid=1260 Featured in our "Keyword of the Day" series]
* [[_CONTROLCHR (function)]]
* [[_CONTROLCHR (function)]]
* [[CHR$]], [[ASC (function)]]
* [[CHR$]], [[ASC (function)]]

Latest revision as of 17:50, 25 May 2024

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