Difference between revisions of "RIGHT$"

From QB64 Wiki
Jump to navigation Jump to search
imported>Clippy
m
m (Text replacement - "{{Parameters}}" to "{{PageParameters}}")
 
(4 intermediate revisions by one other user not shown)
Line 4: Line 4:


{{PageSyntax}}
{{PageSyntax}}
:: RIGHT$(stringvalue$, numberofcharacters%)
:: '''RIGHT$('''''stringvalue$, numberofcharacters%''''')'''




* The string value can be any string of [[ASCII]] characters as a string variable.
{{PageParameters}}
* 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.
 
 
{{PageDescription}}
* If the number of characters exceeds the string length([[LEN]]) the entire string is returned.
* If the number of characters exceeds the string length([[LEN]]) the entire string is returned.
* Number of characters cannot be a negative value.
* RIGHT$ returns always start at the last character of the string, even if a space. [[RTRIM$]] can remove ending spaces.
* 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:'' Getting the right portion of a string value such as a person's last name.  
''Example 1:'' Getting the right portion of a string value such as a person's last name.  
{{CodeStart}} '' ''
{{CodeStart}} '' ''
name$ = "Tom Williams"
name$ = "Tom Williams"
Line 21: Line 26:
{{Cl|PRINT}} Last$ '' ''
{{Cl|PRINT}} Last$ '' ''
{{CodeEnd}}
{{CodeEnd}}
{{OutputStart}}
{{OutputStart}}Williams {{OutputEnd}}
Williams
{{OutputEnd}}




Line 38: Line 41:
{{Cl|SUB}} Color32 (R, G, B)
{{Cl|SUB}} Color32 (R, G, B)
R = R {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF: G = G {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF: B = B {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF '    limit values to 0 to 255
R = R {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF: G = G {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF: B = B {{Cl|AND (boolean)|AND}} {{Cl|&H}}FF '    limit values to 0 to 255
{{Cl|COLOR}} {{Cl|VAL}}("{{Cl|&H}}FF" + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(R), 2) + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(G), 2) + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(B), 2))
hexadecimal$ = "{{Cl|&H}}FF" + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(R), 2) + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(G), 2) + {{Cl|RIGHT$}}("0" + {{Cl|HEX$}}(B), 2)
{{Cl|PRINT}} hexadecimal$
{{Cl|COLOR}} {{Cl|VAL}}(hexadecimal$)
{{Cl|END SUB}} '' ''
{{Cl|END SUB}} '' ''
{{CodeEnd}}
{{CodeEnd}}
{{OutputStart}}'''{{text|&HFFFF0080|white}}'''
'''{{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.



Latest revision as of 12:40, 17 February 2021

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:
Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page