RIGHT$: 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 45: Line 45:
{{Cl|END SUB}}
{{Cl|END SUB}}
{{CodeEnd}}
{{CodeEnd}}
{{OutputStart}}'''{{text|&HFFFF0080|white}}'''
{{OutputStart}}'''{{Text|&HFFFF0080|white}}'''
'''{{text|Colored text|#FF0080}}'''{{OutputEnd}}
'''{{Text|Colored text|#FF0080}}'''{{OutputEnd}}
: ''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.
: ''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.




{{PageSeeAlso}}
{{PageSeeAlso}}
* [[LEFT$]], [[MID$]]
* [[LEFT$]], [[MID$ (function)]]
* [[LTRIM$]], [[RTRIM$]]
* [[LTRIM$]], [[RTRIM$]]
* [[INSTR]], [[HEX$]]
* [[INSTR]], [[HEX$]]

Latest revision as of 00:43, 26 February 2023

The RIGHT$ function returns a set number of characters in a STRING variable starting from the end and counting backwards.


Syntax

RIGHT$(stringvalue$, numberofcharacters%)


Parameters

  • The stringvalue$ can be any string of ASCII characters as a STRING variable.
  • The numberofcharacters 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) the entire string is returned.
  • RIGHT$ returns always start at the last character of the string, even if a space. RTRIM$ can remove ending spaces.
  • Number of characters cannot be a negative value.


Example 1: Getting the right portion of a string value such as a person's last name.

name$ = "Tom Williams"

Last$ = RIGHT$(name$, LEN(name$) - INSTR(name$, " ")) 'subtract space position from string length

PRINT Last$
Williams 


Example 2: Adding the leading zero in single digit HEX$ values using RIGHT to take the right two hexadecimal string digits.

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
&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



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage