# Line Draw Characters
> [HTML Version](linedrawcharacters.htm)
| | |
|------|------|
| **? TAB(-1,23);** | **\! enable alternate character set** |
| **? TAB(-1,code); ... TAB(-1,code);** | **\! output alternate character(s)** |
| **? TAB(-1,24);** | **\! return to normal character set** |
As shown in syntax lines above, line draw / alternate character mode must be enabled with [TCRT](terminology.htm.md#tcrt-in-terminology) code 23 prior to executing the following codes and, after using these codes, disabled with [TCRT](terminology.htm.md#tcrt-in-terminology) code 24.
| **Code** | **Action** | **** | **Code** | **Action** |
|------|------|------|------|------|
| 38 | Top left corner | | 46 | Horizontal line |
| 39 | Top right corner | | 47 | Vertical line |
| 40 | Bottom left corner | | 48 | Intersection |
| 41 | Bottom right corner | | 49 | Solid block |
| 42 | Top intersection | | 50 | Cross-hatch block |
| 43 | Right intersection | | 51 | Slanted cross-hatch block |
| 44 | Left intersection | | 52 | Double horizontal line\* |
| 45 | Bottom intersection | | 53 | Double vertical line\* |
\* Note that double lines are only supported when using the OEM character set; the more typical ANSI character set doesn't support them.
**Example**
\! draw a box from srow,scol to erow,ecol
? tab(-1,23); \! enable alternate character set
? tab(srow,scol); tab(-1,38); \! top left corner
? tab(srow,ecol); tab(-1,39); \! top right corner
? tab(erow,scol); tab(-1,40); \! bottom left corner
? tab(erow,ecol); tab(-1,41); \! bottom right corner
for c = scol+1 to ecol-1
? tab(srow,c);tab(-1,46); \! top line
? tab(erow,c);tab(-1,46); \! bottom line
next c
for r = srow+1 to erow-1
? tab(r,scol);tab(-1,47); \! left side
? tab(r,ecol);tab(-1,47); \! right side
next r
? tab(-1,24); \! back to normal character set
**See Also**
• [MSBOXX](msboxxsbr.htm.md)