CVS

PURPOSE:
String Conversion

TYPE: STRING
FUNCTION SYNTAX:
CVS(str expr,int{,str expr,str expr})
The int value defines bits that specify the conversion (multiple conversion may be specified):

VALUEDEFINECONVERSION
1#cvs_strip_leadingStrip Leading Characters
2#cvs_strip_trailingStrip Trailing Characters
4#cvs_to_upperConvert Lowercase to Uppercase
8#cvs_to_lowerConvert Uppercase to Lowercase
16#cvs_make_printableConvert Non-printable to Blank
32#cvs_spaces_to_spaceConvert Multiple characters to a single character
64#cvs_comma_decimalReplace ',' and '.' with SETOPTS bytes 5 and 6
65536#cvs_rev_string Reverse Bytes of a string
131072#cvs_replace_subReplace one (sub)string by another
EXAMPLES:
	To strip BOTH leading and trailing blanks
	CVS(STRING$,#cvs_strip_leading+#cvs_strip_trailing)

0010 REM "Using CVS"
0020 BEGIN 
0030 LET A$=CVS("    abc",1)
0040 PRINT "[",A$,"] ",HTA(A$)
0050 LET A$=CVS("____abc",1,"_")
0060 PRINT "[",A$,"] ",HTA(A$)
0070 LET A$=CVS("abc    ",2)
0080 PRINT "[",A$,"] ",HTA(A$)
0090 LET A$=CVS("abc____",2,"_")
0100 PRINT "[",A$,"] ",HTA(A$)
0110 LET A$=CVS("abc",4)
0120 PRINT "[",A$,"] ",HTA(A$)
0130 LET A$=CVS("ABC",8)
0140 PRINT "[",A$,"] ",HTA(A$)
0150 LET A$=CVS($0102FF$+"abc",16)
0160 PRINT "[",A$,"] ",HTA(A$)
0170 LET A$=CVS("   abc   ",32)
0180 PRINT "[",A$,"] ",HTA(A$)
0190 LET O$=OPTS;LET O1$=O$(1,4)+"/#";LET O1$(3,1)=IOR(O1$(3,1),$02$);SETOPTS O1$
0200 LET A$=CVS("123,456,789.00",64)
0210 PRINT "[",A$,"] ",HTA(A$)
0220 SETOPTS O$
0230 LET A$=CVS("abc",65536)
0240 PRINT "[",A$,"] ",HTA(A$)
0250 LET A$=CVS("zzzzabcxxxx",131072,"abc","yyyy")
0260 PRINT "[",A$,"] ",HTA(A$)
9999 END 

RUN
[abc] 616263
[abc] 616263
[abc] 616263
[abc] 616263
[ABC] 414243
[abc] 616263
[   abc] 202020616263
[ abc ] 2061626320
[123/456/789#00] 3132332F3435362F373839233030
[cba] 636261
[zzzzyyyyxxxx] 7A7A7A7A7979797978787878