mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 11:25:08 +00:00
73 lines
1.9 KiB
Markdown
73 lines
1.9 KiB
Markdown
|
The **RIGHT$** function returns a set number of characters in a [STRING](STRING) variable starting from the end and counting backwards.
|
||
|
|
||
|
## Syntax
|
||
|
|
||
|
> **RIGHT$(***stringvalue$, numberofcharacters%***)**
|
||
|
|
||
|
## Parameter(s)
|
||
|
|
||
|
* The *stringvalue$* can be any string of [ASCII](ASCII) characters as a [STRING](STRING) variable.
|
||
|
* The *numberofcharacters* [INTEGER](INTEGER) value determines the number of characters to return from the right end of the string.
|
||
|
|
||
|
## Description
|
||
|
|
||
|
* If the number of characters exceeds the string length([LEN](LEN)) the entire string is returned.
|
||
|
* RIGHT$ returns always start at the last character of the string, even if a space. [RTRIM$](RTRIM$) can remove ending spaces.
|
||
|
* **Number of characters cannot be a negative value.**
|
||
|
|
||
|
## Example(s)
|
||
|
|
||
|
Getting the right portion of a string value such as a person's last name.
|
||
|
|
||
|
```vb
|
||
|
|
||
|
name$ = "Tom Williams"
|
||
|
|
||
|
Last$ = RIGHT$(name$, LEN(name$) - INSTR(name$, " ")) 'subtract space position from string length
|
||
|
|
||
|
PRINT Last$
|
||
|
|
||
|
```
|
||
|
|
||
|
```text
|
||
|
|
||
|
Williams
|
||
|
|
||
|
```
|
||
|
|
||
|
Adding the leading zero in single digit [HEX$](HEX$) values using RIGHT to take the right two hexadecimal string digits.
|
||
|
|
||
|
```vb
|
||
|
|
||
|
SCREEN _NEWIMAGE(640, 480, 32) '32 bit screen modes ONLY!
|
||
|
red = 255
|
||
|
green = 0
|
||
|
blue = 128
|
||
|
|
||
|
Color32 red, green, blue
|
||
|
PRINT "Colored text"
|
||
|
|
||
|
SUB Color32 (R, G, B)
|
||
|
R = R AND &HFF: G = G AND &HFF: B = B AND &HFF ' limit values to 0 to 255
|
||
|
hexadecimal$ = "&HFF" + RIGHT$("0" + HEX$(R), 2) + RIGHT$("0" + HEX$(G), 2) + RIGHT$("0" + HEX$(B), 2)
|
||
|
PRINT hexadecimal$
|
||
|
COLOR VAL(hexadecimal$)
|
||
|
END SUB
|
||
|
|
||
|
```
|
||
|
|
||
|
```text
|
||
|
|
||
|
**&HFFFF0080**
|
||
|
**Colored text**
|
||
|
|
||
|
```
|
||
|
|
||
|
> *Note:* When a single hexadecimal digit is returned the resulting value will need the leading zero added. Otherwise the hexa- decimal value created will have a byte missing from the value. EX: Color &HFF000000 is valid while &HFF000 is not.
|
||
|
|
||
|
## See Also
|
||
|
|
||
|
* [LEFT$](LEFT$), [MID$](MID$)
|
||
|
* [LTRIM$](LTRIM$), [RTRIM$](RTRIM$)
|
||
|
* [INSTR](INSTR), [HEX$](HEX$)
|